AREA512
OPERATING SYSTEM
FOR CARDPUTER
RUBY / PYTHON

MANUAL

File manager, terminal, editor, applications, and configuration.

01 / FILE MANAGER

Keys are case-sensitive. Enter opens a directory; uppercase R runs it as an application.

Directories appear before files. Source files (.rb / .py), bytecode (.mrb / .mpy), and dot images (.a5d) are listed separately with their extensions.

Key Action
j / k or Down / Up or . / ; Select an entry.
Enter / Right / / Open an entry. Source files compile and run; Markdown and dot images open in their viewers.
Backspace / Left / , / u Open the parent directory.
1–9 Select an entry in the visible list.
R Run the selected directory application.
e Edit the selected file.
c / a Compile the selected source / all sources directly in the directory.
N / K Create a file / directory.
m / C Move or rename / copy an entry.
x Delete after confirmation. Directory contents are included.
t Open the terminal.
r Reboot.

02 / TERMINAL

The terminal and file manager share the current directory. exit returns to the file manager.

Command Action
cd [path] / ls [path] / pwd Change directory / list entries / show directory. With no path, cd goes to /home and ls lists the current directory.
run <file-or-directory> Run a source file, bytecode file, or application directory.
vim <file> Edit a file, creating it if it does not exist.
md <file> / dot <file> View Markdown / edit a dot image.
compile <file> Compile Ruby or Python source.
compile --all [path] Compile source files directly in a directory.
touch <name> / mkdir <name> / mv <src> <dst> / cp <src> <dst> / rm <name> Create a file or directory, move, copy, or delete entries. Deletion asks for y/n confirmation.
irb / python-repl Start the Ruby / Python REPL.
top Show battery, VM, RAM, and stack usage.
fullupdate Update preinstalled files on the microSD card from the firmware.
help / clear / reboot / exit List commands / clear output / reboot / return to file manager.

Left / Right moves the cursor. Up / Down recalls history. Tab completes commands and paths. Ctrl-F accepts the displayed suggestion. Esc clears the input line. Arguments are separated by spaces; quoting and escaping spaces in names are not supported.

In a REPL, Esc returns to the terminal and Ctrl-C discards the line being typed.

Both REPLs read further lines when input is incomplete, showing ...> (Ruby) or ... (Python) instead of irb> / >>>. Ruby prints => and the result of each line.

03 / EDITOR

In insert mode, Ctrl-N opens completion. Completion also opens automatically after a dot or uppercase letter in .rb and .py files.

Key or command Action
i / a / I / A / o / O Enter insert mode. Esc returns to normal mode.
h / j / k / l Move the cursor.
w / b / e Move by word.
gg / G First / last line.
x / dd / D Delete character / line / to end of line.
yy / p / P Copy line / paste after / paste before.
v / V Visual mode.
/ then n / N Search and move between matches.
K Show hover information or diagnostics.
Ctrl-N in insert mode Open completion.
:w / :q / :q! / :wq or :x Save / quit (refuses unsaved changes) / quit without saving / save and quit.

04 / THEME & STARTUP

Theme editor

Run /home/tool/theme. Use j / k to select a row, h / l to select a color channel, + / − to adjust by 1, and ] / [ to adjust by 16. Enter opens color input or background selection. Tab opens the preview; s saves; Esc quits.

Saved settings apply after reboot. The editor selects background images included in the firmware.

Theme file

Edit /sdcard/Area512_data/etc/theme. Use one key=0xRRGGBB entry per line.

Colors are read at boot; without this file, the defaults below apply. Six hexadecimal digits and the 0x prefix are required. Unknown keys and lines without = are ignored.

background=0x000000
text=0xCFA45F
emphasis=0xF5972D
border=0xF5972D
selected=0xFFD966
box=0x241604

Background images

Backgrounds are headerless RGB565 files stored in the firmware. Cardputer images use 240 × 135 pixels; external displays use 320 × 240. Adding a new image requires rebuilding and flashing the firmware.

In the repository, Python 3 and Pillow are required for conversion:

make convert INPUT=background.png SIZE=240x135
# External 320 × 240 display:
make convert INPUT=background.png

The output is storage/share/backgrounds/background.rgb565. Rebuild and flash, then add the following to the theme file and reboot:

background_image=/share/backgrounds/background.rgb565

OUTPUT=path overrides the conversion output path. Images are resized to SIZE and written as headerless RGB565, high byte first, left to right and top to bottom. A 240 × 135 image is 64,800 bytes; a 320 × 240 image is 153,600 bytes.

Everything under storage/ is included in the firmware. Background images are read from the firmware, not the microSD card. If an image is missing or its size does not match the display, the file manager uses the solid background color and shows the reason in the action bar.

The boot logo and application image.h bitmaps use only the emphasis and background colors, with the brighter color used for set bits.

Startup interface

Edit /sdcard/Area512_data/etc/ui and reboot. The file manager is the default.

default=terminal
# To start in the file manager instead:
# default=graphical

Only default=terminal and default=graphical are recognized; other lines are ignored.

05 / APPLICATION CONTROLS

Slide

Add numbered Markdown files such as 1.md, 2.md, and 3.md to /home/tool/slide. They are displayed in numeric order.

Supported syntax: headings with #, ##, or ###; lists starting with -; inline code enclosed in backticks; and Ruby code blocks enclosed in ```ruby and ```.

h / l changes pages; j / k scrolls down / up; Esc quits.

Writer

Small word processor for Area512/Cardputer. Edits one document, saved as Area512_data/data/writer.txt on the microSD card.

Controls

  • Type to insert text; Enter starts a new line; Backspace deletes
  • Arrow keys: move the cursor
  • Ctrl+Space: toggle JP / EN input
  • Ctrl+K / Ctrl+J: page up / page down
  • Ctrl+S: save to Area512_data/data/writer.txt
  • Ctrl+O: open Area512_data/data/writer.txt (replaces the current document)
  • Ctrl+Q: quit
  • Esc: show the help line

Notes

  • Save and open need a microSD card; it is mounted while the app runs.
  • Quitting does not save automatically — press Ctrl+S first.
Calc

Tiny spreadsheet for Area512/Cardputer. 26x26 cells (A1..Z26).

Controls

  • h / j / k / l: move the cell cursor
  • e / Enter: edit the current cell (Enter commits, Esc cancels, Backspace deletes)
  • c: clear the current cell
  • g: go to a cell by name (e.g. B12; Enter confirms, Esc cancels)
  • s: save the sheet to Area512_data/data/sheet.txt on the microSD card
  • o: load Area512_data/data/sheet.txt from the microSD card (replaces the current sheet)
  • q: quit

Formulas

A cell starting with = is a formula. Anything else is plain text.

  • Operators: + - * / and parentheses; decimal numbers are allowed
  • Cell references: =A1+B2
  • Range functions: SUM, AVG (or AVERAGE), MIN, MAX, COUNT over a cell or a range, e.g. =SUM(A1:B3)
  • A formula that cannot be evaluated shows #ERR
  • Division by zero evaluates to 0

Notes

  • Save and open (s / o) need a microSD card; it is mounted while the app runs.
Scheduler

Monthly calendar with per-day events for Area512/Cardputer. Data is saved as Area512_data/data/scheduler.txt on the microSD card and loaded on start.

Calendar screen

  • h / l: previous / next day
  • k / j: previous / next week
  • [ / ]: previous / next month
  • space / Enter: open the day view for the selected date

Day screen

  • h / l: previous / next day
  • j / k: select an event
  • a: add an event — enter a time as HH:MM, then the text (Enter confirms, Esc cancels each entry)
  • d: delete the selected event
  • c / Esc: back to the calendar

Both screens

  • s: save to Area512_data/data/scheduler.txt
  • q: quit

Notes

  • Saving needs a microSD card; it is mounted while the app runs.
  • The device has no clock, so the selected date is stored in the save file and restored on the next start.
  • Quitting does not save automatically — press s first.
Paint

Pixel paint for Area512/Cardputer. 120x60 canvas (2px cells), 8-color palette.

Controls

  • h / j / k / l: move cursor left / down / up / right
  • y / u / b / n: move diagonally
  • space: paint at the cursor; pressing it at another spot draws a line from the last painted point
  • p: pen down / up — while the pen is down, moving the cursor draws
  • c: cycle the palette (white, red, gold, green, cyan, blue, pink, black)
  • e: erase at the cursor
  • + / =: bigger brush (up to 8)
  • -: smaller brush (down to 1)
  • x: clear the canvas
  • q: quit

Notes

  • Cursor movement steps by the brush size.
  • There is no save; the canvas is gone when you quit.
Solitair

Tiny Klondike solitaire for Area512/Cardputer.

Screen

  • ST: stock
  • WA: waste
  • F1..F4: foundations. These are screen labels, not keyboard keys.
  • 1..7: tableau columns

Controls

  • h / l: move cursor
  • 1..7: jump to that tableau column — selects it, or moves the selected card there
  • 0: jump to the waste, selecting it when nothing is selected
  • d: draw from stock, or reset stock when it is empty
  • space / Enter: select a card, or move the selected card to the cursor
  • k: scroll the current tableau column up, or widen a selected stack
  • j: scroll the current tableau column down, or narrow a selected stack
  • f: move the selected card to its foundation, or cycle the cursor through F1..F4
  • a: auto-move one available card to a foundation
  • n: start a new game
  • q: quit

To move a card to a foundation, press f with a card selected, or move the cursor to F1..F4 and press space or Enter.

The high score is kept in Area512_data/data/solitair.txt on the microSD card when one is inserted.

Bomb

Minesweeper for Area512/Cardputer. 9x9 board with 10 mines.

Controls

  • h / j / k / l: move cursor left / down / up / right
  • y / u / b / n: move diagonally
  • space / Enter: open the cell under the cursor
  • f: flag / unflag the cell
  • r: start a new game
  • q: quit

Notes

  • Mines are placed after your first open, so the first cell is always safe.
  • Opening a mine reveals the whole minefield. Press r to try again.
  • You win when every safe cell is open.
Space Lander

A lunar landing game for AREA512, written in Python.

Land the ship entirely on the pad without exceeding the safe vertical or horizontal speed. Later levels have a narrower pad, less fuel, moving debris, and lower safe landing speeds.

Screen

  • L: current level
  • F: remaining fuel
  • V: vertical velocity
  • H: horizontal velocity

Controls

  • space / Enter: start, use the main thruster, or continue after landing
  • w: use the main thruster
  • a / h: steer left
  • d / l: steer right
  • r / n: restart from level 1
  • q: quit

Notes

  • The main thruster uses 1.2 units of fuel per input.
  • A side thruster uses 0.5 units of fuel per input.
  • Touching the ground outside the pad or above the safe landing speed crashes the ship.
  • Contact with moving debris crashes the ship.
Dot

Dot image (.a5d) editor for Area512/Cardputer.

Controls

  • h / j / k / l: move the cursor
  • 0..9, a..f: select a palette color
  • Space: paint the selection at the cursor
  • p: pen down / up (paints while moving)
  • x / z: select hitbox add / hitbox delete
  • g: show / hide the grid
  • s: save
  • q: quit (does not save)
Markdown

Markdown viewer for Area512/Cardputer.

Controls

  • j / k: scroll down / up one line
  • Space / b: next / previous page
  • g / G: top / bottom
  • q / Esc: quit

06 / API REFERENCES