Some clarification : when you want to load a non-arcade game in libretro-fbalpha, let's say superman on megadrive, you call "md_superman" from the command line, but the zip file is supposed to be called superman.zip, not md_superman.zip.
Your fix change this behavior (the zip file called will be md_superman.zip instead of superman.zip), i don't really mind, but i don't think that's how fba standalone works, even from the command line.
Btw thanks, while checking this issue i noticed some of the non-arcade stuff will crash at -O3 optimization, i'll have to spam dink again with sanitizer debug log
.
Edit : it seems only megadrive is affected, i'll post the debug log here, i'm not even sure debugging is needed if you are currently rewriting the megadrive driver
src/burn/drv/megadrive/megadrive.cpp:4266:68: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4266:66: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4266:51: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4266:49: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4266:34: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4266:32: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4266:17: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4268:47: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4268:18: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4269:47: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4269:18: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4270:47: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4270:18: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4271:47: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4271:18: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3976:10: runtime error: store to misaligned address 0x7f48d415a139 for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d415a139: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3977:10: runtime error: store to misaligned address 0x7f48d415a13d for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d415a13d: note: pointer points here
80 ff 40 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3984:7: runtime error: store to misaligned address 0x7f48d415a141 for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d415a141: note: pointer points here
00 00 88 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/cpu/m68000_intf.cpp:394:48: runtime error: load of misaligned address 0x7f48d34e22aa for type 'UINT32', which requires 4 byte alignment
0x7f48d34e22aa: note: pointer points here
ff 3f 00 01 a0 00 00 00 a1 00 00 11 a1 00 00 12 c0 00 00 00 c0 00 04 00 14 04 3c 30 6c 07 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4347:25: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4347:26: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4348:25: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4348:26: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4189:14: runtime error: store to misaligned address 0x7f48d4127ea5 for type 'UINT16', which requires 2 byte alignment
0x7f48d4127ea5: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4347:57: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1b 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4348:57: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1b 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4206:22: runtime error: load of misaligned address 0x7f48d4127ea5 for type 'UINT16', which requires 2 byte alignment
0x7f48d4127ea5: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/cpu/m68000_intf.cpp:457:39: runtime error: store to misaligned address 0x7f48d40ee0ca for type 'UINT32', which requires 4 byte alignment
0x7f48d40ee0ca: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3384:10: runtime error: store to misaligned address 0x7f48d4159f4d for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d4159f4d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3976:10: runtime error: store to misaligned address 0x7f48d415a139 for type 'INT32', which requires 4 byte alignment
0x7f48d415a139: note: pointer points here
00 00 00 00 80 ff 40 11 00 00 88 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3977:10: runtime error: store to misaligned address 0x7f48d415a13d for type 'INT32', which requires 4 byte alignment
0x7f48d415a13d: note: pointer points here
80 ff 40 11 00 00 88 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3984:7: runtime error: store to misaligned address 0x7f48d415a141 for type 'INT32', which requires 4 byte alignment
0x7f48d415a141: note: pointer points here
00 00 88 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4141:17: runtime error: load of misaligned address 0x7f48d4159f4d for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d4159f4d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:4149:18: runtime error: load of misaligned address 0x7f48d4159ea5 for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d4159ea5: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1159:23: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1092:23: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1096:37: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1161:24: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1161:28: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1164:23: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1092:23: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1096:37: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1166:24: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:1166:28: runtime error: member access within misaligned address 0x7f48d415a50d for type 'struct MegadriveJoyPad', which requires 2 byte alignment
0x7f48d415a50d: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3364:14: runtime error: store to misaligned address 0x7f48d4159ea5 for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d4159ea5: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
src/burn/drv/megadrive/megadrive.cpp:3630:14: runtime error: load of misaligned address 0x7f48d4159ea5 for type 'INT32 *[40]', which requires 4 byte alignment
0x7f48d4159ea5: note: pointer points here
00 00 00 00 01 80 78 00 02 80 80 00 03 80 88 00 04 80 90 00 05 80 98 00 06 80 a0 00 07 80 a8 00
^
src/burn/snd/fm.c:1526:65: runtime error: left shift of negative value -616
src/burn/snd/fm.c:1147:68: runtime error: left shift of negative value -6300
I'm having issues with loading msx games though, i'll try to find out the reason.
Edit2 : i just never hooked msx to the generation of driverlist.h in libretro-fbalpha's makefile ... My bad, fixed now.