{"id":33000233,"url":"https://github.com/skyfloogle/red-viper","last_synced_at":"2026-01-30T20:08:17.553Z","repository":{"id":178082352,"uuid":"655397742","full_name":"skyfloogle/red-viper","owner":"skyfloogle","description":"A Virtual Boy emulator for the 3DS","archived":false,"fork":false,"pushed_at":"2026-01-24T20:19:17.000Z","size":4708,"stargazers_count":974,"open_issues_count":17,"forks_count":26,"subscribers_count":30,"default_branch":"master","last_synced_at":"2026-01-30T05:03:31.908Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mrdanielps/r3Ddragon","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skyfloogle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-06-18T19:13:04.000Z","updated_at":"2026-01-29T17:41:13.000Z","dependencies_parsed_at":"2024-03-23T13:27:28.644Z","dependency_job_id":"e0812e2e-6928-405d-b744-616b301ea593","html_url":"https://github.com/skyfloogle/red-viper","commit_stats":null,"previous_names":["skyfloogle/r3ddragon","skyfloogle/red-viper"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/skyfloogle/red-viper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyfloogle%2Fred-viper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyfloogle%2Fred-viper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyfloogle%2Fred-viper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyfloogle%2Fred-viper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skyfloogle","download_url":"https://codeload.github.com/skyfloogle/red-viper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyfloogle%2Fred-viper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-13T13:00:28.663Z","updated_at":"2026-01-30T20:08:17.545Z","avatar_url":"https://github.com/skyfloogle.png","language":"C","readme":"Red Viper\n=========\n\nA Virtual Boy emulator for the Nintendo 3DS continuing mrdanielps's work on [r3Ddragon](https://github.com/mrdanielps/r3Ddragon),\nwhich is itself based on Reality Boy / Red Dragon. It uses a dynamic recompiler with busywait detection and a\nhardware-accelerated renderer to achieve high performance on the 3DS's limited hardware.\n\n## Features\n* All officially licensed games are playable at full speed, even on the original 3DS\n* 3D support\n* Game saves and savestates are supported\n* 3DS display runs at 50Hz, like the Virtual Boy\n* Fully customizable button mapping, including New 3DS inputs and the Circle Pad Pro\n* Virtual right D-Pad or A/B buttons on the touch screen\n* Configurable color palettes\n* Local wireless multiplayer\n\n## Installation\n\n[A modded 3DS](https://3ds.hacks.guide/) is needed. Once that's sorted, you can install it using [Universal Updater](https://universal-team.net/projects/universal-updater.html).\n\n\u003cdetails\u003e\n  \u003csummary\u003eYou can also scan this QR code with FBI.\u003c/summary\u003e\n\n![image](https://github.com/skyfloogle/red-viper/assets/18466542/31fc852b-c701-4710-b849-fbf1d7dc29b8)\n\u003c/details\u003e\n\nAlternatively, the latest release can be manually downloaded [here](https://github.com/skyfloogle/red-viper/releases/latest),\nprovided as a 3DSX (can be loaded with Homebrew Launcher) and as a CIA (can be installed to the HOME Menu with FBI).\nROMs can be placed in any desired location on your SD card. The emulator will remember the location of the last ROM you loaded.\n\n## Usage\n\nROM files must use the .vb extension to be recognized. They may be archived in .zip files.\n\nROM files may be placed anywhere on the SD card - the emulator has a file browser, and remembers the most recently used directory.\n\nIf you're looking for games, check out [Planet Virtual Boy's homebrew section](https://www.virtual-boy.com/homebrew/)!\n\n## FAQ\n\n\u003e It doesn't work! / What's this DSP firmware error?\n\nTry updating your Luma3DS installation (I tested with v13.0.2). Once it's updated, you may need to [dump your DSP firmware](https://3ds.hacks.guide/finalizing-setup#section-iii---rtc-and-dsp-setup).\n\n\u003e Can I use a flashcart, like Gateway 3DS?\n\nRed Viper uses a dynamic recompiler, which requires functionality only available when Luma is installed. Flashcarts cannot provide this, and therefore unfortunately cannot run Red Viper.\n\n\u003e The depth slider is weird.\n\nThe Virtual Boy wasn't designed with a depth slider, so games can't have their depth scaled in the way 3DS games can. The alternative is to\nshift the entire image backwards or forwards, similar to how the Virtual Boy's IPD slider works.\nThe default setting (3DS mode) starts at a \"neutral\" level and pushes the image further back as you move the slider up, keeping the metaphor fairly similar\nto how most 3DS games work. Alternatively, \"Virtual Boy IPD\" mode can be enabled, which unlocks the full range, from closest to furthest.\n\nTo use the \"default\" level, use 3DS mode and keep the depth slider on, but near the bottom.\n\n\u003e What do the numbers in the performance info mean?\n\nThis displays the time taken for **A**ll processing in one frame, **D**RC processing (CPU emulation),\n**C**itro3D processing (CPU graphics), and **P**ICA200 processing (GPU graphics). It also displays the\n**M**emory usage of the DRC cache (increases over time then resets).\n\nAs this is a developer option at heart, frametimes are displayed in milliseconds rather than FPS, as the former is much easier to reason about in this context.\nThe target is usually 20ms, though some games only draw every other frame, so rendering has more leeway there.\n\n## Building\n\nAfter setting up [devkitPro](http://3dbrew.org/wiki/Setting_up_Development_Environment), install the\nadditional dependencies:\n```bash\n\u003e pacman -S 3ds-zlib\n```\n\nAfter cloning the repository, fetch the last dependencies:\n```bash\n\u003e git submodule init\n\u003e git submodule update\n```\n\nOnce that's all sorted, you can choose between four different make targets:\n\n* **`make release`** is the default, and adds `-O3` to CFLAGS.\n* **`make testing`** adds `-O3` to CFLAGS. It will output basic debug info to a connected debugger.\n* **`make debug`** adds `-g -O0` to CFLAGS. It builds without optimizations so it can be debugged more easily.\n* **`make slowdebug`** adds `-g -O0` to CFLAGS. It will output a lot of debug information, which will slow emulation down but might be helpful to debug game-specific issues.\n\n### Forwarders\n\nA Virtual Boy ROM can be bundled into a Red Viper CIA, so that the game takes a space on the HOME Menu.\nThis can be done as follows:\n1. Download New Super Ultimate Injector (NSUI), txobtool, and the CIA build of Red Viper.\n2. Open NSUI, and open Tools \u003e CIA extract and rebuild.\n3. Drag red-viper.cia onto the new window, select it in the list, and extract.\n4. Adjust name, icon, publisher, icon, and product code to your liking. Make sure to select the correct language. Also make sure to [generate a new title ID](https://studionamehere.github.io/HomebrewTitleIDGenerator/), as this is the unique identifier on the home menu.\n5. Open the extract folder.\n6. In extracted/ExtractedRomFS, place your .vb ROM file, and modify the existing \"filename.txt\" to contain the filename of your inserted ROM file.\n7. Most of the remainder of this guide will be for modifying the banner. To start with, navigate back to the \"extracted\" folder in your file explorer.\n8. Open a command prompt, type `cd ` followed by a space, then drag the ExtractedBanner folder into your command prompt window, then hit enter. The terminal should now display the path to your ExtractedBanner folder.\n9. Drag txobtool.exe onto your command prompt window, add a space followed by ` -evfd banner.cgfx bannerout`, then hit enter. A new \"bannerout\" folder should be created.\n10. Replace the COMMON1.png image within with a new image, with the same dimensions. Make sure the image is saved as 32-bit, or has transparent parts.\n11. Drag txobtool.exe onto your command prompt window, add a space followed by ` -ivfd banner.cgfx bannerout`, then hit enter. Note that unlike step 9, with \"-evfd\", this one contains \"-ivfd\".\n12. Back in NSUI, rebuild the CIA.\n\nYou should now have a \"red-viper_Edited.cia\" file in your extract folder. This contains your provided ROM and all the metadata changes.\n\n## License\n\nSome of the code is distributed under the MIT License (check source files for that) but, since\nthis is a port of Reality Boy, here is (part of) the original readme:\n\n```\nThis Reality Boy emulator is copyright (C) David Tucker 1997-2008, all rights\nreserved.   You may use this code as long as you make no money from the use of\nthis code and you acknowledge the original author (Me).  I reserve the right to\ndictate who can use this code and how (Just so you don't do something stupid\nwith it).\nMost Importantly, this code is swap ware.  If you use It send along your new\nprogram (with code) or some other interesting tidbits you wrote, that I might be\ninterested in.\nThis code is in beta, there are bugs!  I am not responsible for any damage\ndone to your computer, reputation, ego, dog, or family life due to the use of\nthis code.  All source is provided as is, I make no guaranties, and am not\nresponsible for anything you do with the code (legal or otherwise).\nVirtual Boy is a trademark of Nintendo, and V810 is a trademark of NEC.  I am\nin no way affiliated with either party and all information contained hear was\nfound freely through public domain sources.\n\nAcknowledgments:\n----------------\n\nFrostgiant, Parasyte, and DogP (and the rest of people that have contributed\nto the VB sceen in the last five years) - Their work on Red_Dragon has been a\nreal inspiration. Its amazing how far they have gone with so little to start\nwith.\n\nBob VanderClay - most of the original code is based off\nof his VB disassembler.\n\nBen Haynor - Provided me with a much better understanding of\nthe VB internals.\n\nJoseph LoCicero, Dave Shadoff - I stole the jump table ideas from their tg16\ndisassembler, thanks guys.\n\nNeill Corlett - took many ideas (and some code)\nfrom his Starscream CPU core\n\nKevin Banks - for donating a very nice pair of Frenzle 3D\nviewers, and being an all around great guy.\n\nMegan Tucker - For putting up with my tinkering all night, and resisting the\nurge to toss all my video games out the window.\n\nv810 is a trademark of NEC co.\nVirtual Boy is a trade mark of Nintendo\nReality Boy is in no way affiliated with either of these parties\n```\n\n### Credits\n\n* Everyone mentioned in the license. Without Reality Boy and Red Dragon it wouldn't have been possible.\n* smealum and contributors - ctrulib.\n* Vappy, Team Fail, HtheB, hippy dave and kane159 on GBAtemp - early testing.\n* benhoyt - inih.\n* Myria - libkhax\n* thunderstruck - CIA banner sound (taken from Fishbone).\n* nop90 - Reality Boy backports and fixes.\n* danielps - Initial 3DS port and V810 dynarec.\n* Floogle - 3DS hardware renderer; many optimizations, bugfixes, and other improvements.\n* djedditt - Enhanced 3D depth slider support.\n* Morintari - splash screen artwork\n* nevumx - Custom control scheme\n* All GitHub contributors\n","funding_links":[],"categories":["Handheld game console emulators"],"sub_categories":["Nintendo Handhelds"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskyfloogle%2Fred-viper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskyfloogle%2Fred-viper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskyfloogle%2Fred-viper/lists"}