bSNES core updated to v94

I’ve updated bSNES core to v94 along with new SET_SUBSYSTEM_INFO API. The internal bSNES API was changed alot (again …), so please report regressions.

When I try to boot Super Mario Land on Super GameBoy, I get nothing but a black screen.

retroarch v.1.0.0.2 (sha-1: a78d8ed4d5ab959a78d5545a2f4c7342de68ad3b) higan-libretro v094 (sha-1: 55f73099feb72477502e2a6f42a1d655bec3781a)

command line: retroarch -L .\libretro\bsnes_balanced_libretro.dll --subsystem sgb .\roms\gbx\sml.gb .\system\bsnes\sgb.boot.rom -v

=== Build ======================================= Compiler: MinGW (4.9.0) 32-bit Built: Jun 8 2014 Version: 1.0.0.2 Git: a78d8ed

RetroArch: [CPUID]: Vendor: GenuineIntel RetroArch: [CPUID]: MMX: 1 RetroArch: [CPUID]: MMXEXT: 1 RetroArch: [CPUID]: SSE: 1 RetroArch: [CPUID]: SSE2: 1 RetroArch: [CPUID]: SSE3: 1 RetroArch: [CPUID]: SSSE3: 1 RetroArch: [CPUID]: SSE4: 1 RetroArch: [CPUID]: SSE4.2: 1 RetroArch: [CPUID]: AVX: 1 RetroArch: [CPUID]: AVX2: 0 RetroArch: Loading default config. RetroArch [WARN] :: Created new config file in: “D:\retroarch_mybuild\retroarch.cfg”. === Config === config_save_on_exit = “true” === Config end === RetroArch [WARN] :: system_directory is not set in config. Assuming system directory is same folder as game: “”. RetroArch: Found default config: D:\retroarch_mybuild\retroarch.cfg. RetroArch: Loading dynamic libretro from: “D:\retroarch_mybuild\libretro\bsnes_balanced_libretro.dll” RetroArch: Environ SET_SUBSYSTEM_INFO. RetroArch: Special game type: Super GameBoy RetroArch: Ident: sgb RetroArch: ID: 4356 RetroArch: ROMs: RetroArch: GameBoy (required) RetroArch: Super GameBoy BIOS (required) RetroArch: Special game type: Sufami Turbo RetroArch: Ident: sufami RetroArch: ID: 4355 RetroArch: ROMs: RetroArch: Sufami A (optional) RetroArch: Sufami B (optional) RetroArch: Sufami BIOS (required) RetroArch: Special game type: BSX RetroArch: Ident: bsx RetroArch: ID: 4353 RetroArch: ROMs: RetroArch: BSX ROM (required) RetroArch: BSX BIOS (required) RetroArch: Special game type: BSX slotted RetroArch: Ident: bsxslot RetroArch: ID: 4354 RetroArch: ROMs: RetroArch: BSX ROM (required) RetroArch: BSX BIOS (required) RetroArch: Version of libretro API: 1 RetroArch: Compiled against API: 1 RetroArch: Loading ROM file: .\roms\gbx\sml.gb. RetroArch: Did not find a valid ROM patch. RetroArch: CRC32: 0x2c27ec70, SHA256: 49fbd2f61f953d5ef28cab73e357e524c3009ad19fcf30f6a9ee0ae273be41dc RetroArch: Loading ROM file: .\system\bsnes\sgb.boot.rom. [bSNES]: Markup SGB: [bSNES]: Markup GB: cartridge board type=MBC1 rom name=program.rom size=0x10000

