About This Website

About This Website

NABU Cloud is the official home of the NABU RetroNET Preservation Project — a non-commercial effort to keep the NABU Personal Computer, its Internet Adapter, Cloud CP/M, and the worldwide community of homebrew authors alive and well-fed with new software.

This website is two things in one:

  1. A public information hub — the documentation, history, downloads, and tutorials that used to live on cloud.nabu.ca and nabu.ca, now consolidated into a single, searchable CMS.
  2. A community software portal — where verified members upload their own NABU programs and Cloud CP/M software, and where the NABU Internet Adapter pulls its catalog from.

What You Can Do Here Without an Account

Most of the site is wide open. No login required for any of the following:

  • Browse the documentation — the boot process, ROM internals, PAK file catalog, the disassembled software stash, and the full Homebrew section with z80 assembly and C tutorials.
  • Get started with a NABU — step-by-step guides for emulating a NABU PC in MAME, or wiring real NABU hardware to a modern PC over RS422.
  • Download the tools — NABU Internet Adapter, Keyboard Emulator, Telnet Terminal, and the Infogames Z-Machine editor and builder.
  • Browse NABU Channels — every .nabu program in the catalog, organised by group (RetroNET, Headless Menus, Homebrew, …) with descriptions, screenshots, and authors.
  • Browse Cloud CP/M software — the full library of .COM programs, sorted by drive and user area, with the same metadata you’d see on any modern software portal.
  • Browse by author — see everything a particular community member has contributed, in one place.
  • Read the history — ex-employee-verified facts about the NABU Corporation, Leo’s Tales, the RetroNET timeline, and the about page.
  • Talk to people — the discussion forum is linked from the side menu.

What You Can Do With an Account

If you want to upload your own software, you need to register. Sign-up takes your email, full name, and Discord handle. There is no automated email verification — the admin reaches out personally on Discord to confirm you’re a real human, then promotes your account.

Accounts come in several flavors:

  • Unverified — you can sign in, edit your account settings, and view your dashboard, but you can’t publish software yet.
  • User — verified by the admin. You can upload, edit, publish, and unpublish your own NABU programs and CP/M software.

Your Dashboard

Once signed in, the side menu grows a My Dashboard section. From there, you can manage two kinds of software.

Uploading a NABU Channel (.nabu)

NABU programs go in My NABU Programs. Each one has:

  • Title, description, and an optional author override (use this if you wrote the program but want to credit someone else).
  • The .nabu binary itself, uploaded to the server and served from the same path the Internet Adapter expects.
  • Screenshots — upload as many as you like; the first one becomes the thumbnail.
  • A NABU icon editor — draw the four-tile TMS9918a icon and palette directly in the browser, exactly the way it appears on the NABU’s main menu.
  • A group assignment — admins create the groups (Demos, Games, Utilities, Headless Menus, …); you pick which one your program belongs in.
  • A published toggle — uncheck it to hide a work-in-progress while you’re still polishing.

When the NABU Internet Adapter requests filesV3.json, your published programs are stitched into the catalog automatically, in their assigned groups. Programs in a Headless group are flagged headless so the IA knows to launch them without the main menu.

Uploading Cloud CP/M Software (.COM + data files)

CP/M software goes in My CP/M Software. The Cloud CP/M filesystem is laid out exactly like a real CP/M 2.2 machine:

  • Drives A: through P:.
  • Each drive has user areas 0 through 15.
  • Files for drive X, user area Y are served from /cpm/CPM/X/Y/.

The admin assigns you one or more drive / user area slots. When you upload a piece of software, you pick which slot it lives in. A typical entry has:

  • A polished title (e.g. The Tower of Druaga) and a description.
  • The main .COM file plus any data files it needs (overlays, sprite banks, level data, …).
  • Screenshots and a published toggle, same as NABU channels.

Every time anyone adds, edits, or removes a CP/M file, all connected Internet Adapters will refresh their CPM drives on the next restart, or if Refresh CPM Drive button is pressed in the Internet Adapter top menu. 

Automatic Thumbnail Generation

If you publish a CMS page or a piece of software without a thumbnail or hero image, a background service notices and generates one for you using image generation. You don’t have to do anything — the image will appear within a few minutes. Of course, you can always upload your own and override it.

How the Internet Adapter Sees This Site

If you’re running the NABU Internet Adapter, here’s what happens behind the scenes:

  • On startup the IA requests filesV3.json. The server returns all published NABU programs, grouped exactly as an admin has arranged them in the Admin section.
  • When you launch a program from the NABU’s main menu, the IA downloads it — nothing on the client side has to change.
  • If Cloud CP/M is the active mode, the IA pulls the files and exposes drives A:P: with whatever files the cloud currently holds.

In other words, this site is the cloud that the original NABU Cloud project pretended to be, except now it’s also a community where everyone can contribute.

Getting Started

  1. If you just want to read — the side menu has everything. Start with Get Started.
  2. If you want to play NABU software — download the NABU Internet Adapter.
  3. If you want to publish your own softwareregister an account, then drop a note on Discord (to DJ) so we can verify you.

A Note on the Project

NABU Cloud is run on a not-for-profit basis by the NABU RetroNET Preservation Project. Hosting, code, and admin time are donated. There’s no advertising, no tracking beyond what’s needed to keep the lights on, and no commercial intent. If you find a bug or want to suggest a feature, Discord is the right place.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.