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.
| 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). |