[bSNES]: [Memory]: ID 45, Request “manifest.bml”. [bSNES]: Complete load request. [bSNES]: [Memory]: ID 46, Request “program.rom”. [bSNES]: Complete load request. [bSNES]: [Memory]: ID 7, Request “manifest.bml”. [bSNES]: Complete load request. [bSNES]: [Memory]: ID 6, Request “”. [bSNES]: Complete load request. RetroArch: Environ GET_OVERSCAN: 0 RetroArch: Environ SET_PIXEL_FORMAT: XRGB8888. RetroArch: Set audio input rate to: 31961.16 Hz. RetroArch: Video @ 768x672 RetroArch: Setting multimedia scheduling for DWM. RetroArch: Found GL context: wgl RetroArch: Detecting screen resolution 1280x800. RetroArch: [WGL]: wglSwapInterval(1) RetroArch: [GL]: Vendor: NVIDIA Corporation, Renderer: GeForce GT 640/PCIe/SSE2. RetroArch: [GL]: Version: 4.3.0. RetroArch: Querying GL extension: ARB_ES2_compatibility => exists RetroArch: Querying GL extension: ARB_sync => exists RetroArch: Querying GL extension: ARB_texture_float => exists RetroArch: Querying GL extension: EXT_texture_sRGB => exists RetroArch: Querying GL extension: ARB_framebuffer_sRGB => exists RetroArch: GL: Using resolution 768x672 RetroArch: [GL]: Not loading any shader. RetroArch: GL: Using 4 textures. RetroArch: GL: Loaded 0 program(s). RetroArch: Found XInput v1.3. RetroArch: Enumerating DInput joypads … RetroArch: Done enumerating DInput joypads … RetroArch: Found joypad driver: “dinput”. RetroArch: Using font rendering backend: freetype. RetroArch: DirectSound devices: RetroArch: 0: Primary Sound Driver RetroArch: 1: SPDIF (SB X-Fi Surround 5.1) RetroArch: 2: Speaker (SB X-Fi Surround 5.1) RetroArch: [DirectSound]: Setting buffer size of 12288 bytes RetroArch: [DirectSound]: Latency = 64 ms RetroArch: Sinc resampler [C] RetroArch: SINC params (8 phase bits, 16 taps). RetroArch: [RGUI]: Opening history: D:\retroarch_mybuild.retroarch-game-history.txt. RetroArch: Saving config at path: “D:\retroarch_mybuild\retroarch.cfg” RetroArch: Saving RAM type #1280 to “.\roms\gbx\sml.srm”. RetroArch: Saving RAM type #1537 to “.\roms\gbx\sml.rtc”. RetroArch: Average audio buffer saturation: 72.73 %, standard deviation (percentage points): 18.99 %. RetroArch: Amount of time spent close to underrun: 3.36 %. Close to blocking: 48.90 %. RetroArch: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

I’m having trouble with the new subsystem functionality as well. I can load neither SGB nor BS-X games. I get a different error tha nthe previous poster, though. For SGB, assuming I’m specifyin gthe options correctly, I get the following. There’s a slight pause after “[Memory]: ID 6, Request “”.” before it loads the rest.

