fpic := -fPIC
        SHARED := -shared -Wl,--no-undefined,-Bsymbolic
        CFLAGS += -Ofast \
-       -flto=4 -fwhole-program -fuse-linker-plugin \
+       -flto=4 -fuse-linker-plugin \
        -fdata-sections -ffunction-sections -Wl,--gc-sections \
        -fno-stack-protector -fno-ident -fomit-frame-pointer \
        -falign-functions=1 -falign-jumps=1 -falign-loops=1 \
        fpic := -fPIC
        SHARED := -shared -Wl,--no-undefined,-Bsymbolic
        CFLAGS += -Ofast \
-               -flto -fwhole-program -fuse-linker-plugin \
+               -flto -fuse-linker-plugin \
                -fdata-sections -ffunction-sections -Wl,--gc-sections \
                -fno-stack-protector -fno-ident -fomit-frame-pointer \
                -falign-functions=1 -falign-jumps=1 -falign-loops=1 \
 
 ifeq ($(platform), osx)
 pico/cd/libchdr/src/libchdr_chd.o: CFLAGS += -D__MACTYPES__=1
-endif
\ No newline at end of file
+endif
 
 
 $(FR)cpu/cyclone/Cyclone.s: $(FR)cpu/$(CYCLONE_CONFIG)
        @echo building Cyclone...
-       @export CC=$(CYCLONE_CC) CXX=$(CYCLONE_CXX) CFLAGS=-O2; \
-        make -C $(R)cpu/cyclone/ CONFIG_FILE=../$(CYCLONE_CONFIG) HAVE_ARMv6=$(HAVE_ARMv6)
+       @export CC=$(CYCLONE_CC) CXX=$(CYCLONE_CXX) CFLAGS=-O2 CXXFLAGS=-O2 CPPFLAGS="" LDFLAGS="" && \
+               make -C $(R)cpu/cyclone/ CONFIG_FILE=../$(CYCLONE_CONFIG) HAVE_ARMv6=$(HAVE_ARMv6)
 
 $(FR)cpu/cyclone/Cyclone.s: $(FR)cpu/cyclone/*.cpp $(FR)cpu/cyclone/*.h
 
 
 #include <stdio.h>
 
 #include <pico/pico_int.h>
+
+#ifdef USE_LIBRETRO_VFS
 // Ugh, drmp3 tries to use wfopen on windows, which breaks libretro VFS...
 #define __acrt_iob_func __acrt_iob_func2
 #define _wfopen_s(p,m) NULL
 #define _wfopen(p,m)   NULL
+#endif
 #define DR_MP3_IMPLEMENTATION
 #include "dr_libs/dr_mp3.h"
 #include "mp3.h"
 
 
    static const struct retro_system_content_info_override content_overrides[] = {
       {
-         "gen|smd|md|32x|sms|68k|sgd|pco", /* extensions */
+         "gen|smd|md|32x|sms|gg|sg|68k|sgd|pco", /* extensions */
 #if defined(LOW_MEMORY)
          true,                         /* need_fullpath */
 #else
    buff = (char*)vout_buf + vout_offset;
 #endif
 
-       video_cb((short *)buff, vout_width, vout_height, vout_width * 2);
+   video_cb((short *)buff, vout_width, vout_height, vout_width * 2);
 }
 
 void retro_init(void)