Problems with L'affaire

Pagina 4/5
1 | 2 | 3 | | 5

Van Manuel

Ascended (18256)

afbeelding van Manuel

23-12-2013, 08:15

Thanks for that research.

We'll have to dive deeper into things. It seems we do not have a way to disable floppy timing at the moment.

Van mars2000you

Enlighted (6019)

afbeelding van mars2000you

23-12-2013, 12:36

Btw, is there a way to disable the internal DMK conversion ?

Van Manuel

Ascended (18256)

afbeelding van Manuel

23-12-2013, 13:44

There is no internal DMK conversion. There's just very accurate FDC emulation Smile

Anyway, Wouter found the issue and fixed it: https://sourceforge.net/p/openmsx/openmsx/ci/2d13bf46fe68353...

Testing right now...

Van wouter_

Champion (469)

afbeelding van wouter_

23-12-2013, 13:56

I found/fixed the problem:

l'Affaire issues a WD2793 'read track' command. Then (after some pause) it only reads 2304 bytes of the returned track data (full track is about 6250 bytes). On a real WD2793, this command stops after one disk revolution. The bug in openMSX was that the command only stopped when the CPU has read all the data. Older versions of openMSX (and blueMSX) don't implement this command at all (so it's as-if it stops immediately). Later on the software polls whether the WD2793 is ready to accept the next FDC command but, in case of the bug, this hangs.

I didn't check what l'Affaire is actually doing with the read track data. I *guess* it's part of a copy-protection? But then I'd also expect the game not to work with simple .dsk disk images (or on emulators without read-track support). It's of course possible the copy-protection on these disk images was cracked (e.g. read-track routine left in tact, but the routine that actually verifies the result modified). Would be interesting to test with an original disk.

Van wouter_

Champion (469)

afbeelding van wouter_

23-12-2013, 14:14

Manuel wrote:

There is no internal DMK conversion. There's just very accurate FDC emulation Smile

Actually ... we achieve this accurate emulation by _doing_ an internal conversion from DSK->DMK. However it's not a full DMK image. We only convert (on-demand) track-by-track and only to a format that's very close to DMK (e.g. without the DMK header information). So in a way mars200you and Manuel are both right ;-)

Anyway, we only have one implementation for the WD2793 emulation, and this implementation now requires the information in the sector headers. So in case of simple dsk disk images we have to re-construct that information. As a bonus this approach also results in accurate disk access timing when using .dsk images (instead of only when using .dmk images).

Van AxelF

Champion (389)

afbeelding van AxelF

23-12-2013, 15:01

Great job Wouter,

Now we only have to find a way to complete the game, and see if there is some sort of end demo ?

Thanks everyone.

Van Manuel

Ascended (18256)

afbeelding van Manuel

23-12-2013, 16:00

Anyway, thanks all for reporting the problem and helping to solve it!

About DMK: I meant that we emulate with a high accuracy and yes that data is only stored in DMK files, not in DSK files. I guess we convert to internal structures (that are in some way or another also present in a DMK file) to make this work. Anyway, thanks for explaning (and fixing!) Wouter Smile

Van Walter.MSX

Expert (72)

afbeelding van Walter.MSX

24-12-2013, 09:15

Excellent work wouter_ !
Thank you for this information, which relate to other games Infogrames.

Do not expect a fantastic end AxelF, it's just a fixed image.
(I have not seen the end of finishing the game "normally") Wink

Van TheKid

Paragon (1209)

afbeelding van TheKid

01-01-2014, 11:20

Now the bug is fixed, can there be a patch release or a 0.9.1.1 version of the openmsx.exe ?

Van Manuel

Ascended (18256)

afbeelding van Manuel

01-01-2014, 12:40

There will be a 0.10.0 very soon.... the fix is included.

If you want to try out a daily build, you can always check out http://openmsx.fixato.net/

Pagina 4/5
1 | 2 | 3 | | 5