Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MSPA-3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 6: Line 6:
|lastupdated=2026/06/27
|lastupdated=2026/06/27
|type=Other Apps
|type=Other Apps
|version=v1.0.0
|version=1.0.0
|license=N/A
|license=N/A
|download=https://github.com/Animalino5/MSPA-3DS/releases
|download=https://github.com/Animalino5/MSPA-3DS/releases

Revision as of 05:27, 28 June 2026

MSPA-3DS
General
AuthorAnimalino5
TypeOther Apps
Version1.0.0
LicenseN/A
Last Updated2026/06/27
Links
Download
Website
Source

A Homestuck (and other MSPA comics) reader for the Nintendo 3DS. It lets you read MS Paint Adventures webcomics on your 3DS.

It comes with a companion PC tool that downloads and pre-converts comic pages into a format the 3DS can display instantly. No internet connection needed on the console itself.

Fully Supported Comics:

  • Jailbreak
  • Problem Sleuth
  • Homestuck (all pages including [S] animations)

Also supported:

  • Any MSPFA (MS Paint Fan Adventures) story via mspfa.com

How does it work?

On your PC: The Bundle Builder

Run the included Python GUI tool to download comic pages and package them into bundles:

  • Pick a source tab (MSPA Mirror or MSPFA)
  • Enter a URL, slug, or story ID
  • Set the page range and pack name
  • Click "Build Bundle"
  • Copy the generated folder to your 3DS SD card

The builder handles everything:

  • Downloads pages and images from the MSPA mirror or MSPFA's JSON API
  • Converts GIFs and images to 3DS-native .tex textures for instant loading
  • Extracts [S] page Flash animations via FFDec → frame sequences at 6 FPS with WAV audio
  • Downloads YouTube videos from MSPFA pages via yt-dlp → frame sequences
  • Downloads direct video files (MP4/WebM) from MSPFA pages → frame sequences
  • Extracts and resamples audio to 44100Hz stereo WAV for 3DS playback
  • Splits multi-image pages into separate navigable pages

On your 3DS: The Reader

  • Browse your installed packs from the main menu
  • Navigate with A (next page), B (previous page), X (back to menu)
  • Animated GIFs play automatically as frame sequences
  • [S] pages play as animations with audio
  • Scroll text on the bottom screen with D-Pad Up/Down
  • Resumes from last-read page -- each pack remembers where you left off

Installation

3DS App

  • Download MSPA-3DS.3dsx from the latest release.
  • Copy MSPA-3DS.3dsx to /3ds/MSPA-3DS/ on your SD card.

Bundle Builder (PC)

  • Download MSPA-3DS-Builder.exe from the latest release, it's a standalone executable, no Python needed.

Or run from source:

Requirements:

  • Python 3.8+
  • pip install requests beautifulsoup4 Pillow yt-dlp
  • ffmpeg (required for video/audio conversion — install via your package manager)
  • Java (required for SWF/Flash conversion — install JRE 11+)
  • yt-dlp (for YouTube videos — installed via pip above)
  • FFDec is auto-downloaded on first run, no manual install needed
python build_gui.py

Transferring bundles to your 3DS

After building a pack, copy its folder to:

sdmc:/3ds/MSPA-3DS/packs/

The folder structure looks like:

packs/
  homestuck-1-100/
    manifest.json
    bookmark.txt
    pages/
      190100.json
      190200.json
      ...
    media/
      001901_0-000.tex
      001901_0.anim
      001901.wav
      001902_0.gif
      001902_0-000.tex
      ...

File format notes

  • .tex - 3DS GPU texture (format 0x80 = untiled RGBA, format 0x00 = GPU-tiled)
  • .anim - Animation manifest: frame count + per-frame delays (ms)
  • .wav - PCM audio (44100Hz stereo) for [S] pages
  • .gif - Original GIF (fallback for on-device conversion)
  • .json - Page metadata (command, text, media references, next page)
  • manifest.json - Pack metadata (title, page range, schema version)
  • bookmark.txt - Last-read page number (auto-generated by 3DS app)

