Contents
#########
My network:
  Twitter
  Mastodon
  Bluesky
  Ribbonfarm section
  Github
  Youtube channel
  Instagram
  Facebook
  Livejournal (R.I.P.)
  SW forum (R.I.P.)
  Spaceway (R.I.P.)
  
 
Writing:
 Random thoughts
 Random stories
Hardware:
 Sound camera (RF)
 Timelapse camera
 MicroBook reader
 Multiband camera
 Multiband camera (RF)
 Tesla coils
 Soviet calculator
 3D printer
 Quadrotor UAV
 Box of sunshine
 Molten salt battery
 LCD curtains
Software:
 Aprom OS
 METEOR M decoder
 Spaceway (R.I.P.)
 M.A.X. Remake (R.I.P.)
 Rocket Land
 Random games
 Procrastinate-o-meter
Artwork & photo:
 Time lapses
 Concepts - Rhego
 Concepts - Pella
 Random Art
 Lunar eclipse
Orbiter addons:
 Collision SDK
 Orbiter Shipyard
 Shukra Station
 OGLAClient
 Orulex
 OSH gallery
 Shukra gallery
 Orulex gallery
 OGLAClient gallery
 Ship Generator
 Shipgen manual
 Orbiter flight gallery
     
Aprom OS
Description
Screenshots
Downloads
-> Documentation


   Aprom - Documentation - apps

System:
gui - the gui core
shell - command prompt
text - IDE and text editor
zterm - graphic terminal
zgl_dev - software OpenGL device
xcmd - file manager
tools - main tools executable (like busybox)
exec - exec device for centralised starting of applications

Development:
fasm - Flat Assembler by Tomasz Grysztar, ported over.
pexv - linker from FASM output to native executable.
psr - pascal compiler
nano - pascal runtime library/device

Demos:
maxg - MAXGold game, a remake of old M.A.X. classic ( rumaxclub.ru )
se2 - a lousy remake of SimEarth
ca - cellular automaton
csg - 2D csg demo
drheap - memory use visualizer
multidim - 4D rendered
parts - particle system
sdi - just a graphics demo
sinw - draws a sine wave
sprite - lousy sprite demo
tex - procedural textures
worldis - voxel renderer
zgl_demo - OpenGL teapot demo
zgl_gears - OpenGL gears demo

Post/read comments

 

   Aprom - Documentation - arostool

arostool is the program to compile AROS (aprom read only filesystem) images, commonly used as storage at boot.
Any file with lnk extension is treated as a symlink onto the object, provided by it's content.

Post/read comments

 

   Aprom - Documentation - boot

The boot process for aedis kernel is this:
A multiboot loader, like GRUB, loads the kernel and several modules.
First of these modules is considered an executable, rest are considered ramdisks, and are allocated as rd1..rdxxx devices.
Init is assigned rd0 device, loaded as native executable and executed as task 1.
It is then free to set up whatever system structure it cares of.

In Aprom system the init loads up VFS, terminal, stdio and exec devices, file system drivers, then mount rd1 as root.
It creates a 3 Mb ramdisk with FAT12 filesystem and mounts it, floppies and CDROM's asked for or detected.
After that, it follow the runlevel loading procedures described in runlevel doc.

Post/read comments

 

   Aprom - Documentation - exec

exec device is the central handler of file execution, can load native applications form memory or VFS, or call an interpreter by pattern matching.

Execution info is loaded from /cfg/exec.cfg
Format is "hex pattern:command:parameters"
For example:
23217368656C6C:/bin/shell:script
Means that if the file have 23 21 73 68 65 6C 6C bytes at it's start (#!shell in hex), then call /bin/shell script file_name.

Post/read comments

 

   Aprom - Documentation - kernel

Aedis kernel is pretty small.
It knows about memory, tasks, devices and IPC primitives.
It exports some abstractions like process ancestry and affinity, parameter passing, native format execution, device tree and standard device access, etc.
It tracks resource allocations, like tasks, memory blocks, devices, ipc primitives, call gates, etc, and handle their deallocation.
It can be preemptive or cooperative.
Many of it's parameters are accessible as kernel registers.
It have no idea about Aprom system, and can be used as a core for a variety of system designs.

Post/read comments

 

   Aprom - Documentation - runlevels

At boot user can pick a runlevel, that consists of a set of programs to be auto-run.

Runlevels are defined in /bin/run directory.
Each runlevel have it's directory as a number from 1 to 9 in that location.
Each of them can have a description in descr.txt that would be shown upon selection.
Everything in the selected runlevel's directory will be executed on launch.
Additionally, everything in the root of /bin/run will be executed regardless of selected runlevel.
Common practice is to locate symlinks in the runlevel directories, to save space and duplicity.

Runlevel could be picked automatically by /cfg/runlevel.cfg.
If it contains a number, that runlevel will be auto-choosen.
If it contains a -, then user will be asked for selection.

Post/read comments

 

   Aprom - Documentation - shell

shell is the basic console interface.
On start it runs all in the /cfg/shellrun.sh
It have a limited script capability.
& after name means run in background.
Files with #!shell at start would be auto-executed as scripts in default exec configuration.

Post/read comments

 

   Aprom - Documentation - text

Text is a mini-IDE for pascal and assembler languages.
F9 runs the buffer content.
Assembler or pascal is detected by file extension.

Post/read comments

 

   Aprom - Documentation - zgl

ZGL is a software OpenGL device.
It registers itelf as a kernel device, and gives interface to whatever program asks for it.
It can draw 3D graphics into a buffer provided by the client process.

Post/read comments

 

   Aprom - Documentation - zgui

ZGUI (reads "the gui") is the graphical server.
On start it auto-selects the 800x600x16 mode.
If it's executable is called guiman (usually as symlink in runlevels), then it would present a selection of graphic mode to the user.
Same selection would be presented if no viable default graphics mode was found.

Each task have it's own page to draw into, only one page can be shown at a time.
Pages are switched by rectangles in the upper-left side.
Tasks can however multiplex into windows if suitable driver is loaded.

Caps lock toggle tasks.
Win key toggles language.

Quick launch icons in the right corner can be set thru the /cfg/gui.cfg file.
Format is:
command:name:icon
Example:
/bin/xcmd:XC:/data/ico_xcmd.bmp
Starts /bin/xcmd, calls icon XC and loads /data/ico_xcmd.bmp as the icon.

Post/read comments

 

  
  ADSE 0.9.3   2005-2023