Publishing a Resource
A resource on Spectranext is something users can open from the Index or load over an HTTPS mount: for example a boot.zx loader, a .tap image, or a tree of files described by index.txt. This page outlines how you go from a project on your machine to a URL anyone can use.
1. Develop and test on hardware (or emulation)
Start from the Spectranext SDK: build your BASIC loader, assembler, or C project the way you already do for local development.
- Install and use the SDK as described in SDK Setup and Usage.
- Typical outputs include:
boot.zx— a short BASIC loader (often built withzmakebas) that runs first when someone opens your resource.- Binaries or
.tapfiles — whatever your loader or instructions expect next to it on the “filesystem.”
Iterate locally before you publish:
- Deploy to the device — Use SPX / the SDK workflow to upload
boot.zxand related files to the cartridge RAMFS or your configured layout, and run them on real hardware. - Or use emulation — The SDK can talk to FuseX with Spectranext support similarly to hardware (see Getting Started and the SDK docs).
- Fix, rebuild, repeat — Until loading, menus, and network behaviour match what you want users to see when they open your URL.
For day-to-day file transfer and debugging workflows, Syncing with Computer covers moving files between your PC and the device.
2. Prepare a space on the internet
Spectranext loads resources over HTTPS. Your hosting must:
- Serve files over
https://(TLS). Plainhttp://is not suitable for the HTTPS filesystem as users will use it. - Stay reachable and stable (avoid links that break or expire if you want a long-lived resource).
Short, memorable URLs help when people type them on a Spectrum or share them in forums. Options include:
| Approach | Notes |
|---|---|
| GitHub Pages | Free HTTPS, easy for static files; pair with a short custom domain or a URL shortener if the default path is long. |
| AWS S3 (or compatible) + HTTPS | Static website hosting behind TLS (often via CloudFront). Good for full control and bandwidth. |
| Netlify, Cloudflare Pages, etc. | Similar to GitHub Pages: drop in static files, automatic HTTPS. |
Point DNS or your short link at whichever host you choose so the canonical URL you share is HTTPS and under your control.
3. Place your files on the server
Upload the same artefacts you tested locally, preserving paths that match how you expect users to browse or load them.
Typical pieces:
| File | Role |
|---|---|
boot.zx | Entry BASIC program users run first (common pattern for published resources). |
.tap (or other media) | Tape images or data files your loader expects. |
index.txt | Optional, if you want to expose ability to list files on your endpoint. |
The index.txt format and directory layout are documented in HTTPS Filesystem. Without a valid index.txt in a directory, browsing that path may be limited. But if your program does not require that, you can skip it.
Example layout (conceptual):
https://your.domain/myresource/
├── index.txt
├── boot.zx
├── game.tap
└── docs/
└── index.txt
After upload, verify in a desktop browser:
https://your.domain/.../index.txtloads.https://your.domain/.../boot.zxreturns the expected file (correctContent-Typewhere possible).
4. Share the URL and the community
Share the HTTPS URL with others (forums, README, social posts). Users can set up an HTTPS mount and navigate with the Index to open your resource.
5. Submit to the Spectranext resource index
Once your HTTPS URL is ready, you can submit it to be listed in the index on the main website. Short submissions are reviewed as the public index grows.
See also
- HTTPS Filesystem —
index.txt, browsing, and HTTPS semantics. - Setting Up Mounts — How users mount your site on the device.
- SDK Setup and Usage — Building
boot.zxand project layout.