Game Boy and Game Boy Color Emulator

Overview

SkyBoy

A simple game boy emulator written to keep my skills sharp. The majority of the code was written in a 7 day sprint.

It supports most common Game Boy and Game Boy Color games, audio and save states.

It can be played here: https://skylersaleh.github.io/SkyBoy/

Drag a rom in to load it.

Controls:

  • WASD: DPad
  • J: A button
  • K: B button
  • ': Select button
  • Enter: Start button
Comments
  • Scooby doo classic creep capers minor graphics glitch.

    Scooby doo classic creep capers minor graphics glitch.

    Dr Jekyll's head keeps flickering in visibility. sky emu scooby

    Updated correct screenshot. Other emulators have this too, might be glitched on hardware as well. This persists, even while using the official bios.

    help wanted gb 
    opened by jmc92 4
  • [BUG?][WEB version][IOS15] can't running

    [BUG?][WEB version][IOS15] can't running

    but the 微软Edge it can runnig. safari will cash

    Error: TypeError: Argument 1 ('shader') to WebGLRenderingContext.shaderSource must be an instance of WebGLShader url: blob:http://172.20.10.5/a4833a2e-bc6e-4f04-a360-71ef20c468f9 line: 8010 column: 23 error: TypeError: Argument 1 ('shader') to WebGLRenderingContext.shaderSource must be an instance of WebGLShader

    opened by nenge123 3
  • Need for speed flickering graphics on title menu

    Need for speed flickering graphics on title menu

    There's about 3-5 pixels in a long strip at the bottom of the menu on Need for Speed - Porsche Unleashed that keeps flickering, on the screen where you have all the options after pressing start.

    This persists, even while using the official bios.

    bug gba 
    opened by jmc92 3
  • 【GB】Add LFSR for noise channel

    【GB】Add LFSR for noise channel

    Adds emulation for the linear-feedback shift register that is used to generate pseudeorandom noise for the noise channel in the Game Boy's sound processor.

    opened by Powerlated 2
  • Text corruption in Lufia

    Text corruption in Lufia

    image

    This seems to be caused by spurious hflip flags being included on the tile data for the text background layer.

    Tracing through DMA and cpu memory transactions, there is two potential culprit writes from the CPU, both by PC (0x0807a4f2):

    image

    The disassembly of the game ROM seems to show a complex expression leading to those writes.

    image

    Best guess currently is this is caused by incorrect latching/open bus emulation, as this value may be created by ORing a previous value onto itself, and there is portions in the game where VRAM seems to be being cleared with open bus values.

    opened by skylersaleh 2
  • Pokemon - Blue Version (USA, Europe) (SGB Enhanced): music not fading properly

    Pokemon - Blue Version (USA, Europe) (SGB Enhanced): music not fading properly

    Playing using the dev branch on Chromium for Android using GrapheneOS. When playing Pokémon Blue, music is supposed to (cross?)fade when switching areas that have different music (like Pallet Town to Route 1), but this is currently not happening.

    opened by crebwyllion 1
  • [Feature Request]

    [Feature Request]

    • support Display in other languages
    • support cheat
    • support save/load state in indexdb data when i load
    • js method take output "capture" image Uint8array
    opened by nenge123 1
  • [Feature Request] why not compression wasm file?

    [Feature Request] why not compression wasm file?

    SkyEmu.wasm,SkyEmu.js=>SkyEmu.zip

    is it download too long~

    using my js file,that have indexDB method

    https://github.com/nenge123/retroarch-web/blob/main/assets/RetroArch/retroarch_core.js
    https://github.com/nenge123/retroarch-web/blob/main/assets/RetroArch/zip.min.js //https://github.com/gildas-lormeau/zip.js
    
    (function(){
    let T = this;
    window.Module = {
    
    };
    this.docload(async () => {
    let files = await T.FectchItem({
                    'url': 'SkyEmu.zip',
                    'unpack': true,
                    'store': 'data-libjs',
                    'key': 'cores-SkyEmu.zip',
                    'version': 1.0,//change version will update
                    'process': status=> {
                        console.log(status);
                    },
                   'success':(files,headers)=>{
                            //or
                   }
    });
    //files console
    //{
    //'SkyEmu.wasm':uint8array
    //'SkyEmu.js':uint8array
    //}
    let asmfile = new TextDecoder().decode(files['SkyEmu.js']);
    //eval(asmfile)
    //(new Function('Module',asmfile))(Module);
    //await T.addJS(asmfile || files['SkyEmu.js']);
    }
    }).call(Nenge);
    
    enhancement 
    opened by nenge123 1
  • Golden Sun don't save

    Golden Sun don't save

    Congratulations for the work....I tried several games and was successful in almost all of them. Only Golden sun had a bug...it doesn't save or read .sav

    opened by AmscBr 1
  • [Feature Request] Black borders on iOS.

    [Feature Request] Black borders on iOS.

    I think this is probably a limitation with PWAs on iOS, but in landscape mode the left and right borders of the screen are not black but instead the same color as the app icon. Especially on the OLED phones it would be quite nice to have these pixels turned off as well. example

    enhancement 
    opened by pivotiiii 1
  • [Feature Request] Add an option to rotate the touch controls when screen rotation is enabled.

    [Feature Request] Add an option to rotate the touch controls when screen rotation is enabled.

    I would like to use the screen rotation feature in the dev builds so I don't have to disable rotation lock every time I use SkyEmu. When using the screen rotation feature, the controls currently stay in portrait mode. Alternatively, maybe add a default landscape option that just locks the app in landscape on launch.

    enhancement 
    opened by pivotiiii 1
Owner
Sky
Sky
Console game in which you are required to say the color of the word, not what the word says.

ENG УКР (ENG)Stroop - Train reaction and play at one time Desctiption Stroop - is a console game in which the user has to say color of the word, not t

Yura Shymon 2 Sep 22, 2022
Library with useful output stream tools like: color and style manipulators, progress bars and terminal graphics.

Library with useful output stream tools like: color and style manipulators, progress bars and terminal graphics Table of contents Introduction Documen

Gianluca Bianco 135 Sep 14, 2022
🎨 HiColor is a program for converting images to 15- and 16-bit RGB color

HiColor is a program for converting images to 15- and 16-bit RGB color, the color depth of old display modes known as “high color”. In 15-bit mode images have 5 bits for each of red, green, and blue, and the last bit is reserved. In 16-bit mode green, the color the human eye is generally most sensitive to, gets 6 bits.

D. Bohdan 176 Aug 1, 2022
Classic iPod mod with Raspberry Pi Zero and color screen

ipodrpi Classic iPod mod with Raspberry Pi Zero and color screen. Suitable for OSMC and plain Raspbian install. Install OSMC: Burn SD card with Raspbe

null 20 Aug 14, 2022
Convenient, high-performance RGB color and position control for console output

Oof (omnipotent output friend) It's common for C++ programs to write output to the console. But consoles are far more capable than what they are usual

Sebastian Werhausen 755 Sep 21, 2022
Neo - Simulates the digital rain from "The Matrix" (cmatrix clone with 32-bit color and Unicode support)

neo WARNING: neo may cause discomfort and seizures in people with photosensitive epilepsy. User discretion is advised. neo recreates the digital rain

Stew Reive 415 Sep 15, 2022
The command line app automatically determines your location using GeoIP and adjusts the color temperature depending on time

go-sct A color temperature setting library and CLI that operates in a similar way to f.lux and Redshift. The command line app automatically determines

Florine Sueur 1.1k Jan 25, 2022
Scientific color conversion library written in C.

Description: ------------ CML stands for "Color Machine Library" and is designed to be a C library for color conversions. The master is not working

null 1 Dec 26, 2021
This is a simple tool for automatically changing accent color based on wallpaper for kde plasma.

kde-plasma-adaptive-wallpaper-accent-color This is a simple tool for automatically changing accent color based on wallpaper for kde plasma. How to use

Tanbir Jishan 8 Mar 3, 2022
Dwm_lut - Apply 3D LUTs to the Windows desktop for system-wide color correction/calibration

About This tool applies 3D LUTs to the Windows desktop by hooking into DWM. It works in both SDR and HDR modes, and uses tetrahedral interpolation on

null 173 Sep 24, 2022
Visual Studio Extension that installs additional color themes

Using this Extension Download and install the extension Restart Visual Studio Navigate to Tools > Options > Environment > General and select your colo

Microsoft 327 Sep 21, 2022
AviSynthPlus color correction filter.

Description A color constancy filter that applies color correction based on the grayworld assumption. For more info. This is a port of the FFmpeg filt

null 7 Aug 7, 2022
A tool to apply accent color to win32 controls.

AccentApplicator A tool to apply accent color to win32 controls. Works with Windows 10 only. Overall Progress Controls Button Checkbox Combobox Edit T

Rounak 13 Sep 4, 2022
Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux, BSD and RetroArch.

Gearsystem is a very accurate, cross-platform Sega Master System / Game Gear / SG-1000 emulator written in C++ that runs on Windows, macOS, Linux, BSD, iOS, Raspberry Pi and RetroArch.

Ignacio Sanchez Gines 171 Sep 3, 2022
Emulator collection for Nintendo® Game & Watch™

Emulator collection for Nintendo® Game & Watch™ This is a port of the retro-go emulator collection that runs on the Nintendo® Game & Watch™: Super Mar

Konrad Beckmann 324 Sep 19, 2022
OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++.

OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++. It is a fork of the OTServBR-Global project. To connect to the server and to take a stable experience, you can use our own client or tibia client and if you want to edit something, check our customized tools.

OpenTibiaBR 81 Sep 22, 2022
A simple processor emulator written in c++ that can parse and execute x32 code. x32 is binary code made by me for this processor.

A SIMPLE PROCESSOR EMULATOR AND CODE EXECUTOR The Repository This is a fairly new project and is still heavy in development. If you find and bugs feel

Luka Golob 4 Jan 20, 2022
GameBoy emulator with debugger written in C++ using Win32 and SDL2

脳(のう)腐(ふ) DMG-01 emulator written in modern C++ using Win32 API and SDL2. It is intended as a hobby project to sharpen my C++ skills. The emulator is

Jimmy Yang 21 Sep 21, 2022
CHIP-8 Emulator using C and SDL2

CHIP-WALO Intro CHIP-8 is an interpreted programming language which was initially used in the late 1970s. It was made to allow more easily programed g

Diamond Rivero 8 Aug 19, 2022