retroarch -L /usr/lib64/libretro/bsnes_balanced_libretro.so -v --subsystem sgb Super\ Mario\ Land\ \(Rev\ A\).gb Super\ Game\ Boy\ \(v1.0\)\ \(BIOS\).sfc 
=== Build =======================================
Compiler: GCC (4.7.3) 64-bit
Built: Jul  6 2014
Version: 1.0.0.2
Git: 57d1cbb
=================================================
RetroArch: [CPUID]: Vendor: GenuineIntel
RetroArch: [CPUID]: MMX:    1
RetroArch: [CPUID]: MMXEXT: 1
RetroArch: [CPUID]: SSE:    1
RetroArch: [CPUID]: SSE2:   1
RetroArch: [CPUID]: SSE3:   1
RetroArch: [CPUID]: SSSE3:  1
RetroArch: [CPUID]: SSE4:   1
RetroArch: [CPUID]: SSE4.2: 1
RetroArch: [CPUID]: AVX:    1
RetroArch: [CPUID]: AVX2:   1
RetroArch: Loading default config.
RetroArch: Looking for config in: "/home/showdog/.config/retroarch/retroarch.cfg".
=== Config ===
RetroArch: savefile_directory = "/home/showdog/games/Nintendo/Super Nintendo Entertainment System/Saves" 
RetroArch: savestate_directory = "/home/showdog/games/Data/Save States" 
RetroArch: libretro_directory = "/usr/lib64/libretro" 
RetroArch: rgui_show_start_screen = "false" 
RetroArch: config_save_on_exit = "false" 
RetroArch: video_driver = "gl" 
RetroArch: video_gl_context = "glx" 
RetroArch: video_fullscreen = "true" 
RetroArch: video_windowed_fullscreen = "false" 
RetroArch: video_hard_sync = "true" 
RetroArch: video_force_aspect = "true" 
RetroArch: video_aspect_ratio = "1.33333" 
RetroArch: video_crop_overscan = "false" 
RetroArch: audio_volume = "-5.0" 
RetroArch: input_autodetect_enable = "true" 
RetroArch: joypad_autoconfig_dir = "/home/showdog/games/Data/Joypads" 
RetroArch: input_toggle_fast_forward = "backquote" 
RetroArch: input_reset = "f10" 
RetroArch: input_screenshot = "f12" 
RetroArch: pause_nonactive = "false" 
RetroArch: cheat_database_path = "/home/showdog/games/Data/Cheats/Nintendo - Super NES.xml" 
RetroArch: cheat_settings_path = "/home/showdog/.config/retroarch/cheats.conf" 
RetroArch: screenshot_directory = "/home/showdog/games/Data/Screenshots" 
=== Config end ===
RetroArch [WARN] :: system_directory is not set in config. Assuming system directory is same folder as game: "".
RetroArch: Found default config: /home/showdog/.config/retroarch/retroarch.cfg.
RetroArch: Loading dynamic libretro from: "/usr/lib64/libretro/bsnes_balanced_libretro.so"
RetroArch: Environ SET_SUBSYSTEM_INFO.
RetroArch: Special game type: Super GameBoy
RetroArch:   Ident: sgb
RetroArch:   ID: 4356
RetroArch:   ROMs:
RetroArch:     GameBoy (required)
RetroArch:     Super GameBoy BIOS (required)
RetroArch: Special game type: Sufami Turbo
RetroArch:   Ident: sufami
RetroArch:   ID: 4355
RetroArch:   ROMs:
RetroArch:     Sufami A (optional)
RetroArch:     Sufami B (optional)
RetroArch:     Sufami BIOS (required)
RetroArch: Special game type: BSX
RetroArch:   Ident: bsx
RetroArch:   ID: 4353
RetroArch:   ROMs:
RetroArch:     BSX ROM (required)
RetroArch:     BSX BIOS (required)
RetroArch: Special game type: BSX slotted
RetroArch:   Ident: bsxslot
RetroArch:   ID: 4354
RetroArch:   ROMs:
RetroArch:     BSX ROM (required)
RetroArch:     BSX BIOS (required)
RetroArch: Environ SET_CONTROLLER_INFO.
RetroArch: Controller port: 1
RetroArch:    SNES Joypad (ID: 1)
RetroArch:    SNES Mouse (ID: 2)
RetroArch: Controller port: 2
RetroArch:    SNES Joypad (ID: 1)
RetroArch:    SNES Mouse (ID: 2)
RetroArch:    Multitap (ID: 257)
RetroArch:    SuperScope (ID: 260)
RetroArch:    Justifier (ID: 516)
RetroArch:    Justifiers (ID: 772)
RetroArch: Version of libretro API: 1
RetroArch: Compiled against API: 1
RetroArch: Loading ROM file: Super Mario Land (Rev A).gb.
RetroArch: Did not find a valid ROM patch.
RetroArch: CRC32: 0x2c27ec70, SHA256: 49fbd2f61f953d5ef28cab73e357e524c3009ad19fcf30f6a9ee0ae273be41dc
RetroArch: Loading ROM file: Super Game Boy (v1.0) (BIOS).sfc.
[bSNES]: Markup SGB: cartridge region=NTSC
  rom name=program.rom size=0x40000
  map id=rom address=00-7f,80-ff:8000-ffff mask=0x8000
  icd2 revision=1
    rom name=sgb.boot.rom size=0x100
    map id=io address=00-3f,80-bf:6000-7fff

[bSNES]: Markup GB: cartridge
  board type=MBC1
  rom name=program.rom size=0x10000

[bSNES]: [Memory]: ID 7, Request "manifest.bml".
[bSNES]: Complete load request.
[bSNES]: [Memory]: ID 8, Request "program.rom".
[bSNES]: Load ROM.
[bSNES]: Complete load request.
[bSNES]: Loading GB ROM.
[bSNES]: [Memory]: ID 41, Request "sgb.boot.rom".
[bSNES]: Load BIOS.
RetroArch: Environ SYSTEM_DIRECTORY: "".
[bSNES]: Cannot find requested file: "sgb.boot.rom" in ROM directory nor system directory.
[bSNES]: Complete load request.
[bSNES]: [Memory]: ID 6, Request "".
[bSNES]: Complete load request.
[bSNES]: [Memory]: ID 45, Request "manifest.bml".
[bSNES]: Complete load request.
[bSNES]: [Memory]: ID 46, Request "program.rom".
[bSNES]: Complete load request.
RetroArch [ERROR] :: Failed to load game.
RetroArch: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

Attempting to load a BS-X ROM results in a similar error, but there’s no pause at all this timme, just an immediate “failed to load game”:

