Skip to content

Patching roms changes a lot in the roms, triggers in-game crashes #8

@Asure

Description

@Asure

If i patch an existing rom set, with say a single .wav file that fits into existing rom space (let's say 4 roms ,U2 to U5), the U2 rom does not change as i would expect. All roms change.

My test case:
To add to an existing ROM i would have a Stream with a filename, and a track playing that stream.

Expected result:
I would expect that almost nothing changes in U2. (CRC and signature perhaps)
I would expect that the track pointer ends up at $4048+x3 track value(402). (=4C4E), it does.
I have double checked that there is free space at $4C4E in this rom set.

However, i see that the track pointers all have changed, and the positions of the samples in rom as well.
Rom U2 changes from $400A.

Is it possible to just keep the order as it was and dump the new additions into U6 which is free?

The reason for this is that we are adding a lot of samples to a rom, and every now and then we run into strange problems.
In-game, there is popping or garbles during playback, and sometimes a stream of static which causes a crash when testing the results with MAME.
It is very hard to debug the exact cause of the crash/pops/garbles because this game makes a whole load of sounds.
Changing parameters like bitrate and powercut solves it sometimes, but i'm thinking there could be samples that still trigger a crash, that just never get played. The game has hundreds of sound calls (NBA Hangtime) and it's nearly impossible to debug that.
Last time i fixed it by setting "type=0 subtype=0" but it just feels like a random fix, that i'm still not sure of.

DCSExplorer idents this version as:
Version: DCS audio board, Software 1.01 (1993)

Do you have any suggestions as to what could cause this, and if there's any way i can properly debug the cause of these crashes?
I guess a first step would be to find some way to reproduce & present a broken + original set of dcs roms right?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions