Skip to content

Application Suite

The programs built with the SDK and shipped with kernel releases. Source is in the rou2exOS-apps repository.

Where They Live

make build in the kernel tree copies the main binaries into iso/bin/, so they end up on the ISO at /mnt/iso/bin and can be started by name from any directory (bg eth, fg sh). make build_floppy puts data files and demos onto fat.img, grouped in directories:

Floppy directory Contents
/ INIT.RC
GARN/ GARN.CFG, INDEX.HTM, HELLO.TXT, FAVICON.ICO, SOCKETS.JSN
GFX/ CUBE.ELF, GFXTEST.ELF, MEMENTO.ELF
SLIP/ ICMPR.ELF
SOUND/ MIDI files for syscall 0x1b
THEM/ Real-mode programs for the THEM emulator

Programs that use Ethernet need the ETH driver running first, so it can register the NIC and obtain an IPv4 address.


System Tools

App Language Description
SH C Userland shell with a simple command set; the intended everyday shell rather than the kernel shell. With --host it runs as the terminal of Memento's Shell window.
FSCK C FAT12 filesystem scan and diagnostic report (syscall 0x2b).
HELLOFS C Example of the filesystem syscalls.
THEM C 16-bit x86 (8086/80186) emulator with the BIOS and DOS services, PIC, PIT and keyboard a DOS program expects. Runs .COM and MZ .EXE programs (a bare name tries .COM, then .EXE), e.g. old MS-DOS games from /mnt/iso/games. debug traces to the screen; log writes a periodic record with a heartbeat to /mnt/fat/THEM.LOG.

Networking

App Language Description
ETH C The default Ethernet driver: registers the RTL8139, answers ARP and ICMP, obtains an address by DHCP (or --ip <addr>).
GARN C Small HTTP/1.0 server for sharing files; configured with --config /mnt/fat/GARN/GARN.CFG, where ip sets a static address (otherwise ETH/DHCP manages it).
TNT C TELNET server and remote shell on TCP/23, over SLIP or Ethernet.
CHAT C Chatroom server on TCP/9000 with an HTTP front end on TCP/8080.
NSK C Network swiss knife: sweeps a subnet given in CIDR notation and lists live hosts.
ICMPR C ICMP echo responder over SLIP. A Go port lives in go/icmpresp.
DISH Go Port of the dish one-shot monitoring service: HTTP, TCP and ICMP checks, results pushed to HTTP channels.

Graphics, Games and Demos

App Language Description
MEMENTO C++ Windowed desktop on the Memento UI toolkit: file manager, task and memory monitor, shell, clock, chat, IRC, MIDI player, web browser, Snake, Minesweeper, and Turbo C++ in a window. See Memento (GUI).
SNAKE C++ Snake, built on libc++r2; keeps the score on the floppy.
CUBE C Rotating 3D cube in VGA mode 13h.
GFXTEST C VGA mode 13h test.
GFXDEMO Go Plasma, bouncing balls and kernel-font text through whichever display path the machine has; reports the frame rate.

Examples and Tests

App Language Description
HELLO Go Minimal Go program: arguments, sysinfo, RTC.
ROUTTEST Go Measures what goroutines cost on r2.
hello C++ Console, containers, filesystem and system info with libc++r2.
SELFTEST C++ libc++r2 on-target test suite; writes CXXTEST.TXT.
hello-world C Minimal C program.
ipc C Message passing between processes (syscalls 0x35/0x36).