retroarch -L /usr/lib64/libretro/bsnes_balanced_libretro.so -v --subsystem bsx F-Zero\ Grand\ Prix\ 2\ \(J\).bs BS-X\ -\ The\ Story\ of\ the\ Town\ Whose\ Name\ Has\ Been\ Stolen\ \(J\).sfc 
=== Build =======================================
Compiler: GCC (4.7.3) 64-bit
Built: Jul  6 2014
Version: 1.0.0.2
Git: 57d1cbb
=================================================
RetroArch: [CPUID]: Vendor: GenuineIntel
RetroArch: [CPUID]: MMX:    1
RetroArch: [CPUID]: MMXEXT: 1
RetroArch: [CPUID]: SSE:    1
RetroArch: [CPUID]: SSE2:   1
RetroArch: [CPUID]: SSE3:   1
RetroArch: [CPUID]: SSSE3:  1
RetroArch: [CPUID]: SSE4:   1
RetroArch: [CPUID]: SSE4.2: 1
RetroArch: [CPUID]: AVX:    1
RetroArch: [CPUID]: AVX2:   1
RetroArch: Loading default config.
RetroArch: Looking for config in: "/home/showdog/.config/retroarch/retroarch.cfg".
=== Config ===
RetroArch: savefile_directory = "/home/showdog/games/Nintendo/Super Nintendo Entertainment System/Saves" 
RetroArch: savestate_directory = "/home/showdog/games/Data/Save States" 
RetroArch: libretro_directory = "/usr/lib64/libretro" 
RetroArch: rgui_show_start_screen = "false" 
RetroArch: config_save_on_exit = "false" 
RetroArch: video_driver = "gl" 
RetroArch: video_gl_context = "glx" 
RetroArch: video_fullscreen = "true" 
RetroArch: video_windowed_fullscreen = "false" 
RetroArch: video_hard_sync = "true" 
RetroArch: video_force_aspect = "true" 
RetroArch: video_aspect_ratio = "1.33333" 
RetroArch: video_crop_overscan = "false" 
RetroArch: audio_volume = "-5.0" 
RetroArch: input_autodetect_enable = "true" 
RetroArch: joypad_autoconfig_dir = "/home/showdog/games/Data/Joypads" 
RetroArch: input_toggle_fast_forward = "backquote" 
RetroArch: input_reset = "f10" 
RetroArch: input_screenshot = "f12" 
RetroArch: pause_nonactive = "false" 
RetroArch: cheat_database_path = "/home/showdog/games/Data/Cheats/Nintendo - Super NES.xml" 
RetroArch: cheat_settings_path = "/home/showdog/.config/retroarch/cheats.conf" 
RetroArch: screenshot_directory = "/home/showdog/games/Data/Screenshots"
=== Config end ===
RetroArch [WARN] :: system_directory is not set in config. Assuming system directory is same folder as game: "".
RetroArch: Found default config: /home/showdog/.config/retroarch/retroarch.cfg.
RetroArch: Loading dynamic libretro from: "/usr/lib64/libretro/bsnes_balanced_libretro.so"
RetroArch: Environ SET_SUBSYSTEM_INFO.
RetroArch: Special game type: Super GameBoy
RetroArch:   Ident: sgb
RetroArch:   ID: 4356
RetroArch:   ROMs:
RetroArch:     GameBoy (required)
RetroArch:     Super GameBoy BIOS (required)
RetroArch: Special game type: Sufami Turbo
RetroArch:   Ident: sufami
RetroArch:   ID: 4355
RetroArch:   ROMs:
RetroArch:     Sufami A (optional)
RetroArch:     Sufami B (optional)
RetroArch:     Sufami BIOS (required)
RetroArch: Special game type: BSX
RetroArch:   Ident: bsx
RetroArch:   ID: 4353
RetroArch:   ROMs:
RetroArch:     BSX ROM (required)
RetroArch:     BSX BIOS (required)
RetroArch: Special game type: BSX slotted
RetroArch:   Ident: bsxslot
RetroArch:   ID: 4354
RetroArch:   ROMs:
RetroArch:     BSX ROM (required)
RetroArch:     BSX BIOS (required)
RetroArch: Environ SET_CONTROLLER_INFO.
RetroArch: Controller port: 1
RetroArch:    SNES Joypad (ID: 1)
RetroArch:    SNES Mouse (ID: 2)
RetroArch: Controller port: 2
RetroArch:    SNES Joypad (ID: 1)
RetroArch:    SNES Mouse (ID: 2)
RetroArch:    Multitap (ID: 257)
RetroArch:    SuperScope (ID: 260)
RetroArch:    Justifier (ID: 516)
RetroArch:    Justifiers (ID: 772)
RetroArch: Version of libretro API: 1
RetroArch: Compiled against API: 1
RetroArch: Loading ROM file: F-Zero Grand Prix 2 (J).bs.
RetroArch: Did not find a valid ROM patch.
RetroArch: CRC32: 0x57b1c3ed, SHA256: 9dfcf1ea852d44f32a073e9754bf58eb632bf6e1a067687b245ecb9893a454cb
RetroArch: Loading ROM file: BS-X - The Story of the Town Whose Name Has Been Stolen (J).sfc.
RetroArch [ERROR] :: Failed to load game.
RetroArch: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