User guide

Run MSPA-3DS (reader) on the 3DS.

Browse your installed packs from the main menu.

Navigate with A (next page), B (previous page), X (back to menu).

Animated GIFs play automatically as frame sequences.

[S] pages play as animations with audio.

Scroll text on the bottom screen with D-Pad Up/Down.

Each pack remembers where you left off and resumes from the last-read page.

Controls

A - Next page (or next image on multi-image pages)

B - Previous page

X - Return to pack selection

START - Exit app

D-Pad Up/Down - Scroll text

Media type support

MSPA Mirror (MSPA To Go)

  • Static images (GIF/PNG/JPEG) → converted to .tex textures
  • Flash [S] pages → SWF extracted via FFDec → frame sequences at 6 FPS + WAV audio
  • Multi-image pages → split into separate sub-pages

MSPFA (fan adventures)

  • [img] tags → converted to .tex textures
  • [flash] tags → SWF extracted via FFDec → frame sequences
  • YouTube embeds → downloaded via yt-dlp → frame sequences
  • Direct video (<video> tags, MP4/WebM) → downloaded and converted via ffmpeg
  • @mspfa audio CSS → audio downloaded and resampled to WAV

Limitations

  • [S] pages are converted to 6 FPS frame sequences. Smooth but not full video quality.
  • Interactive Flash pages (with ActionScript games) may not convert correctly. FFDec can only extract timeline animations, not interactive content.
  • Audio for [S] pages is extracted from the source; some pages may have audio sync issues.
  • No internet connectivity from the 3DS. all content must be pre-built on PC.
  • Very long animations may use significant SD card space (~1MB per 10 seconds at 6 FPS).

Changelog

v1.0.0

  • What's new in v1.0.0
    • MSPFA support -- build packs from any fan adventure on mspfa.com via the JSON API
    • SWF conversion -- [S] page Flash animations are automatically extracted to frame sequences using JPEXS FFDec (auto-downloaded on first run)
    • YouTube support -- MSPFA pages with YouTube embeds are automatically downloaded via yt-dlp
    • Direct video support -- MSPFA pages with <video> tags (MP4/WebM) are downloaded and converted
    • Per-pack bookmarks -- the 3DS app remembers where you left off in each pack individually
    • Auto-downloaded FFDec -- no manual installation needed, the builder fetches it from GitHub
    • Two-column builder GUI -- compact layout that fits on smaller screens
    • Builder EXE -- for those who hate python!

v0.5.0

  • What works
    • Full comic reading -- navigate pages with A/B, scroll text with D-pad
    • Animated GIFs -- pre-converted to frame sequences, play smoothly
    • pages -- converted to 6 FPS frame sequences with WAV audio
    • Multi-image pages -- automatically split into separate navigable pages
    • Multiple comics -- Homestuck, Jailbreak, and Problem Sleuth supported
    • Pack system -- each comic pack is a folder on SD, easy to add/remove
    • PC bundle builder -- GUI tool downloads, converts, and packages everything
  • Known issues
    • Audio quirks -- some [S] pages may have audio sync or playback issues
    • No Bard Quest -- excluded because it has branching paths (multiple "next" links per page) which the reader doesn't support
    • No Homestuck Beta -- excluded because it's flash-only with no static images
    • pages are 6 FPS -- smooth enough for reading, but not full video quality
    • Large [S] pages use more space -- frame sequences are bigger than video files (roughly 300KB/frame at 320x240)

v0.1.0

  • FEATURES PRESENT SO FAR:
    • You can read most homestuck pages
    • You have their gif showing up at the top screen
    • You can scroll down
    • You can teleport to whatever page you want
    • You can save your progress
  • LIMITATIONS SO FAR:
    • Pages with double images just render one
    • Flashes are not usable
    • Depending on gif complexity, FPS may fall
    • Pesterlogs aren't colored

External links

Advertising: