Installing
-
Flash BaseOS to an SD Card
Download the latest release of BaseOS and write the
.imgto an SD card with something like Raspberry Pi Imager.Insert this card into the SD card slot labeled
SD1. -
Download the latest release
Go fetch the latest slot release from GitHub.
-
Copy it onto SD2
Prepare your second SD card by formatting it to
FAT32orexFATwith aMaster Boot Record (MBR)partition scheme.Once formatted, unzip the release zip you downloaded and copy the contents to the second SD card.
-
Add your games
Drop your legally obtained ROM files into their corresponding platform's folder in
Games/. You may optionally place labels into the matching platform folder found inLabels/. -
Put the second card into
SD2and boot!I hope you enjoy using slot!
To update, download a fresh release, unzip the archive, and replace the System/
folder on your second card.
User guide
-
Browse the Carousel
Left and Right to flip through games on the shelf.
L1 and R1 to switch platforms. -
Insert and Play
Tapping A loads the last save state.
Holding A starts the game fresh. -
Ejecting a Game
Hold MENU to eject the cart.
On exit, slot creates a save state. -
Save States
SELECT + R1 creates a save state.
SELECT + L1 loads the most recent.
Double tap MENU to open the save state switcher. -
Commit Aspect Ratio Crimes
Just like the OG, L1 stretches GB and GBC games.
R1 puts them back at their original size. -
Fast-Forward and Rewind
Hold R2 to fast-forward.
Double tap R2 to lock FF on.
Hold L2 to rewind. -
Lid Detection
Closing the lid writes a save state and turns off the display. Open it again and you're back in the game.
Leave it shut for three minutes and slot powers off. It will resume with that save state on the next boot.
1 of 6
Button Reference
- SELECT + Up / Down
- Adjust brightness
- SELECT + Left / Right
- Adjust blue light
- VOL+ / VOL−
- Change the volume
- VOL+ + VOL−
- Toggle mute
- Left / Right
- Move along the shelf
- L1 / R1
- Switch between platforms
- Tap A
- Resume the last save state
- Hold A
- Start the game fresh
- MENU
- Open the settings menu
- START
- Choose which emulator runs the cart (GBA only)
- Hold MENU
- Save state, eject the cart, back to the carousel
- Double tap MENU
- Open the save state switcher
- SELECT + MENU
- Link with another device running
slot - SELECT + R1
- Save state
- SELECT + L1
- Load the most recent save state
- Hold L2
- Rewind
- Hold R2
- Fast-forward
- Double tap R2
- Lock fast-forward on. Press again to unlock.
- L1 / R1
- Game Boy and Game Boy Color only: stretch to fill the screen / original size
- Left / Right
- Flick through the states
- A
- Load the one on screen
- Y
- Delete the one on screen
- X
- Undo the last save or load, up to 30 seconds after
- B
- Back to the game
Anticipated Questions Answered
- Will slot run anything other than GBA?
- Yes. You can bring your GB and GBC carts to the party.
- This is almost perfect but needs more systems. Will you add them?
- No. I want to recreate the feeling I had playing my GBA SP as a child.
- Does slot allow you to pair Bluetooth headphones?
- No. Use the headphone jack.
- How do I add cart labels?
- Drop a
.pnginto theLabels/folder for that platform, named after the ROM. For example,Labels/GBA/Metroid Fusion.pngmatchesGames/GBA/Metroid Fusion.gba. - Do I have to craft them by hand?
- Nah! You can use the slot Cart Studio.
- Where do games go?
- Each platform has its own folder under
Games/. - Is there a BIOS boot animation on game start?
- Yes! Drop the following files you legally obtained into
BIOS/.- gba_bios.bin
- gbc_bios.bin
- gb_bios.bin
- Where do the games come from?
- Your own legally obtained backups.
- Can I trade Pokémon with a friend?
-
Yes, with a second RG SP running
slot.First, navigate to the game and press START to open the core selection menu. Pick
gpSP.While in game, press SELECT + MENU and choose
LINK.One player needs to pick
HOSTwhile the other choosesJOIN. - Which games can link?
Pokémon Emerald, LeafGreen, and FireRed.
Additionally, both Advance Wars have worked for me.
A hacky implementation of link play using mGBA can be used to play Mario Kart Advance.
- Do you accept contributions?
-
I am not opposed to accepting pull requests. I just ask that you come discuss planned work in an issue on GitHub ahead of time.
slot is intentionally light on features. I am not looking to add the kitchen sink. If this form of collaboration doesn't appeal to you, several individuals have forked slot and gone off to make it their own.
Credits
Emulation is handled by mGBA and gpSP.
BaseOS by Prashant Vaibhav serves as the operating system image.
Type is Open Sans, under the SIL Open Font License, and Nerd Fonts symbols by Ryan L. McIntyre, under MIT. The panel mask is derived from LCD3x, a public-domain shader by Gigaherz in the libretro shader collection.
The sounds are a recording of me shoving a cartridge into my childhood GBA.
AI Disclosure
The Rust frontend was put together by Claude Opus. I reviewed everything that was produced. The RG SP SVGs on this page were also generated by Claude. This documentation is 100% free-range, meatbag prose.
The project is extremely low stakes. I wanted a bespoke frontend for my RG SP and thought that something that evokes the feeling of using my GBA SP as a kid would be pretty neat.
Use it, don't use it, I don't care.
Figured I should share the end result of all the wasted water. ✌🏻