Both retroarch and bsnes-libretro were compiled from the git master on 7/6/14. Anything I can do/try to fix/workaround this?

Thanks.

Listen, I need to load a Super Game Boy game using the command line and I am using Ubuntu. How the heck could you load anything from the command line?! Can anyone show me how to do just that?

type “retroarch --help” in command line that can help you

Has anyone managed to get the msu1 stuff to launch through RA?

For example: http://www.retrocollect.com/News/super-nintendo-classic-legend-of-zelda-link-to-the-past-gets-unofficial-cd-audio-a-fmv-video-update.html

I have messed around with it for a little while and haven’t gotten anywhere.

AndresSM got it working with RetroArch after some tweaks to the BML:


cartridge region=NTSC
  board type=1A3B revision=11,12,13
  rom name=program.rom size=0x180000
  ram name=save.ram size=0x2000
  map id=rom address=00-6f,80-ff:8000-ffff mask=0x8000
  map id=ram address=70-7d,f0-ff:0000-ffff

  msu1
    rom name=msu1.msu size=0x0000
    map id=io address=00-3f,80-bf:2000-2007

information
  title:    The Legend of Zelda: A Link to the Past (MSU-1)
  name:    Legend of Zelda - A Link to the Past (MSU-1), The
  region:  NA
  revision: 1.0
  board:    SHVC-1A3B-12
  serial:  SNS-ZL-USA
  sha256:  fba061e26e228125bae0462cf71a03e1888fa7ee3f938e9330e57fe9b2c604ea
  configuration
    rom name=program.rom size=0x180000
    ram name=save.ram size=0x2000

Nice. I only found out about this on another site the other day. Looking forward to checking out Zelda A Link to the Past.

[media:3o57myat]https://dl.dropboxusercontent.com/u/149537/recording.webm[/media:3o57myat] It does sound nice

This is my folder layout:

Legend of Zelda, The - A Link to the Past (MSU) ??? Legend of Zelda, The - A Link to the Past (MSU).bml ??? msu1.msu ??? program.rom ??? save.ram ??? track-1.pcm ??? track-10.pcm ??? track-11.pcm ??? track-12.pcm ??? track-13.pcm ??? track-14.pcm ??? track-16.pcm ??? track-17.pcm ??? track-18.pcm ??? track-19.pcm ??? track-2.pcm ??? track-20.pcm ??? track-21.pcm ??? track-22.pcm ??? track-23.pcm ??? track-24.pcm ??? track-25.pcm ??? track-26.pcm ??? track-27.pcm ??? track-28.pcm ??? track-29.pcm ??? track-3.pcm ??? track-30.pcm ??? track-31.pcm ??? track-32.pcm ??? track-33.pcm ??? track-364.pcm ??? track-4.pcm ??? track-5.pcm ??? track-6.pcm ??? track-7.pcm ??? track-8.pcm ??? track-9.pcm

BML file:

cartridge region=NTSC board type=1A3B revision=11,12,13 rom name=program.rom size=0x180000 ram name=save.ram size=0x2000 map id=rom address=00-6f,80-ff:8000-ffff mask=0x8000 map id=ram address=70-7d,f0-ff:0000-ffff

msu1 rom name=msu1.msu size=0x0000 map id=io address=00-3f,80-bf:2000-2007

information title: The Legend of Zelda: A Link to the Past (MSU-1) name: Legend of Zelda - A Link to the Past (MSU-1), The region: NA revision: 1.0 board: SHVC-1A3B-12 serial: SNS-ZL-USA sha256: fba061e26e228125bae0462cf71a03e1888fa7ee3f938e9330e57fe9b2c604ea configuration rom name=program.rom size=0x180000 ram name=save.ram size=0x2000

There is an IPS with the original file, make sure to prepatch your ROM, and then rename it to program.rom