News:

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

Main Menu

Recent posts

#11
General Chat - ZSC / Re: 25th race winner of ZakStu...
Last post by alanrotoi - February 05, 2025, 05:27:18 PM
Until zct281 included...

  • 57 races (Seeker1982 225-today) April 2020 - today
  • 45 races (Friker 137-182 Marco) December 2012 September 2016 almost 4 years
  • 42 races (Duplode 94-136 SuperBrian) 3 years and a half
  • 21 races (dreadnaut 194-215 Overdrijf) almost 2 years
  • 20 races (Mark L. Rivers 74-94 Duplode) almost 2 years
#12
Stunts Reverse Engineering / Re: New mod: extended line of ...
Last post by HerrNove - February 05, 2025, 02:27:32 PM
I think I must give up for now. I managed to switch to 386 mode, create the new segment and put its offset in FS. The game builds but the graphics are horribly mangled, as if even the address of the video buffer had been corrupted. The game also records stray keyboard inputs. It's annoying because it's clear from the image that the 3D rendering algorithm is working, even after some of its data have been moved to the far segment, so it's really a case of some hidden offset that should be adjusted.

I tried to put the new segment before everything, between stack and data, just before endseg and after endseg. I also tried adding an empty segment to work as padding. None of these options worked.

The game appears to work if I only add new variables in the segment and only refer them from the C code. If this is really the case (I only tried with one 2-byte variable) it would at least allow me to produce new mods on top of SuperSight. But my original goal, to put the graphic data in the new segment and break free from the limit of 400 polygons, seems for now unattainable.

You cannot view this attachment.
#13
Stunts Chat / Re: Do we have a term for the ...
Last post by Chulk - February 05, 2025, 06:09:16 AM
I think we are mixing up two different things:
1- the simultaneity of the race (do all drivers race at the same time like a live race or do they race when they want during a longer span of time?)
2- the sending/posting of replays and results. Live races are submitted through some form of mailing (the forum), we don't get "live results"

So a "Live race" does not necessarily contradict a "correspondence race". Maybe we can get live results once @Erik Barros gets the lap counter up for broadcasting
#14
Chat - Misc / Re: Dissociation Game
Last post by Matei - February 04, 2025, 10:08:58 PM
Recommendations for DOS Reloaded:

"PC/DOS
[...]
Spectrum version 0.99F by Pedro Gimeno"

From https://worldofspectrum.net/emulators/, I think it's the fastest. If you want a racing game, BC R a c e r s is nice: https://www.dosgamesarchive.com/category/racing
#15
Chat - Misc / Re: Dissociation Game
Last post by Cas - February 04, 2025, 06:47:21 PM
#16
Stunts Reverse Engineering / Re: New mod: extended line of ...
Last post by llm - February 04, 2025, 11:34:53 AM
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

#17
Stunts Reverse Engineering / Re: New mod: extended line of ...
Last post by llm - February 04, 2025, 11:26:07 AM
Quote from: HerrNove on February 02, 2025, 03:07:42 PM
Quote from: llm on February 01, 2025, 03:10:00 PMproblem with IDA is: we used the commercial version of IDA in the beginning and everyone needs to have the same IDA version user with older or freeware versions are not able to open the IDA file

I am a beginner with Ghidra and not so willing to (pirate and) learn a different debugger, so I will be pragmatical: after I cleanup the code I will submit my labelings made with search-and-replace. This will put the .asms out of sync with the IDA database, but one can always adjust that at a later time.

Ghidras support for 16bit DOS segmen/offset stuff etc. is in a very early stage and often buggy

and i think there is no one on this forum who can currently change the IDB besides me :) - maybe dstien is around, clvn is not active for a long time
#18
Chat - Misc / Re: Dissociation Game
Last post by CTG - February 04, 2025, 06:05:08 AM
Verschiebungsstrom
#19
Stunts Reverse Engineering / Re: New mod: extended line of ...
Last post by HerrNove - February 04, 2025, 12:37:45 AM
So, here I have pushed my fixes for vanilla Restunts:

https://github.com/AlbertoMarnetto/restunts/tree/master/

I would have opened a CR in dreadnaut's repo, but dreadnaut seems busy and in his repo there is a 3-year-old CR still waiting to be merged, so I'll use my repo for the meanwhile. I'll be happy to transfer the project to Duplode's profile or some other active member's.

Anyway, I made various fixes to the master branch, fixing and improving the makefiles. They are still not perfect, e.g. the .asm dependencies do not include the .inc files, but the build process works.

https://github.com/AlbertoMarnetto/restunts/tree/master/

The branch includes meaningful labelings for many variables, and extensive commentary in the tile rendering routine:

https://github.com/AlbertoMarnetto/restunts/blob/master/src/restunts/c/frame.c

Moreover, I have cleaned up the SuperSight branch. Today's version adds correct processing for the illusion tiles (so that now the hidden elements appear only when the car is driving on them, like in the vanilla game) and minor fixes. Still unpublished since now that we have a working version I don't want to spam the forum with each minor patch, but feel free to build and try it.

https://github.com/AlbertoMarnetto/restunts/tree/supersight
#20
Stunts Chat / Re: Do we have a term for the ...
Last post by Duplode - February 03, 2025, 10:51:08 PM
Indeed -- "correspondence" feels very appropriate, @HerrNove ! There is a long evolutionary chain linking automated replay publishing in competitions like ZakStunts to the very earliest competitions ran through mailing lists: first, with the rise of the Web, competition managers began publishing laps sent by e-mail on websites; later on, Zak hooked the mailing directly into the site, and eventually e-mails were replaced by more convenient means. The replay posting page at ZakStunts is still called "mailer"  :)