{"id":315,"date":"2026-06-03T20:06:48","date_gmt":"2026-06-03T20:06:48","guid":{"rendered":"https:\/\/memoria-cards.fr\/?page_id=315"},"modified":"2026-06-21T10:13:35","modified_gmt":"2026-06-21T10:13:35","slug":"using-your-memoria-cards-with-zaparoo-on-mister-fpga","status":"publish","type":"page","link":"https:\/\/memoria-cards.fr\/?page_id=315","title":{"rendered":"Using Your Memoria Cards with Zaparoo on MiSTer FPGA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each Memoria Card contains an NFC chip pre-encoded with the URL <code>memoria-cards.fr<\/code>. To have your MiSTer FPGA launch the corresponding game when you tap a card, you need to install <strong>Zaparoo<\/strong> : a small service that connects your NFC reader to your ROM library.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide assumes your MiSTer is already set up with your ROMs in place.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An up-to-date MiSTer FPGA<\/li>\n\n\n\n<li>A compatible NFC reader (see below)<\/li>\n\n\n\n<li>Your Memoria Cards<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Recommended NFC Readers<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Reader<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td><strong>PN532 USB<\/strong><\/td><td>Easiest option, plug &amp; play<\/td><\/tr><tr><td><strong>ACR122U<\/strong><\/td><td>Compatible, LED\/beep not functional<\/td><\/tr><tr><td><strong>PN532 Module<\/strong><\/td><td>UART or I2C, for integrated builds<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The PN532 USB is the most common choice \u2014 easy to find on AliExpress or Amazon for under \u20ac10.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u25cf Step 1 : Update Your MiSTer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you use <strong>Update All<\/strong>, the recommended method is to enable the <em>MiSTer Extensions<\/em> repository:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Launch <code>update_all<\/code> from your MiSTer Scripts menu<\/li>\n\n\n\n<li>Go to <strong>Tools &amp; Scripts<\/strong><\/li>\n\n\n\n<li>Enable the <strong>MiSTer Extensions<\/strong> repository<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded wp-duotone-unset-1\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"542\" src=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-1024x542.png\" alt=\"\" class=\"wp-image-205\" srcset=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-1024x542.png 1024w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-300x159.png 300w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-768x407.png 768w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image.png 1061w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Run the update again<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Don&rsquo;t have Update All yet? Head to <a href=\"https:\/\/github.com\/theypsilon\/Update_All_MiSTer\">github.com\/theypsilon\/Update_All_MiSTer<\/a> to install it.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u25cf Step 2 : Install Zaparoo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once Update All runs with MiSTer Extensions enabled, Zaparoo installs automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To activate it:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>From the MiSTer main menu, go to <strong>Scripts<\/strong><\/li>\n\n\n\n<li>Launch <strong>zaparoo<\/strong><\/li>\n\n\n\n<li>When prompted to enable Zaparoo as a startup service \u2192 confirm<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Zaparoo will now run in the background every time your MiSTer boots.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded wp-duotone-unset-2\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"540\" src=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-2-1024x540.png\" alt=\"\" class=\"wp-image-207\" srcset=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-2-1024x540.png 1024w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-2-300x158.png 300w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-2-768x405.png 768w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-2.png 1087w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Upgrading from TapTo?<\/strong> Delete the old <code>tapto.sh<\/code> from your Scripts folder and make sure <code>linux\/user-startup.sh<\/code> no longer references it. Zaparoo is a direct replacement \u2014 your existing NFC cards will continue to work.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u25cf Step 3 : Connect the NFC Reader<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plug your NFC reader into a USB port on your MiSTer. The PN532 USB is auto-detected, no additional configuration needed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-rounded wp-duotone-unset-3\"><img loading=\"lazy\" decoding=\"async\" width=\"783\" height=\"562\" src=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-3.png\" alt=\"\" class=\"wp-image-208\" srcset=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-3.png 783w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-3-300x215.png 300w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/image-3-768x551.png 768w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u25cf Step 4 : Write Your Memoria Card<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Each Memoria Card ships pre-encoded with the URL <code>memoriacards.fr<\/code>. To make it launch a game on your MiSTer, you need to rewrite the chip with the path to your ROM.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Using the Zaparoo App (recommended)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download the <strong>Zaparoo<\/strong> app on your smartphone (<a href=\"https:\/\/zaparoo.org\">zaparoo.org<\/a>)<\/li>\n\n\n\n<li>Connect the app to your MiSTer (same Wi-Fi network)<\/li>\n\n\n\n<li>Scan your game library from the app<\/li>\n\n\n\n<li>Search for the game matching your card<\/li>\n\n\n\n<li>Hold the Memoria Card near your phone \u2192 the app writes the correct path to the chip<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large is-style-rounded wp-duotone-unset-4\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"1024\" data-id=\"211\" src=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155240-464x1024.png\" alt=\"\" class=\"wp-image-211\" srcset=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155240-464x1024.png 464w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155240-136x300.png 136w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155240-768x1694.png 768w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155240-696x1536.png 696w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155240-928x2048.png 928w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155240-scaled.png 1161w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded wp-duotone-unset-5\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"1024\" data-id=\"210\" src=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155320-1-464x1024.png\" alt=\"\" class=\"wp-image-210\" srcset=\"https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155320-1-464x1024.png 464w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155320-1-136x300.png 136w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155320-1-768x1694.png 768w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155320-1-696x1536.png 696w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155320-1-928x2048.png 928w, https:\/\/memoria-cards.fr\/wp-content\/uploads\/2026\/06\/Screenshot_20260602-155320-1-scaled.png 1161w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/figure>\n<\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Using NFC Tools (alternative)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you prefer to encode manually, use the <strong>NFC Tools<\/strong> app (Android\/iOS) and write a <strong>Text<\/strong> record containing the exact path to your ROM, for example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>launch.system:psx\nlaunch.path:\/media\/fat\/games\/PSX\/Final Fantasy VII.chd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">See <a href=\"https:\/\/zaparoo.org\/docs\/zapscript\">zaparoo.org\/docs\/zapscript<\/a> for the full syntax reference.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u25cf Step 5 : Tap and Play<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hold your Memoria Card over the NFC reader connected to your MiSTer. The game launches automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Card is detected but the game doesn&rsquo;t launch<\/strong> Check that the ROM path is exact . MiSTer is case-sensitive. Verify the filename and extension match exactly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zaparoo won&rsquo;t start<\/strong> Go to Scripts \u2192 zaparoo and launch it manually. Make sure the startup option is enabled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Two games launch at the same time<\/strong> If you migrated from TapTo, remove <code>tapto.sh<\/code> from Scripts to avoid conflicts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Beyond the Basics : ZapScript<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zaparoo isn&rsquo;t limited to launching games. Each card can contain a small script called <strong>ZapScript<\/strong> that tells your MiSTer exactly what to do when tapped. Here are a few examples of what&rsquo;s possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Launch a game on a specific core<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PSX\/Final Fantasy VII.chd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This is the standard use case, the path is enough, Zaparoo detects the system automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Switch MiSTer.ini profile on tap<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mister.ini:mister_crt.ini<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Useful if you have separate config profiles for CRT and HDMI output : one tap swaps the whole configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Change the wallpaper when a game loads<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mister.wallpaper:ff7_bg.png||PSX\/Final Fantasy VII.chd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>||<\/code> separator chains commands : Zaparoo sets the wallpaper first, then launches the game.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Open the OSD menu<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>input.osd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A card that just opens the MiSTer menu. Niche, but handy if your controller is out of reach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Insert a coin in an arcade game<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>input.coin:1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Presses the coin key for player 1. Combine with a game launch for instant one-tap arcade sessions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ZapLink : dynamic scripts from a URL<\/strong> Instead of a static script, a card can contain a URL. Every time the card is scanned, Zaparoo fetches the current ZapScript at that address and runs it. This means you can update what a card does remotely, without re-encoding the chip.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Zaparoo Works Beyond MiSTer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zaparoo isn&rsquo;t MiSTer-exclusive. The same NFC cards work on <strong>Batocera<\/strong>, <strong>RetroPie<\/strong>, <strong>SteamOS<\/strong>, <strong>Windows<\/strong>, and more \u2014 any platform with a Zaparoo installation. If you own multiple setups, one card can work across all of them once each system is configured.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">See the full platform list at <a href=\"https:\/\/zaparoo.org\/docs\/platforms\">zaparoo.org\/docs\/platforms<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Learn More<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Official documentation: <a href=\"https:\/\/zaparoo.org\/docs\/platforms\/mister\">zaparoo.org\/docs\/platforms\/mister<\/a><\/li>\n\n\n\n<li>Community: <a href=\"https:\/\/reddit.com\/r\/Zaparoo\">reddit.com\/r\/Zaparoo<\/a><\/li>\n\n\n\n<li>Zaparoo Discord: <a href=\"https:\/\/zaparoo.org\/discord\">zaparoo.org\/discord<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Each Memoria Card contains an NFC chip pre-encoded with the URL memoria-cards.fr. To have your MiSTer FPGA launch the corresponding game when you tap a card, you need to install Zaparoo : a small service that connects your NFC reader to your ROM library. This guide assumes your MiSTer is already set up with your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-315","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=\/wp\/v2\/pages\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=315"}],"version-history":[{"count":4,"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=\/wp\/v2\/pages\/315\/revisions"}],"predecessor-version":[{"id":416,"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=\/wp\/v2\/pages\/315\/revisions\/416"}],"wp:attachment":[{"href":"https:\/\/memoria-cards.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}