forked from mac2612/retroleap
-
Notifications
You must be signed in to change notification settings - Fork 0
Retroleap is a custom linux and retroarch based firmware originally meant for leapfrog devices
License
DCFUKSURMOM/retroleap
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
retroleap is a replacement firmware for Leapfrog devices, that combines retroarch, ARM-optimized emulator cores, and a buildroot root filesystem. You can easily download and install retroleap on your leapsterGS system! To do this, follow the instructions below on your Linux machine. ------------------------------------------------------------------------------- Installing (leapfrog devices): 1. Install the necessary dependencies: On ubuntu/debian/etc: sudo apt install sg3-utils git python 2. Clone sshflash (only for leapfrog devices) git clone https://github.com/DCFUKSURMOM/sshflash.git cd sshflash 3. Download the latest release .tar.zst file at: https://github.com/DCFUKSURMOM/retroleap/releases 4. Extract the release file into the sshflash directory. You should now have the uImage, rootfs.tar, and surgeon_zImage files in your sshflash directory. 5. Plug your Leapster into a USB port on your PC. Turn it on while holding the L and R shoulder buttons, along with the hint button. You should see an image of a leapster connected to a PC on the leapster's screen. If your Leapster goes through the usual boot sequence (LeapFrog logo, boot chime) before the connected screen, you've done it wrong. 6. Run sshflash: ./remote_flash.sh 7. Wait for sshflash to do its thing. 8. If all goes well, your leapfrog device should reboot into Retroarch! 9. These instructions have been tested on Ubuntu 18.04, Ubuntu 18.10, MX-21.3, and Pop!_OS 21.04. If you run into trouble, please open a bug! Button Layout: On the LeapsterGS: -A/B/Pause/Question buttons - B/A/X/Y -L/R shoulders - L/R -Volume down/up - select/start -Home button - modifier key for retroarch stuff -Home + Question - Go back to retroarch menu when in an emulator -Home + vol up / down - Volume up/down -Home + L shoulder - Save emulator state -Home + R shoulder - Load emulator state -Power - Power off. Quick press for graceful power-off, long press for force-shutdown. On the LeapPad2: LeapPad2 has quite a limited button layout, so it may not be good for systems with a lot of buttons like SNES. -Note that the D-pad is rotated to match the orientation of retroarch (i.e. left arrow is up, etc) -Vol down/up - B/A -Down arrow key - Select (doubles as the normal down arrow key). -Home button - Start, and also retroarch modifier key -Home button + Up arrow - go back to retroarch menu when in an emulator -Home button + left arrow - Save emulator state -Home button + right arrow - Load emulator state -Home button + Volume up/down - Volume up/down Default Cores: (some of these arent building currently) atari800 - a tweaked atari800 emulator modified for leapster by JabberwockPL catsfc - SNES emulator. Performance is alright depending on the game. fceumm - NES emulator, good speed and fairly accurate. gpsp - GBA emulator. Runs well; you need to put your GBA bios at /roms/gba_bios.bin on the device (see 'Adding ROMs') imame4all - MAME, performance depends on the game. picodrive - Genesis emulator, runs well on the games I've tried. pocketsnes - SNES emulator, runs some games well but slow on others. quicknes - NES emulator, low accuracy but very fast. Adding ROMs (leapfrog devices): When you attach a booted leapster device running retroleap, it will show up as a network interface. Retroleap will give your PC an IP on this interface in the 169.254.6.X space. The leapster is accessible on 169.254.6.1, using the private key supplied with sshflash. To add ROMs, create the directory structure that you prefer using SSH - it should be within /roms in order to get full use of the flash memory in the device. Then, use scp to move ROMs into the directory you just made. For example: ssh -i ~/sshflash/keys/id_rsa [email protected] 'mkdir /roms/nes' scp -i ~/sshflash/keys/id_rsa /home/foobar/my_awesome_homebrew.nes [email protected]:/roms/nes You can use df -h to see how much space you have available: ssh -i ~/sshflash/keys/id_rsa [email protected] 'df -h /roms' Emergency (Leapfrog only): If you're stuck and your device is in a weird state, you can always try again by booting your device in Surgeon mode (hold L + R shoulder buttons while powering up). Unfortunately the LeapFrog Connect app has been mostly shut down so it is no longer possible to easily restore the stock OS on leapfrog devices. Additionally, you can get serial access to the device either via the cartridge port, or via a header on the inside of the device. Retroleap does not replace the stock bootloader, so unless something really nasty happens, you should be safe from bricking your device. Doing your own build: To do a build, clone the source tree with git. Then refer to the readme file for your device: Leapfrog build instructions are in README-LF Original Xbox build instructions are in README-XBOX PC build instructions are in README-PC Wishlist/planned features: -More cores to support additional systems. -Overlay support for the tablet form-factor devices to make up for lack of buttons. If you'd like to get involved with this project, please get in touch! New contributors are always welcome :) Shoutouts/thank yous: -mac2612 (https://github.com/mac2612) for the original retroleap project. Hopefully one day he will return -JabberwockPL (https://github.com/JabberwockPL) for being a trusted tester and collaborator, and doing cool stuff with atari800 cores, which will soon be integrated into retroleap! -Special thanks for jrspruitt (https://github.com/jrspruitt) who wrote a bunch of the low-level code to talk to leapfrog's bootloader as part of OpenLFConnect -The retroarch team and all the folks writing ARM-optimized cores that run so well on very dinky ARM systems (notaz especially!) -LeapFrog Enterprises - for making such a cool and fun to hack device, being forthcoming with GPL requests, and generally being awesome. Sorry to see you guys get bought out by VTech, your products were infinitely better engineered and better manufactured. Hopefully through this projects, some of the old Leapster devices can live on past their original lifespan.
About
Retroleap is a custom linux and retroarch based firmware originally meant for leapfrog devices
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Makefile 63.5%
- Python 16.6%
- C 8.7%
- Shell 6.1%
- SourcePawn 1.4%
- BitBake 1.2%
- Other 2.5%