# Apple //e Emulator on Fruit Jam

## Overview

![Adafruit Fruit Jam running the Apple 2e emulator showing the title screen for Moon Patrol](https://cdn-learn.adafruit.com/assets/assets/000/140/494/medium640/gaming_fruit_jam_moon_patrol.png?1760545866 )

![Adafruit Fruit Jam running the Apple 2e emulator showing the title screen for  Oregon Trail](https://cdn-learn.adafruit.com/assets/assets/000/140/495/medium640/gaming_fruit_jam_oregon_trail.png?1760545877 )

![Adafruit Fruit Jam running the Apple 2e emulator showing the title screen for Reader Rabbit](https://cdn-learn.adafruit.com/assets/assets/000/140/496/medium640/gaming_fruit_jam_reader_rabbit.png?1760545695 )

![Adafruit Fruit Jam running the Apple 2e emulator showing the title screen for Kraken](https://cdn-learn.adafruit.com/assets/assets/000/140/497/medium640/gaming_fruit_jam_kraken.png?1760545722 )

![Adafruit Fruit Jam running the Apple 2e emulator showing the opening screen for Zork](https://cdn-learn.adafruit.com/assets/assets/000/140/498/medium640/gaming_fruit_jam_zork.png?1760545750 )

![Adafruit Fruit Jam running the Apple 2e emulator showing the title screen for Total Replay bundle](https://cdn-learn.adafruit.com/assets/assets/000/140/499/medium640/gaming_fruit_jam_total_replay.png?1760545777 )

![Adafruit Fruit Jam running the Apple 2e emulator showing the title screen for Lode Runner](https://cdn-learn.adafruit.com/assets/assets/000/140/500/medium640/gaming_fruit_jam_lode_runner.png?1760545846 )

![Adafruit Fruit Jam running the Apple 2e emulator showing the title screen for Neptune](https://cdn-learn.adafruit.com/assets/assets/000/140/501/medium640/gaming_fruit_jam_neptune.png?1760545828 )

Relive some classical computing with this Apple //e emulator made for the Adafruit Fruit Jam. The emulator outputs DVI video over the Fruit Jam's built-in HSTX/DVI output port over HDMI cable, and accepts input from a keyboard and gamepad via the two USB Host ports. Audio output is supported by the onboard TLV320 DAC playing out of the JST or 3.5mm audio connectors.

Write programs in Basic, or get your game on with Moon Patrol, Zork, Oregon Trail and more. Load up the Total Replay bundle onto a micro SD card to access a collection of hundreds more games.

## Parts
Featured
### Adafruit Fruit Jam - Mini RP2350 Computer

[Adafruit Fruit Jam - Mini RP2350 Computer](https://www.adafruit.com/product/6200)
We were catching up on a recent [hackaday hackchat with eben upton](https://hackaday.io/event/202122-raspberry-pi-hack-chat-with-eben-upton)&nbsp;and learned some fun facts: such as the DVI hack for the RP2040 was inspired by <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/6200)
[Related Guides to the Product](https://learn.adafruit.com/products/6200/guides)
![Angled shot of assembled mini computer PCB with plate.](https://cdn-shop.adafruit.com/640x480/6200-10.jpg)

Featured
### Mini Chiclet Keyboard - USB Wired - Black

[Mini Chiclet Keyboard - USB Wired - Black](https://www.adafruit.com/product/1736)
Add a good quality, slim keyboard to your&nbsp;Raspberry Pi, Beagle Bone Black, or other single-board-computer with this sleek black chiclet keyboard. It's a full QWERTY keyboard with a USB cable and is compatible with all operating systems. We tried many keyboards to find one that felt...

In Stock
[Buy Now](https://www.adafruit.com/product/1736)
[Related Guides to the Product](https://learn.adafruit.com/products/1736/guides)
![Angled shot of a Black woman's silver-blue manicured hands on a slim, black keyboard.](https://cdn-shop.adafruit.com/640x480/1736-04.jpg)

Featured
### USB Game Controller with SNES-like Layout

[USB Game Controller with SNES-like Layout](https://www.adafruit.com/product/6285)
This is a generic USB&nbsp;game controller, which plugs into to provide a two-handed gaming experience for retro gaming, or really any game you want to use a handheld rather than keyboard controller! Use it with your Raspberry Pi or desktop computer while playing emulated games, or as a...

In Stock
[Buy Now](https://www.adafruit.com/product/6285)
[Related Guides to the Product](https://learn.adafruit.com/products/6285/guides)
![Angled shot of SNES game controller with USB-A cable.](https://cdn-shop.adafruit.com/640x480/6285-00.jpg)

Featured
### 512MB micro SD Memory Card

[512MB micro SD Memory Card](https://www.adafruit.com/product/5252)
Add storage in a jiffy using this **512MB** microSD card. Preformatted to FAT32, so it works out of the packaging with our projects. Works great with any device in the Adafruit shop that uses microSD cards. Ideal for use with Feathers, data loggers, or small Linux SBCs (not good...

In Stock
[Buy Now](https://www.adafruit.com/product/5252)
[Related Guides to the Product](https://learn.adafruit.com/products/5252/guides)
![Angel shot of Small microSD card 512mb](https://cdn-shop.adafruit.com/640x480/5252-00.jpg)

Featured
### HDMI Cable - 1 meter

[HDMI Cable - 1 meter](https://www.adafruit.com/product/608)
Connect two HDMI devices together with this basic HDMI cable. It has nice molded grips for easy installation, and is 1 meter long (about 3 feet). This is a HDMI 1.3 cable.

We're now stocking a very fancy Official Raspberry Pi cable with overmolding and a Pi logo. Please note...

In Stock
[Buy Now](https://www.adafruit.com/product/608)
[Related Guides to the Product](https://learn.adafruit.com/products/608/guides)
![Official Raspberry Pi HDMI Cable - 1 meter](https://cdn-shop.adafruit.com/640x480/608-03.jpg)

Featured
### USB Type A to Type C Cable - approx 1 meter / 3 ft long

[USB Type A to Type C Cable - approx 1 meter / 3 ft long](https://www.adafruit.com/product/4474)
As technology changes and adapts, so does Adafruit. This&nbsp;&nbsp; **USB Type A to Type C** cable will help you with the transition to USB C, even if you're still totin' around a USB Type A hub, computer or laptop.

USB C is the latest industry-standard connector for...

In Stock
[Buy Now](https://www.adafruit.com/product/4474)
[Related Guides to the Product](https://learn.adafruit.com/products/4474/guides)
![Angled shot of a coiled black, USB-C to USB-A cable.](https://cdn-shop.adafruit.com/640x480/4474-02.jpg)

Featured
### Snap-on Enclosure for Adafruit Fruit Jam

[Snap-on Enclosure for Adafruit Fruit Jam](https://www.adafruit.com/product/6425)
Here is a cool&nbsp;and minimal enclosure for your [Fruit Jam](https://www.adafruit.com/product/6200)&nbsp;to keep it safe during use and transport. This case has been custom-designed and 3D printed to accommodate all&nbsp;connection ports of the Fruit Jam. No screws or...

In Stock
[Buy Now](https://www.adafruit.com/product/6425)
[Related Guides to the Product](https://learn.adafruit.com/products/6425/guides)
![Angled Demo Shot of the Assembled Snap-on Enclosure with the Fruit Jam inside and powered on showing a rainbow effect of the LED's.](https://cdn-shop.adafruit.com/640x480/6425-02.jpg)

Featured
### 7" Display 1280x800 (720p) IPS + Speakers - HDMI/VGA/NTSC/PAL

[7" Display 1280x800 (720p) IPS + Speakers - HDMI/VGA/NTSC/PAL](https://www.adafruit.com/product/1667)
Yes, this is an adorable small HDMI television with incredibly high resolution **and built in 3W stereo speakers**! We tried to get the smallest possible HDMI/VGA display with high-res, high-contrast visibility. The visible display measures only 7" (17.8cm) diagonal, and the TFT comes...

In Stock
[Buy Now](https://www.adafruit.com/product/1667)
[Related Guides to the Product](https://learn.adafruit.com/products/1667/guides)
![Front view of assembled and powered on HDMI 4 Pi - 7" Display. The monitor displays a desktop background with a raspberry logo.](https://cdn-shop.adafruit.com/640x480/1667-00.jpg)

# Apple //e Emulator on Fruit Jam

## Install Emulator

## Download

The [Reload Emulator is released](https://github.com/adafruit/reload-emulator/releases) as a UF2 file that is ready for loading onto the Adafruit Fruit Jam. Click the button below to download the latest release of of the emulator.

[Download the Reload Emulator for Adafruit Fruit Jam](https://github.com/adafruit/reload-emulator/releases/latest/download/apple2e.uf2)
## Install
![Adafruit Fruit Jam with the reset button and the button #1, the boot button, highlighted](https://cdn-learn.adafruit.com/assets/assets/000/140/388/medium800/gaming_adafruit_fruit_jam_Resetboot.jpg?1760449574 )

Plug your Fruit Jam into your computer with a known good USB (data+power) cable.

To enter the bootloader, hold down the&nbsp; **BOOT/**** BOOTSEL button**(highlighted in red above), and while continuing to hold it (don't let go!), press and release the**reset button**(highlighted in blue above).&nbsp;**Continue to hold the BOOT/BOOTSEL button until the RP2350 drive appears on your Computer (in Finder or File Explorer depending on your operating system)!**

If the drive does not appear, release all the buttons, and then repeat the process above.

You can also start with your board unplugged from USB, press and hold the BOOTSEL button (highlighted in red above), continue to hold it while plugging it into USB, and wait for the drive to appear before releasing the button.

A lot of people end up using charge-only USB cables and it is very frustrating! **Make sure you have a USB cable you know is good for data sync.**

You will see a new disk drive appear called **RP2350**.

Drag the **apple2e.uf2** file downloaded from the green button above to the&nbsp; **RP2350** drive.

After the file copy is complete, the Fruit Jam will reset and begin running the Apple //e emulator.

With a DVI compatible display connected, it will show the boot sequence below.

If there are speakers or headphones connected to the 3.5mm audio jack, the infamous beep sound will play.

![Screenshot of RP2350 boot drive with the apple2e.uf2 file being pasted into it.](https://cdn-learn.adafruit.com/assets/assets/000/140/389/medium640/gaming_drop_uf2_rp2350.png?1760449926)

![Screen recording of Apple 2e boot sequence recorded from an Adafruit Fruit Jam](https://cdn-learn.adafruit.com/assets/assets/000/140/392/medium640thumb/gaming_bootup.jpg?1760451537 )

![Apple 2e PRODOS menu screen](https://cdn-learn.adafruit.com/assets/assets/000/140/393/medium640/gaming_apple2e_menu_screen.png?1760452007 )

# Apple //e Emulator on Fruit Jam

## Usage

There is an original owners manual for the Apple //e preserved on [archive.org](https://archive.org/details/apple-iie-owners-manual/) for perusing to get an overview of the system basics.

### ProDOS & Basic

By default the emulator will boot into a ProDOS menu. To move the selector around, use the **arrow keys** on the USB keyboard. The **enter** key will launch the selected item, and **ESC** will go back.

From this menu you can read the&nbsp; **README** and navigate through a few other directories. The main functional item&nbsp;that is accessible from this menu is the Basic system. To launch it, move the selector to **BASIC.SYSTEM** and press **enter**.

![Apple 2e ProDOS menu with BASIC.SYSTEM entry selected.](https://cdn-learn.adafruit.com/assets/assets/000/140/398/medium800/gaming_prodos_menu_basic_selected.png?1760453878 )

The [Basic System](https://en.wikipedia.org/wiki/BASIC) will launch into a&nbsp;[REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop). Code can be entered one line at a time and evaluated such as `PRINT "HELLO WORLD"` or the code can be prepended with line numbers to create larger programs.

To execute the current program, use the `RUN` statement.

To the left is a demonstration of a program printing a "hello" message and a counter variable using a for-loop.

Type in each line as shown, pressing enter after each line. Then when you type `RUN` and press ender the program will run!

Press `CTRL-C` to stop the program.

![Screenshot of ProDOS Basic system showing a basic program with a for loop printing "HELLO FRUIT JAM" 3 times](https://cdn-learn.adafruit.com/assets/assets/000/140/400/medium640/gaming_basic_loop_program.png?1760454299)

## Built-in Games

The Adafruit Fruit Jam build of the **Reload Emulator** comes with a few pre-loaded games that are ready to play right after installation.

These games are compiled into the firmware from&nbsp; **.dsk** disk image files. To launch into the different images, press the **left OS key** (left Apple or Windows key) and one of the keys&nbsp; **F2-F8**. By default, **F2** -&nbsp; **F6** &nbsp;have images on them, see the [Custom Build page](https://learn.adafruit.com/apple-e-emulator-on-fruit-jam/custom-build) for information about adding or changing disk images.

### Moon Patrol

To play&nbsp;[Moon Patrol](https://en.wikipedia.org/wiki/Moon_Patrol) press and hold the&nbsp; **left OS key** and press **F2**. The emulator will reset and launch into the Moon Patrol disk image.

The options screen documents all available keyboard keys and their associated options. Once everything is set to your liking, press the **space bar** to start the game.

While playing, the **A** key jumps and the **space bar** fires both up and out to the right.

See how far you can make it jumping over holes and shooting dirt piles and alien ships to stay safe.

![Moon Patrol startup screen](https://cdn-learn.adafruit.com/assets/assets/000/140/408/medium640/gaming_moon_patrol_startup.png?1760456932)

![Moon Patrol menu screen](https://cdn-learn.adafruit.com/assets/assets/000/140/409/medium640/gaming_moon_patrol_menu_screen.png?1760456958)

![Screen recording of Moon Patrol gameplay. A car driving to the right trying to avoid obstacles.](https://cdn-learn.adafruit.com/assets/assets/000/140/410/medium640thumb/gaming_moon_patrol.jpg?1760457205)

[Moon Patrol Instructions.pdf](https://cdn-learn.adafruit.com/assets/assets/000/140/446/original/Moon_Patrol_original_box__instructions___disk_for_Apple_II_%281984_Atarisoft%29.pdf?1760479124)
### Oregon Trail

Disk 1 of [Oregon Trail](https://en.wikipedia.org/wiki/The_Oregon_Trail_(1985_video_game)) is loaded into the 3rd disk image slot. From the ProDOS menu, press and hold the **left OS key** and press **F3** to launch Oregon Trail. In this classic game, the player tries to safely navigate a party of people traveling west on the namesake trail. Manage food, oxen, clothing, time, and other resources as you make the treacherous journey.

The game uses standard keyboard controls, often prompting the user to type a number and press **enter** to select a choice, or **space bar** to continue to the next screen.

Note that the emulator reboots when changing disks, making it impossible to continue on to Disk 2, a fate almost as bad as dying of dysentery.&nbsp;

![Oregon Trail title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/414/medium640/gaming_oregon_trail_title.png?1760459935)

![Oregon Trail loading screen showing a main street with many people, horses, and wagons lined by buildings on both sides. The text "Going back to 1848" appears in a box near the bottom.](https://cdn-learn.adafruit.com/assets/assets/000/140/413/medium640/gaming_oregon_trail_going_back.png?1760459906)

![Oregon Trails party member name entry screen](https://cdn-learn.adafruit.com/assets/assets/000/140/415/medium640/gaming_oregon_trail_names.png?1760459971)

### Reader Rabbit

[Reader Rabbit](https://en.wikipedia.org/wiki/Reader_Rabbit_(video_game)) and the Fabulous Word Factory is loaded into the 4th disk image slot. From the ProDOS menu, press and hold the **left OS key** and press **F4** to launch Reader Rabbit.

The main menu uses number keys **1-4** to select the game to play, **5** to toggle sound, and **6** to cycle between different input devices. Keyboard is the only input that is tested and known to work.

During the game, press the **?** key to see instructions and controls for the current game. Press **ESC** to exit the game and go back to the menu.

![Screenshot of title screen for Reader Rabbit and the Fabulous Word Factory](https://cdn-learn.adafruit.com/assets/assets/000/140/476/medium640/gaming_reader_rabbit_title.png?1760539364)

![Screenshot of menu for Reader Rabbit game](https://cdn-learn.adafruit.com/assets/assets/000/140/478/medium640/gaming_reader_rabit_menu.png?1760539386)

![Screenshot of Reader Rabbit gameplay showing a game involving 3 letter words that end with the letter "b".](https://cdn-learn.adafruit.com/assets/assets/000/140/479/medium640/gaming_reader_rabbit_gameplay.png?1760539433)

### Kraken

Kraken, a deep sea quest, is loaded in disk image slot 5. From the ProDOS menu, press and hold the **left OS key** and press **F5** to launch Kraken.

In this game, the player assumes the role of captain of a research ship trying to get a photo of a giant squid. Guide the ship to different areas, probe water conditions and lower the submersible into the depths of the water once you've found the perfect giant squid hiding spot.

The controls are all labeled on the screen. **Arrow keys** for movement, letter keys for various actions, **enter** to submit input, and **space bar** to continue

![Screenshot of Kraken game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/483/medium640/gaming_kraken_title.png?1760540503)

![Screenshot of Kraken game introduction message](https://cdn-learn.adafruit.com/assets/assets/000/140/484/medium640/gaming_kraken_description.png?1760540531)

![Screenshot of Kraken game main map screen](https://cdn-learn.adafruit.com/assets/assets/000/140/485/medium640/gaming_kraken_map.png?1760540561)

![Screenshot of Kraken game submersible control](https://cdn-learn.adafruit.com/assets/assets/000/140/486/medium640/gaming_kraken_sub.png?1760540600)

![Screenshot of Kraken game probe lowering control screen](https://cdn-learn.adafruit.com/assets/assets/000/140/487/medium640/gaming_kraken_probe.png?1760540633)

### Zork

Zork is loaded into disk image slot 6. From the ProDOS menu, press and hold the **left OS key** and press **F6** to launch Zork.

Zork is a text adventure game. The player types commands into the game which then reacts by outputting some text about the current situation the player finds themselves in.

The commands typically involve a verb or action, followed by a noun or subject. Some examples are: `open mailbox`, `read leaflet`, `go north`, `look`, and `inventory`

![Screenshot of Zork opening screen](https://cdn-learn.adafruit.com/assets/assets/000/140/491/medium640/gaming_zork_opening.png?1760541288)

![Screenshot of Zork leaflet introducing the game](https://cdn-learn.adafruit.com/assets/assets/000/140/490/medium640/gaming_zork_leaflet.png?1760541104)

![Screenshot of Zork gameplay showing the player going north of the house and finding a path through the trees](https://cdn-learn.adafruit.com/assets/assets/000/140/492/medium640/gaming_zork_gameplay.png?1760541532)

## Total Replay
[Total Replay v5.2.hdv](https://archive.org/download/TotalReplay/Total%20Replay%20v5.2.hdv)
To get hundreds more games in one big bundle, you can download [Total Replay](https://archive.org/details/TotalReplay) from archive.org. Click the button above to download **Total Replay v5.2.hdv**. Copy this file to the root of an empty micro SD card and make sure it has the exact name " **Total Replay v5.2.hdv**", if the filename does not match exactly it will not work!

Use the eject, unmount, or safely remove action in your OS to disconnect the microSD drive from the host OS, then unplug micro SD card from the computer.

Power off your Fruit Jam, put the microSD card into the Fruit Jam's micro SD card slot securely, then power the Fruit Jam on.

Press the Fruit Jam reset button and the emulator will restart and launch straight into the Total Replay bundle.

![512mb micro SD card drive showing the Total Replay v5.2.hdv file in the root of the SD card.](https://cdn-learn.adafruit.com/assets/assets/000/140/416/medium640/gaming_total_replay_sd.png?1760460894)

Once you see the main menu, press **arrow keys** to browse the different games or start typing the name of a game to search for it in the list.

When the game you want to play is selected, press the **enter** key to launch it.

![Screenshot of Total Replay bundle main menu](https://cdn-learn.adafruit.com/assets/assets/000/140/432/medium640/gaming_total_replay.png?1760475248)

Here is a gallery containing a small sampling of the many available games. Some of the games use only the keyboard for input but others support the [SNES-like game controller](https://www.adafruit.com/product/6285).

![Dig Dug game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/434/medium640/gaming_total_replay_digdug.png?1760476160 )

![Cubit game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/433/medium640/gaming_total_replay_cubit.png?1760476147 )

![Firebug game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/435/medium640/gaming_total_replay_firebug.png?1760476173 )

![Gauntlet game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/436/medium640/gaming_total_replay_gauntlet.png?1760476187 )

![](https://cdn-learn.adafruit.com/assets/assets/000/140/437/medium640/gaming_total_replay_joust.png?1760476201 Joust game title screen)

![](https://cdn-learn.adafruit.com/assets/assets/000/140/438/medium640/gaming_total_replay_karateka.png?1760476214 Karateka game title screen)

![Lode Runner game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/439/medium640/gaming_total_replay_lode_runner.png?1760476231 )

![Mr. Robot game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/440/medium640/gaming_total_replay_mr_robot.png?1760476254 )

![Neptune game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/441/medium640/gaming_total_replay_neptune.png?1760476273 )

![Night Mission Pinball game title screen](https://cdn-learn.adafruit.com/assets/assets/000/140/442/medium640/gaming_total_replay_nightmission_pinball.png?1760476292 )

# Apple //e Emulator on Fruit Jam

## Custom Build

The [Reload Emulator](https://github.com/adafruit/reload-emulator) is open source and published to GitHub. It's possible to make your own build of the emulator and include different **.dsk** disk image files that are loaded by holding the **left OS key** and pressing the keys **F2** - **F8**.

To build the emulator, first clone the project and get sub modules and dependencies using these commands.

```terminal
git clone https://github.com/adafruit/reload-emulator.git
cd reload-emulator
git submodule update --init
cd ./platforms/rp2040/lib/pico-sdk
git submodule update --init 
cd lib/tinyusb
./tools/get_deps.py rp2040
```

Now go back to the **reload-emulator/** directory. Either open a new terminal there, or use this command to change directories back up to it if you followed the commands above.

```terminal
cd ../../../../../../
```

## Customizing .dsk Files

Customizing the disk images that are preloaded into the build requires modifying the **mkdisk.py** file. Open that file in your favorite text editor, scroll down past the functions and look for this section of code:

```python
do_dsk("prodos", "https://archive.org/download/ProDOS_2_4_1/ProDOS_2_4_1.dsk", "sha1", "88d0d66867e607d6ee1117f61b83f8fe37d29f69", False)
do_dsk("moon_patrol", "https://archive.org/download/Moon_Patrol/Moon_Patrol.dsk", "sha1", "edd50462f044fa416d19bdc43f61ab7b881de067", False)
do_dsk("oregon_trail1", "https://archive.org/download/Oregon_Trail_Disk_1_of_2/Oregon_Trail_Disk_1_of_2.dsk", "sha1", "fb0c887c7902106a72327f9797cdd14a254e3228", False)
do_dsk("reader_rabbit", "https://archive.org/download/ReaderRabbit11Ivyrea/Reader%20Rabbit.dsk", "sha1", "f8061c96227ccb6d230b76981f52533f74a3068c", False)
do_dsk("kraken", "https://archive.org/download/kraken_a_deep_sea_quest_apple_ii_1989/playable.dsk", "sha1", "80ea82becdd6c948b3810f34c1614eee396ee68c", False)
do_dsk("zork", "https://archive.org/download/a2_Zork_I_The_Great_Underground_Empire_1980_Infocom_PASCAL/Zork_I_The_Great_Underground_Empire_1980_Infocom_PASCAL.dsk", "sha1", "088d970ddcc97ed0fac4ce661b784533b9440b49", False)
# do_dsk("", "", "sha1", "", False)

# local file path to .dsk file instead of URL
# do_dsk("number_munchers", "Number Munchers (v1.3-64K-1986).dsk", "sha1", "4725fc7e170d315b57fa91edb68fdcf16d32077b", False)
```

There are 8 total disk image slots available, and ProDOS uses the first one leaving another 7 that can be customized. In the default build, 6 slots are used for games downloaded from archive.org. You can add up to two more without removing any, or replace any of the existing ones with different games.

Each disk definition looks like this.

```auto
do_dsk("name", "URL", "sha1", "hash", False)
```

The `"name"`, `"URL"`, and `"hash"` argument values should be replaced by with a name, URL pointing to a **.dsk** file, and the SHA1 hash of the **.dsk** respectively. For URL, you can use a path to a local **.dsk** file downloaded to the computer instead of a remote URL as shown in the commented lines below all of the pre-loaded URL `do_dsk()` calls.

To find the SHA1 hash of a file on Raspberry Pi and other Linux computers a command like this one.

```terminal
sha1sum path/to/file.dsk
```

## Run Build Script

Make the build by running the&nbsp; **fruitjam-build.sh** script.

```terminal
./fruitjam-build.sh
```

This warning about a variable that is defined but not used gets printed, but does not cause any trouble for the build. It can be safely ignored.

![Screen shot of warning printed during Reload Emulator build about a variable defined and not used.](https://cdn-learn.adafruit.com/assets/assets/000/140/443/medium640/gaming_build_warning.png?1760477409)

If you see the `[100%] Built target apple2e` output near the end of the messages printed by the build script, it indicates the build was successful and it will create a UF2 file that can be loaded onto the Fruit Jam. To copy it to your device, first boot into to the bootloader by holding button 1 and pressing the reset button. Then copy or drag the file `build/systems/apple2e/apple2e.uf2` to the **RP2350** drive.

Once the UF2 is loaded, access the updated disk images using the **left OS key** and the **F key** with the number associated with their order in the list within&nbsp; **mkdisk.py**


## Guide Products

### Adafruit Fruit Jam - Mini RP2350 Computer

[Adafruit Fruit Jam - Mini RP2350 Computer](https://www.adafruit.com/product/6200)
We were catching up on a recent [hackaday hackchat with eben upton](https://hackaday.io/event/202122-raspberry-pi-hack-chat-with-eben-upton)&nbsp;and learned some fun facts: such as the DVI hack for the RP2040 was inspired by <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/6200)
[Related Guides to the Product](https://learn.adafruit.com/products/6200/guides)
### Mini Chiclet Keyboard - USB Wired - Black

[Mini Chiclet Keyboard - USB Wired - Black](https://www.adafruit.com/product/1736)
Add a good quality, slim keyboard to your&nbsp;Raspberry Pi, Beagle Bone Black, or other single-board-computer with this sleek black chiclet keyboard. It's a full QWERTY keyboard with a USB cable and is compatible with all operating systems. We tried many keyboards to find one that felt...

In Stock
[Buy Now](https://www.adafruit.com/product/1736)
[Related Guides to the Product](https://learn.adafruit.com/products/1736/guides)
### USB Game Controller with SNES-like Layout

[USB Game Controller with SNES-like Layout](https://www.adafruit.com/product/6285)
This is a generic USB&nbsp;game controller, which plugs into to provide a two-handed gaming experience for retro gaming, or really any game you want to use a handheld rather than keyboard controller! Use it with your Raspberry Pi or desktop computer while playing emulated games, or as a...

In Stock
[Buy Now](https://www.adafruit.com/product/6285)
[Related Guides to the Product](https://learn.adafruit.com/products/6285/guides)
### 512MB micro SD Memory Card

[512MB micro SD Memory Card](https://www.adafruit.com/product/5252)
Add storage in a jiffy using this **512MB** microSD card. Preformatted to FAT32, so it works out of the packaging with our projects. Works great with any device in the Adafruit shop that uses microSD cards. Ideal for use with Feathers, data loggers, or small Linux SBCs (not good...

In Stock
[Buy Now](https://www.adafruit.com/product/5252)
[Related Guides to the Product](https://learn.adafruit.com/products/5252/guides)
### HDMI Cable - 1 meter

[HDMI Cable - 1 meter](https://www.adafruit.com/product/608)
Connect two HDMI devices together with this basic HDMI cable. It has nice molded grips for easy installation, and is 1 meter long (about 3 feet). This is a HDMI 1.3 cable.

We're now stocking a very fancy Official Raspberry Pi cable with overmolding and a Pi logo. Please note...

In Stock
[Buy Now](https://www.adafruit.com/product/608)
[Related Guides to the Product](https://learn.adafruit.com/products/608/guides)
### USB Type A to Type C Cable - approx 1 meter / 3 ft long

[USB Type A to Type C Cable - approx 1 meter / 3 ft long](https://www.adafruit.com/product/4474)
As technology changes and adapts, so does Adafruit. This&nbsp;&nbsp; **USB Type A to Type C** cable will help you with the transition to USB C, even if you're still totin' around a USB Type A hub, computer or laptop.

USB C is the latest industry-standard connector for...

In Stock
[Buy Now](https://www.adafruit.com/product/4474)
[Related Guides to the Product](https://learn.adafruit.com/products/4474/guides)
### Snap-on Enclosure for Adafruit Fruit Jam

[Snap-on Enclosure for Adafruit Fruit Jam](https://www.adafruit.com/product/6425)
Here is a cool&nbsp;and minimal enclosure for your [Fruit Jam](https://www.adafruit.com/product/6200)&nbsp;to keep it safe during use and transport. This case has been custom-designed and 3D printed to accommodate all&nbsp;connection ports of the Fruit Jam. No screws or...

In Stock
[Buy Now](https://www.adafruit.com/product/6425)
[Related Guides to the Product](https://learn.adafruit.com/products/6425/guides)
### 7" Display 1280x800 (720p) IPS + Speakers - HDMI/VGA/NTSC/PAL

[7" Display 1280x800 (720p) IPS + Speakers - HDMI/VGA/NTSC/PAL](https://www.adafruit.com/product/1667)
Yes, this is an adorable small HDMI television with incredibly high resolution **and built in 3W stereo speakers**! We tried to get the smallest possible HDMI/VGA display with high-res, high-contrast visibility. The visible display measures only 7" (17.8cm) diagonal, and the TFT comes...

In Stock
[Buy Now](https://www.adafruit.com/product/1667)
[Related Guides to the Product](https://learn.adafruit.com/products/1667/guides)

## Related Guides

- [USB Game Controller with SNES-like Layout](https://learn.adafruit.com/usb-game-controller-with-snes-like-layout.md)
- [Using a Keyboard with USB Host](https://learn.adafruit.com/using-a-keyboard-with-usb-host.md)
- [Adafruit Fruit Jam](https://learn.adafruit.com/adafruit-fruit-jam.md)
- [LED Matrix Necklace Pendant](https://learn.adafruit.com/led-matrix-necklace-pendant.md)
- [Walkmp3rson: Personal MP3 'Tape' Player](https://learn.adafruit.com/walkmp3rson-personal-mp3-tape-player.md)
- [Close Encounters of the MIDI NeoPixel Visualizer Kind](https://learn.adafruit.com/midi-neopixel-visualizer.md)
- [Breakout Game on the Metro RP2350 and Fruit Jam](https://learn.adafruit.com/breakout-game-on-metro-rp2350-and-fruit-jam.md)
- [PicoDVI Adafruit IO Feed Dashboard](https://learn.adafruit.com/dvi-io.md)
- [MagTag Dishwasher Status](https://learn.adafruit.com/magtag-dishwasher-status.md)
- [1D Chomper Tabletop Arcade Game](https://learn.adafruit.com/1d-chomper-tabletop-arcade-game.md)
- [Larsio Paint Music](https://learn.adafruit.com/larsio-paint-music.md)
- [MagTag Slideshow](https://learn.adafruit.com/magtag-slideshow.md)
- [Using a Mouse with USB Host](https://learn.adafruit.com/using-a-mouse-with-usb-host.md)
- [PB Gherkin 30% keyboard with KMK, CircuitPython, & KB2040](https://learn.adafruit.com/pb-gherkhin-30-keyboard-with-kmk-circuitpython-kb2040.md)
- [Star Illusion: Laser Cut Audio-Reactive Light with WLED](https://learn.adafruit.com/star-illusion-laser-cut-audio-reactive-light-with-wled.md)
- [DOOM on Fruit Jam](https://learn.adafruit.com/doom-on-fruit-jam.md)
- [What’s Fresh Today? In-Season Produce Reminder for Adafruit MagTag](https://learn.adafruit.com/seasonal-produce-for-adafruit-magtag.md)
