Final Burn Neo > FBN Discussion

Problems with the option "Record Input"

<< < (2/6) > >>

dink:
Barbudredmon, thanks for the info - that error will only happen if a state is taken during a dma transfer (during cd load - they're very short bursts, so its hard to get a state in that mode), I just made provisions to prevent a problem from happening in that case, though. :)  I have to test it later today before commiting - though.

The ZetTotalCycles warning is not a problem, by any means, and can be ignored :)

best regards,
- dink

Neildark:
Hello, Dink.

All the recordings I make are always from a specific point, in Neo Geo just when the Neo-Geo logo appears (so as not to record the green static images of the beginning), and with Neo Geo CD the three times I tried to record , I've done it on the title screen (when it gives you a choice between Game Start Demo Game How To Play). I have also tried saving Save States at the beginning of the round and never doing it during the loading screen.
I just did a test with another game (The King of fighers 94) and the same thing happens, I've started recording from the title screen, and the recording has been desynchronized to the minute.
I hope you find the problem. Thanks for everything and sorry for my bad English.

dink:
barbudreadmon, Please try again w/latest git


--- Quote from: barbudreadmon on June 17, 2019, 05:01:56 AM ---@dink there might be some weirdness with ngcd's savestates, that's what i get when turning on readahead and starting a game (FF Special) in the libretro port :

--- Code: ---[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
[libretro ERROR] ZetTotalCycles called when no CPU open
AddressSanitizer:DEADLYSIGNAL
=================================================================
==28073==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fbebec9213f bp 0x000000000000 sp 0x7ffe29a9f670 T0)
==28073==The signal is caused by a READ memory access.
==28073==Hint: address points to the zero page.
    #0 0x7fbebec9213e in NeoUpdateSprites(int, int) ../../burn/drv/neogeo/neo_sprite.cpp:128
    #1 0x7fbebeb94280 in NeoScan(int, int*) ../../burn/drv/neogeo/neo_run.cpp:1574
    #2 0x7fbebe308b33 in BurnAreaScan ../../burn/burn.cpp:879
    #3 0x7fbebfbd49f9 in retro_unserialize ../../burner/libretro/libretro.cpp:988
    #4 0x563ef83cf8f7  (/usr/bin/retroarch+0xd88f7)
    #5 0x563ef835d0f1  (/usr/bin/retroarch+0x660f1)
    #6 0x563ef83569ff  (/usr/bin/retroarch+0x5f9ff)
    #7 0x7fbecbbe6efa in __libc_start_main (/lib64/libc.so.6+0x23efa)
    #8 0x563ef8353959  (/usr/bin/retroarch+0x5c959)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../../burn/drv/neogeo/neo_sprite.cpp:128 in NeoUpdateSprites(int, int)
==28073==ABORTING

--- End code ---

--- End quote ---

dink:
Neildark, thanks for the info, I will hopefully have a fix soon!

barbudreadmon:
@dink the first crash disappeared, now it's crashing at the end of the ngcd bios :

--- Code: ---AddressSanitizer:DEADLYSIGNAL
=================================================================
==24657==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f5e34f0d0e8 bp 0x000000000096 sp 0x7ffda9738e00 T0)
==24657==The signal is caused by a READ memory access.
==24657==Hint: address points to the zero page.
    #0 0x7f5e34f0d0e7 in _IO_ftell (/lib64/libc.so.6+0x740e7)
    #1 0x7f5e28ee4d96 in cdimgLoadSector ../../burner/libretro/retro_cdemu.cpp:661
    #2 0x7f5e28ee4d96 in CDEmuLoadSector(int, char*) ../../burner/libretro/retro_cdemu.cpp:1053
    #3 0x7f5e27e8870e in NeoCDReadSector ../../burn/drv/neogeo/neo_run.cpp:3147
    #4 0x7f5e27e8870e in NeoSekRun ../../burn/drv/neogeo/neo_run.cpp:4486
    #5 0x7f5e27e98583 in NeoFrame() ../../burn/drv/neogeo/neo_run.cpp:4893
    #6 0x7f5e27608479 in BurnDrvFrame ../../burn/burn.cpp:746
    #7 0x7f5e28ed3b18 in ForceFrameStep ../../burner/libretro/libretro.cpp:452
    #8 0x7f5e28ed5f49 in retro_run ../../burner/libretro/libretro.cpp:864
    #9 0x55cc3c9adc98  (/usr/bin/retroarch+0x60c98)
    #10 0x55cc3ca2578e  (/usr/bin/retroarch+0xd878e)
    #11 0x55cc3c9b30f1  (/usr/bin/retroarch+0x660f1)
    #12 0x55cc3c9ac9ff  (/usr/bin/retroarch+0x5f9ff)
    #13 0x7f5e34ebcefa in __libc_start_main (/lib64/libc.so.6+0x23efa)
    #14 0x55cc3c9a9959  (/usr/bin/retroarch+0x5c959)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib64/libc.so.6+0x740e7) in _IO_ftell
==24657==ABORTING

--- End code ---

the libretro cdimgLoadSector function is almost a 1:1 copy of the one at src/intf/cd/win32/cd_img.cpp (the only diff is that i use fopen instead of _wfopen), it seems to be crashing on this line specifically :

--- Code: ---cdimgLBA = cdimgMSFToLBA(cdimgTOC->TrackData[0].Address) + (ftell(cdimgFile) + 2351) / 2352 - cd_pregap;

--- End code ---

Edit : this crash happens because cdimgFile is NULL

Edit2 : FWIW, i tried logging LBA & cdimgLBA values when the function is called :

--- Code: ---LBA : 164 - cdimgLBA : 1
LBA : 164 - cdimgLBA : 15
LBA : 164 - cdimgLBA : 1
LBA : 164 - cdimgLBA : 15
LBA : 15 - cdimgLBA : 15
LBA : 16 - cdimgLBA : 16
LBA : 17 - cdimgLBA : 17
LBA : 164 - cdimgLBA : 15
LBA : 15 - cdimgLBA : 15
LBA : 16 - cdimgLBA : 16
LBA : 17 - cdimgLBA : 17
LBA : 18 - cdimgLBA : 18
LBA : 19 - cdimgLBA : 19
LBA : 20 - cdimgLBA : 20
LBA : 168 - cdimgLBA : 21
LBA : 18 - cdimgLBA : 18

--- End code ---
Then the crash happens, the values doesn't seem to be game-dependent.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version