libretro / gambatte-libretro Goto Github PK
View Code? Open in Web Editor NEWHard fork of Gambatte to the libretro API.
Home Page: http://sourceforge.net/projects/gambatte/
License: GNU General Public License v2.0
Hard fork of Gambatte to the libretro API.
Home Page: http://sourceforge.net/projects/gambatte/
License: GNU General Public License v2.0
I recently tried playing Pokemon Blue (Japanese version) using gambatte-libretro. When I reached the "load game/new game/settings" screen, the emulator slowed down to about 7fps.
The same behavior does not occur with Gambatte 0.5.0, WIP2 on the same ROM. Likewise, it does not occur with the US Pokemon Blue ROM, on either version.
My system is an AMD Phenom II X3 710, clocked at 2.6 GHz. I am running Debian, x86_64, and using a git checkout I built retroarch and gambatte-libretro.
The ROM's md5sum is c1adf0a77809ac91d905a4828888a2f0.
Hello everyone!
When playing with the Internal Palette: GB - DMG core option I wondered how this came to be and what it's based on?
While watching an episode of AVGN yesterday (Episode 42 - Virtual Boy) there was a brief moment of where a Game Boy screen was shown.
By comparing these two and upon further examination it feels like the Internal Palette: GB - DMG core option is a little bit off.
By using Paint and derivative the values of each color, lightest to darkest I was able to come up with this.
This pretty much resembles of how I remember the Game Boy games to look like.
These are the color values (used in bgb):
Color 1 - 120, 169, 59 (lightest)
Color 2 - 93, 150, 78
Color 3 - 70, 131, 89
Color 4 - 56, 110, 86 (darkest)
I don't think I have ever played a Game Boy that looks like the Internal Palette: GB - DMG
Granted, each individual Game Boy was unique however and it could just be my interpretation.
What do you guys think of this?
First of all thank you so much for the Gambatte core development.
The issue I come with today is very specific. Essentially, modern day rom developers are adding emulation checksum errors so that their developed titles cannot be played on emulators (or RetroArch cores in this case), but rather play perfectly fine and enhanced with color on physical GameBoy hardware. However, there are emulators that can actually run the title because that boast accuracy to actual GameBoy/GameBoy Color hardware.
The rom I would like to add support for is called Airaki! and it is available for download here. The page lists detail of what happens when the game is emulated, but it displays a Checksum Error screen that reads "Fuck You, Emulator!" on launch. I am hoping to get support on the Gambatte core for Retroach since it is the best speedwise in reference to GameBoy and GameBoy Color (preferably the NES Classic retroarch).
The rom however does work on SameBoy and BGB emulators on computer in case you wanted to test it through other avenues, but I do understand emulators and cores are very different so I want to say thank you once again.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The current version of gambatte_sdl.cpp is not compatible with the provided version of gambatte.cpp
Description
When using Retroarch 1,7,3 and Gambatte 0.5.0 with GBC games on a Nintendo 3DS, loading state crashes the console.
Expected behavior
The state would load.
Actual behavior
It attempts to load the savestate but consistently fails at 96%. the 3ds version uses the bottom screen to display a log and the last items are:
[INFO] Loading State: "sdmc/retroarch/cores/savestates/.state
[INFO] State size: 59446 bytes.
[INFO] Saving state: "RAM"
[INFO] State size: 59446 bytes.
I think this may be related to the saved state used to undo the loaded state.
Steps to reproduce the bug
Load a Game Boy Color ROM
Save state
Load State
Bisect Results
I went back 3 versions of retroarch and they all were affected by the issue.
Version/Commit
Retroarch 1,7,3 and Gambatte 0.5.0
Build date May 4 2018
Compiler GCC (7.1.0)
RetroArch: [version/commit]
Environment information
OS: New 3ds XL 11.6 (Luma 3ds)
Compiler: GCC (71.10)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
There are a few games released on hhug.me that don't work on this core (and most other gbc cores), would it be possible to add them?
for reference: https://github.com/tzlion/hhugboy/commits/v1.2.1
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This happens with both formats, Game Sharks and Game Genies. You can't use more than just one code at a time.
If you choose multiple codes it will apply the last one selected. If you return to the cheat menu and select another one, when back to the emulation and after some seconds, that'll be enabled and the others, even saying ON, will be disabled when playing.
Confirmed this is a Core issue, not happening with any other cores (Genesis Plus GX/mGBA/FCEUMMX).
hello upgrading from version 425.c71935d to 429.f3a647a and using latest retroarch version. Now retroarch seg fault on every rom i try. Before everything worked fine and retroarch doesn't crash when using other emu core.
There are 23 games with rumble support, should be interesting to add this feature to Gambatte. Some games also support rumble even without it in the cartridge, like Tarzan.
MBC5 mapper is implemented in VBA-M, and in the VBA GX port it's fully implemented.
https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/src/gb/gbMemory.cpp#L533
https://github.com/dborth/vba-wii/blob/master/source/vba/gb/gbMemory.cpp#L534
Someone in the forum also requested it: http://libretro.com/forums/showthread.php?t=991
On RetroArch 0.9.8, on Windows 7 x64, with the latest Gambatte libretro available through the built-in updater, using the reset function through RetroArch causes the game's battery save to be wiped. I came across this when playing The Legend of Zelda Oracle of Seasons and found that it happens in every game with a save function that I've tried
This core is crashing for me as of the latest test build. Here is my log:
F:\Blue\Emulation\Emulators\RetroArch>retroarch.exe "....\Roms\Nintendo Game Bo
y\Wario Land - Super Mario Land 3 (World).zip" -c Config\GBA.cfg --appendconfig
Config\GB.cfg --verbose
rarch_main_init: === Build =======================================
Compiler: MinGW (4.9.1) 64-bit
Built: Oct 7 2014
rarch_main_init: Version: 1.0.0.2-2014-10-07
rarch_main_init: Git: 7270f89
rarch_main_init: =================================================
RetroArch: rarch_get_cpu_features: [CPUID]: Vendor: GenuineIntel
RetroArch: rarch_get_cpu_features: [CPUID]: MMX: 1
RetroArch: rarch_get_cpu_features: [CPUID]: MMXEXT: 1
RetroArch: rarch_get_cpu_features: [CPUID]: SSE: 1
RetroArch: rarch_get_cpu_features: [CPUID]: SSE2: 1
RetroArch: rarch_get_cpu_features: [CPUID]: SSE3: 1
RetroArch: rarch_get_cpu_features: [CPUID]: SSSE3: 1
RetroArch: rarch_get_cpu_features: [CPUID]: SSE4: 1
RetroArch: rarch_get_cpu_features: [CPUID]: SSE4.2: 1
RetroArch: rarch_get_cpu_features: [CPUID]: AES: 1
RetroArch: rarch_get_cpu_features: [CPUID]: AVX: 1
RetroArch: rarch_get_cpu_features: [CPUID]: AVX2: 0
RetroArch: parse_config_file: Loading config from: Config\GBA.cfg.
RetroArch: config_load_file: Appending config "Config\GB.cfg"
config_load_file: === Config ===
RetroArch: config_file_dump_all: video_shader = "./Shaders/gb-pocket-shader.cgp"
RetroArch: config_file_dump_all: rgui_browser_directory = "../../Roms/Nintendo G
ame Boy/"
RetroArch: config_file_dump_all: savefile_directory = "./Save/Nintendo Game Boy
Color/"
RetroArch: config_file_dump_all: savestate_directory = "./State/Nintendo Game Bo
y Color/"
RetroArch: config_file_dump_all: system_directory = "./System/Nintendo Game Boy
Color/"
RetroArch: config_file_dump_all: libretro_path = "./Cores/gambatte_libretro.dll"
RetroArch: config_file_dump_all: audio_volume = "5.0"
RetroArch: config_file_dump_all: video_driver = "gl"
RetroArch: config_file_dump_all: audio_driver = "dsound"
RetroArch: config_file_dump_all: video_fullscreen = "true"
RetroArch: config_file_dump_all: config_save_on_exit = "false"
RetroArch: config_file_dump_all: input_autodetect_enable = "false"
RetroArch: config_file_dump_all: input_joypad_driver = "winxinput"
RetroArch: config_file_dump_all: input_player1_joypad_index = "0"
RetroArch: config_file_dump_all: input_player1_a_axis = "nul"
RetroArch: config_file_dump_all: input_player1_a_btn = "0"
RetroArch: config_file_dump_all: input_player1_a = "z"
RetroArch: config_file_dump_all: input_player1_b_axis = "nul"
RetroArch: config_file_dump_all: input_player1_b_btn = "2"
RetroArch: config_file_dump_all: input_player1_b = "x"
RetroArch: config_file_dump_all: input_player1_select_axis = "nul"
RetroArch: config_file_dump_all: input_player1_select_btn = "7"
RetroArch: config_file_dump_all: input_player1_select = "c"
RetroArch: config_file_dump_all: input_player1_start_axis = "nul"
RetroArch: config_file_dump_all: input_player1_start_btn = "6"
RetroArch: config_file_dump_all: input_player1_start = "enter"
RetroArch: config_file_dump_all: input_player1_l_axis = "nul"
RetroArch: config_file_dump_all: input_player1_l_btn = "4"
RetroArch: config_file_dump_all: input_player1_l = "a"
RetroArch: config_file_dump_all: input_player1_r_axis = "nul"
RetroArch: config_file_dump_all: input_player1_r_btn = "5"
RetroArch: config_file_dump_all: input_player1_r = "s"
RetroArch: config_file_dump_all: input_player1_left_axis = "nul"
RetroArch: config_file_dump_all: input_player1_left_btn = "h0left"
RetroArch: config_file_dump_all: input_player1_left = "left"
RetroArch: config_file_dump_all: input_player1_right_axis = "nul"
RetroArch: config_file_dump_all: input_player1_right_btn = "h0right"
RetroArch: config_file_dump_all: input_player1_right = "right"
RetroArch: config_file_dump_all: input_player1_up_axis = "nul"
RetroArch: config_file_dump_all: input_player1_up_btn = "h0up"
RetroArch: config_file_dump_all: input_player1_up = "up"
RetroArch: config_file_dump_all: input_player1_down_axis = "nul"
RetroArch: config_file_dump_all: input_player1_down_btn = "h0down"
RetroArch: config_file_dump_all: input_player1_down = "down"
RetroArch: config_file_dump_all: input_player1_analog_dpad_mode = "1"
RetroArch: config_file_dump_all: input_player1_l_x_plus = "nul"
RetroArch: config_file_dump_all: input_player1_l_x_plus_btn = "nul"
RetroArch: config_file_dump_all: input_player1_l_x_plus_axis = "+0"
RetroArch: config_file_dump_all: input_player1_l_x_minus = "nul"
RetroArch: config_file_dump_all: input_player1_l_x_minus_btn = "nul"
RetroArch: config_file_dump_all: input_player1_l_x_minus_axis = "-0"
RetroArch: config_file_dump_all: input_player1_l_y_plus = "nul"
RetroArch: config_file_dump_all: input_player1_l_y_plus_btn = "nul"
RetroArch: config_file_dump_all: input_player1_l_y_plus_axis = "-1"
RetroArch: config_file_dump_all: input_player1_l_y_minus = "nul"
RetroArch: config_file_dump_all: input_player1_l_y_minus_btn = "nul"
RetroArch: config_file_dump_all: input_player1_l_y_minus_axis = "+1"
RetroArch: config_file_dump_all: input_hold_fast_forward_axis = "+5"
RetroArch: config_file_dump_all: input_hold_fast_forward_btn = "nul"
RetroArch: config_file_dump_all: input_hold_fast_forward = "tilde"
RetroArch: config_file_dump_all: input_shader_prev_btn = "9"
RetroArch: config_file_dump_all: input_exit_emulator_btn = "10"
RetroArch: config_file_dump_all: input_menu_toggle_axis = "nul"
RetroArch: config_file_dump_all: input_menu_toggle_btn = "8"
RetroArch: config_file_dump_all: input_menu_toggle = "tab"
RetroArch: config_file_dump_all: input_save_state_axis = "nul"
RetroArch: config_file_dump_all: input_save_state_btn = "nul"
RetroArch: config_file_dump_all: input_save_state = "f5"
RetroArch: config_file_dump_all: input_load_state_axis = "nul"
RetroArch: config_file_dump_all: input_load_state_btn = "nul"
RetroArch: config_file_dump_all: input_load_state = "f9"
RetroArch: config_file_dump_all: input_audio_mute_axis = "nul"
RetroArch: config_file_dump_all: input_audio_mute_btn = "nul"
RetroArch: config_file_dump_all: input_audio_mute = "f2"
RetroArch: config_file_dump_all: input_reset_axis = "nul"
RetroArch: config_file_dump_all: input_reset_btn = "nul"
RetroArch: config_file_dump_all: input_reset = "f10"
RetroArch: config_file_dump_all: video_smooth = "false"
RetroArch: config_file_dump_all: video_scale_integer = "false"
RetroArch: config_file_dump_all: video_windowed_fullscreen = "true"
RetroArch: config_file_dump_all: video_disable_composition = "false"
RetroArch: config_file_dump_all: video_vsync = "true"
RetroArch: config_file_dump_all: video_hard_sync = "true"
RetroArch: config_file_dump_all: video_hard_sync_frames = "0"
RetroArch: config_file_dump_all: video_swap_interval = "2"
RetroArch: config_file_dump_all: video_refresh_rate = "60.000000"
RetroArch: config_file_dump_all: video_shader_enable = "true"
RetroArch: config_file_dump_all: rgui_browser_directory = "../../Roms/Nintendo G
ame Boy Advance/"
RetroArch: config_file_dump_all: savefile_directory = "./Save/Nintendo Game Boy
Advance/"
RetroArch: config_file_dump_all: savestate_directory = "./State/Nintendo Game Bo
y Advance/"
RetroArch: config_file_dump_all: screenshot_directory = "./Screenshot/"
RetroArch: config_file_dump_all: video_shader_dir = "./Shaders/"
RetroArch: config_file_dump_all: system_directory = "./System/"
RetroArch: config_file_dump_all: video_shader = "./Shaders/lcd-shader.cgp"
RetroArch: config_file_dump_all: libretro_path = "./Cores/vbam_libretro.dll"
RetroArch: config_file_dump_all: video_scale = "6.0"
RetroArch: config_file_dump_all: pause_nonactive = "true"
RetroArch: config_file_dump_all: autosave_interval = "60"
RetroArch: config_file_dump_all: audio_volume = "3.0"
RetroArch: config_file_dump_all: rgui_show_start_screen = "false"
config_load_file: === Config end ===
RetroArch: load_symbols: Loading dynamic libretro from: "F:\Blue\Emulation\Emula
tors\RetroArch\Cores\gambatte_libretro.dll"
RetroArch: rarch_environment_cb: Environ SET_VARIABLES.
RetroArch: parse_variable: Core option:
RetroArch: parse_variable: Description: GBA mode
RetroArch: parse_variable: Key: gb_gbamode
RetroArch: parse_variable: Current value: disabled
RetroArch: parse_variable: Possible values:
RetroArch: parse_variable: disabled
RetroArch: parse_variable: enabled
RetroArch: parse_variable: Core option:
RetroArch: parse_variable: Description: GB Colorization
RetroArch: parse_variable: Key: gb_colorization
RetroArch: parse_variable: Current value: disabled
RetroArch: parse_variable: Possible values:
RetroArch: parse_variable: disabled
RetroArch: parse_variable: enabled
RetroArch: parse_variable: custom
RetroArch: parse_variable: Core option:
RetroArch: parse_variable: Description: Color correction
RetroArch: parse_variable: Key: gbc_color_correction
RetroArch: parse_variable: Current value: enabled
RetroArch: parse_variable: Possible values:
RetroArch: parse_variable: enabled
RetroArch: parse_variable: disabled
RetroArch: verify_api_version: Version of libretro API: 1
RetroArch: verify_api_version: Compiled against API: 1
RetroArch: rarch_environment_cb: Environ GET_LOG_INTERFACE.
RetroArch: rarch_environment_cb: Environ PERFORMANCE_LEVEL: 4.
Core loading seems to go fine, but when loading a rom the screen goes to black then either crashes back to menu or just freezes.
Retroarch 1.3.6 on PSP 3010.
Hello,
I have Gameboy Color roms in zip format, they contain .bin file.
If I try to launch archive zip with Gambatte core, it doesn't work.
But if I unzip archive and try to launch .bin rom file, it works.
This core does not support zip files? Is it a bug?
Thank you for your help.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Testing with:
Linux Laptop: Network Server
Android smartphone: Network Client
Tetris:
If I hit start in the "2 player" option in the client side, it'll work fine (network client side as master in the game). But if I hit the start in the server client, I'll get some hiccup in the audio, it seems it has a little more unstable network connection this way (network server as master in the game).
Mario Tennis:
It hangs & gets an white screen in one of the sides I try first (smartphone for example), and the other side tries to connect and fails and returns to the main screen; then the smartphone side comes back to life and goes to the "linking..." screen.
Sometimes when they successfully link, they quickly get this screen:
Edit: I'm using the same save file in both sides
retroarch: [status: fail] [recipes/nintendo/wiiu] LOG: http://p.0bl.net/2255
retroarch: [status: fail] [recipes/nintendo/wii] LOG: http://p.0bl.net/2256
retroarch: [status: fail] [recipes/nintendo/gamecube] LOG: http://p.0bl.net/2257
When using the Gamebatte Retroarch core with a Gamecube controller in the first slot, the automatic detection and remapping of the controller will happen over and over, displaying the message "Gamecube controller configured in Port #00" at the bottom of the screen. The display can be triggered consistently by certain acts in a game, such as entering a door or sucking up an enemy in Kirby's Dream Land or moving between menus in Mario Golf, but generally speaking it appears near-constantly in the majority of games. This behavior does not happen with the Wiimote or any other controller, nor any other core on Retroarch Wii that I've seen.
Although you can disable automatic remapping, due to the way Retroarch on the console works there is no way to manually remap the controls without first disabling the current set and totally locking yourself out of any control until you delete the retroarch.cfg file. There is also no option to disable the message that I can see.
Retro Version: 1.3.4
Emu Version: Gambatte v0.5.0
On 3DS, sometimes there's sound corruption when games hit specific notes. A clear example of this is Mario Tennis, where the music that plays during a match is completely screwed up and scarry-sounding.
in earlier gambatte-libretro builds (some time around RetroArch 0.9.7 I think) if there existed a custom palette /palettes/default.pal it would get loaded and used. Not so anymore, maybe since the gbc bios palettes were built into the core. Only .pal-files that are named after their game are still used, for example "SUPERMARIOLAND3.pal".
like Zelda Link's Awakening, it needs A+B+START+SELECT to save, a major PITA
well first i want to say that the emulation runs perfect no sound issues no lag whats so ever , but it crashes after the game intros. (Pokemon Gold , Yellow , Crystal)
is there anyway how to figure out why ?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Trying to load Kirby - Tilt 'n' Tumble (USA) in gambatte core, and I got a segfault. Tested in Linux and Android.
Compiled with DEBUG=1:
bt full
#0 0x000000000046aca8 in ?? ()
No symbol table info available.
#1 0x00000000004110ff in ?? ()
No symbol table info available.
#2 0x0000000000462b88 in ?? ()
No symbol table info available.
#3 0x000000000040f03e in ?? ()
No symbol table info available.
#4 0x000000000040daa0 in ?? ()
No symbol table info available.
#5 0x00007ffff26f1ec5 in __libc_start_main (main=0x40d9d0, argc=1, argv=0x7fffffffdf48, init=<optimized out>, fini=< optimized out >, rtld_fini=< optimized out >,
stack_end=0x7fffffffdf38) at libc-start.c:287
result = < optimized ou t>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 8751052256051647789, 4250700, 140737488346944, 0, 0, -8751052255027342035, -8751022428627610323}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x49bba0, 0x7fffffffdf48}, data = {prev = 0x0, cleanup = 0x0, canceltype = 4832160}}}
not_first_call = < optimized out >
#6 0x000000000040dc75 in ?? ()
No symbol table info available.
Would it be possible to add support for 128kb .sav files / SRAM dump? This will help with compatibility with other emulators and also support roms like LSDJ (little sound dj).
Vanilla Gambatte supports Multicart games (Bomberman Collection & Mortal Kombat I & II for example) by enabling "Multicart Compatibility" through the options menu.
Since Gambatte libretro doesn't have that option those games always loop back to the game selection screen making them unplayable.
A number of GBx emulators support basic features of the SGB like custom palettes and borders. To name a few, VBA-M, KiGB, bgb, Gameyob (DS) and Lameboy (DS). Unfortunately the VBA-M libretro ports are GBA-only and don't seem to have any plans to support classic GBx, which is a shame. In fact there are no libretro cores that have this feature.
I honestly just want the custom palettes - Lots of DMG games have special palettes for SGB that add nicer colors than just B&W, such as Kirby 2 and Pokemon Blue.
Could it be possible to support those SGB color modes for games that use it? Would it be accepted as a PR? Or would this functionality be better set in a hypothetical VBAM-GBC core. The GB experience just isn't complete without it.
What do you think?
Here is a comparison:
Left: Kirby 2 using GBC palette
Right: Kirby 2 using SGB palette
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
There is an issue with building this for Android. With INCDIRS using the -I${PATH} form the build system will eventually pick up gambatte's memory.h in place of Android's file with the same name.
The simple fix is to replace all entries in INCDIRS with the -iqoute ${PATH} form, then change <gambatte.h> to "gambatte.h" in libretro.cpp.
The environment I use to build is 'platform=unix CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-g++'
The following ROM crashes it: gb-crasher.zip
I don't know what this file is, but it looks like just junk data.
Backtrace:
#0 0x00007fffdba4b3bd in gambatte::Memory::nontrivial_read (this=this@entry=0x555556112860, p=<optimized out>, cc=cc@entry=0) at libgambatte/src/mem/memptrs.h:73
#1 0x00007fffdba4017b in gambatte::Memory::read (cc=0, p=256, this=0x555556112860) at libgambatte/src/cpu.cpp:518
#2 gambatte::CPU::process (this=this@entry=0x555556112860, cycles=<optimized out>) at libgambatte/src/cpu.cpp:511
#3 0x00007fffdba4827e in gambatte::CPU::runFor (this=0x555556112860, cycles=<optimized out>) at libgambatte/src/cpu.cpp:46
#4 0x00007fffdba483de in gambatte::GB::runFor (this=this@entry=0x7fffdba7f430 <gb>, videoBuf=<optimized out>, pitch=<optimized out>,
soundBuf=soundBuf@entry=0x7fffdba7b280 <retro_run::sound_buf>, samples=@0x7fffffffb9d4: 2064) at libgambatte/src/gambatte.cpp:50
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I have experienced some issues trying to compile current master on my ODROID device.
Please consider merging the following patch:
https://docs.google.com/file/d/0B_mVbKYzqk5-bTdHTnFmejlPSkk/edit?usp=sharing
It contains both bugfixes and improvements for ODROID platform (ARMv7). You might want to change the position of -fPIC
Having trouble loading save states in Gambatte on Vita Enso 3.65 with several GB games.
Around 40-70% loading tryies are loading fine, the rest are freezing.
OSD is freezing at "0% loading state".
Can not enter RetroArch menu anymore while it freezed. Have to close the program with the PS button and restart RetroArch.
The following roms have I tried so far:
Problem occurs with v1.7.1 and nightly from 2018-03-28.
The maching bios files are used. Tryied with fresh and clean retroarch.cfg, also.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Gameshark cheat codes do not work properly in any game in this emulator. I have tried both Pokémon Crystal (US 1.0) and Pokémon Trading Card Game (US) and Gameshark codes worked for neither game.
Game Genie codes seem to work, however.
Seems to me since
75dca15
Tried only on win x64
Hello everyone!
Recently started using the Gambatte core again and had almost forgotten how good it was!
I have used bgb for a while now and noticed that it had options for detecting Game Boy Pocket/Super Game Boy 2 hardware.
There is actually a separate BIOS for the Game Boy Pocket, it's called mgb_boot.bin (SHA1: 4e68f9da03c310e84c523654b9026e51f26ce7f0) and in bgb it works quite well.
Normal users wouldn't see the difference between the regular dmg_boot.bin and the mgb_boot.bin when booting a Game Boy game, the only real difference is that the mgb_boot.bin differs in one byte.
It loads the value $FF into the A register instead of $01 just before handing over the control to the game which is used by the game to detect that it is running on Game Boy Pocket hardware.
Coming back to Gambatte again I noticed in the Emulated hardware core option that Game Boy Pocket isn't present (Auto|GB|GBC|GBA)
Would it be possible to add Game Boy Pocket to the list? There is a seperate BIOS and the Game Boy Pocket is different to the standard brick sized original Game Boy hardware wise.
When using Use official bootloader (restart) enabled with the mgb_boot.bin BIOS the user could pair it with the added Emulated hardware (restart) GBP option and make it "act" like a Game Boy Pocket.
This would be pretty cool, to have most of the Game Boy systems available.
What do you think?
With the latest gambatte core and the latest Retroarch code on Mac OS (High Sierra), enabling Runahead makes the application / core freeze after around a minute of gameplay. You need to use a force-quit shortcut (Option+CMD+Esc) to quit the application.
This happens all the time, regardless of whether Second Instance is activated and irrespective of the specific content loaded (GB game, GBC game, etc.). The same core works perfectly with Runahead on Windows.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi debuggers,
I submit a new issue on sound issue with gambatte. I tested on gbc games like Zelda awakening DX. At start, the sound crackling problem arrives. This problem hasard been detected since few month ago. It concerns as well the lastest retroarch version as older version. But ne carreful, this issue IS not systematic. Sometimes it works but when sound crackling occurs, it persists. Even if i reboot thé 3ds.
Here my test rig:
N3ds + luma3ds 8.1.1 with boot9strap.
Retroarch 1.6.9 release (latest)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Roms like Kirby Tilt n Tumble do not work as they use a data format that gambatte does not support.
Apparently Visual Boy Advance has some code that might be portable for this
https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/src/gb/gbMemory.h#L50
https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/src/gb/gbMemory.cpp#L664
I took a look at doing the port myself but the differences in operations between VBA and gambatte are a bit mysterious to me. Someone with more experience with these codebases might have a better time with it.
Gambatte currently fails to create sockets on my friend's Windows machine because the socket checking code checks if fds are negative. On Windows, fds can be negative so you have to check if it's INVALID_SOCKET.
http://www.sockets.com/winsock.htm#Deviation_DataType
https://github.com/libretro/gambatte-libretro/blob/master/libgambatte/libretro/net_serial.cpp#L116
I'm unsure how much other code is hit by this error.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Currently running gambatte (Latest Git) on a rpi2 and i'm unable to launch the game.
It crashes right after selecting the game.
Side Note: Tried with tcgdual and mGBA, as much as they can run the game they are both unable to save.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The color correction core option is not honored if the colorization mode is set to "custom".
According to user reports, recent memory mapping changes (in the last few months/year?) have broken achievement support. The memory map seems offset by minus 0xC000 bytes, such that an address which is expected to be located at 0xC123 would now be located at 0x0123. I am not sure if this applies to all, or only some titles, and I am not sure if banks were swapped or if all of them were simply offset. This commit changes memory descriptors and might be related to this issue.
Memory map should follow this layout for compatibility.
Quoting meleu/RetroArch-problematic-cheevos#36:
So to summarize, the issue is not specifically a problem with RetroArch 1.7.5 Android since that build works ok with GearBoy core, nor is it an issue with Gambatte v0.5.0-netlink because that core works fine with RetroArch 1.7.5 Raspi build.
The issue is isolated to only certain builds of Retroarch 1.7.5 (Android and PC) running the Gambatte v.0.5.0-netplay core and in those cases only some addresses display the compatibility problem.
I found every Roms I try makes it Crash soon as it tries to Load the Rom and have to Exit out of Retroarch to get back to Retroarch
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Vanilla Gambatte also supports per-game custom palettes (they are saved in "%APPDATA%\gambatte\palettes").
How to use them with RetroArch?
Reboots the game instead of loading the save state. Occurs on retro_serialize or retro_unserialize.
how to enable GBC BIOS palettes?
(vanilla gambatte supports them)
I have spent the last couple of days, in vain, trying to get a custom palette working in Gambette for Retroarch android. Specifically, a pea-green GB palette so I don't have to rely on the battery-taxing shader.
Apparently, users of Retroarch on other systems have gotten colorization to work fine. But on Android, I'm fairly certain it's broken. The Special palettes fail to load anything, and choosing custom does not load the proper .pal file, and the palette defaults to whatever the last internal palette was.
My palette files are located in /data/data/com.retroarch/system/palettes, and read/write/execute privileges have been granted to all files and folders. But still nothing. I must thus add this issue.
When trying to build core without __LIBRETRO__
flag, we get the following errors:
src/gambatte-memory.h:61:2: error: 'class gambatte::Cartridge' has no member named 'loadSavedata'
void loadSavedata() { cart_.loadSavedata(); }
src/gambatte-memory.h:62:2: error: 'class gambatte::Cartridge' has no member named 'saveSavedata'
void loadSavedata() { cart_.loadSavedata(); }
Seems that at some point portability was broken. No idea how many more functions are missing, as the build process just stops there.
Hi there, having an issue with Gambatte where instead of the core having its own control config, it uses retropad directly. So instead of mapping just the core it remaps retropad for all other cores, the controls are also not changed in input to reflect changes made and the only way to reset control mappings to normal is via Gambatte.
This is contrasted to something like Snes9x which has a "SNES pad" setting and changes made in "controls" only affect the Snes9x core.
Using RetroArch 1.4.1 on Android, core is Gambatte v0.5.0-netlink.
Thank you much.
It seems there is some nasty audio clicking in a lot of games I've tried (particularly noticable when bringing up the pause menu in Link's Awakening DX)
Would a declicking feature (like VBA-M has) be possible?
RetroArch 1.7.2 - Windows 10 x64
Gambatte crashes on startup when loading Pokemon Crystal
ROM: Pokemon Crystal REV A (No intro)
It works fine with other cores like Sameboy.
Gambatte seems to load other games without issues and the same settings and shader.
No BIOS files used.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.