Skip to content

Description of the files

Levin Palm edited this page Nov 29, 2024 · 4 revisions

Description of the files

boot/

boot.asm

The stage one bootloader of PotatOS. Sets up the environment and loads the stage two loader. [loader.sys]

csoftware/

Contains all the tools needed to code programms in C.

kernelC/

Contains the files for the new and experimental 32 bit protected mode kernel (work in progress)

documentation/

Contains this documentation.

driver/

sysinit.asm

This is the very first program after the bootloader which sets up the operating system API and starts the command line.

system.asm

This is the software that handles INT 0x21 API requests. All routines are in this file.

include/

bpb.asm

The BIOS Parameter Block for FAT12 Floppies with 1.44 MB.

chars.asm

Defines macros for special ASCII-characters.

commands.asm

Defines the built-in command-strings of the command line.

common.asm

Defines information such as version as well as the absolutely required files.

defines.asm

Defines a set of useful macros including true/false, colors and important addresses. Note: defines.asm ONLY contains macros and defines. When assembled, this file will not generate any code. The assembled product of this file is always 0 bytes. This allows this file to be used in any file in any position!

fat12.asm

Contains all the methods required to work with the FAT12 file system directly. (For details check fat12/)

floppy16.asm

Contains all the methods to work with a floppy disk sectorwise.

functions.asm

Defines all the macros that expand to INT 0x21 API routines.

keys.asm

Defines macros for scancodes of the keys of the keyboard.

language.asm

[Generated by the toolchain] Defines macros that point to memory offsets which provide useful strings. Including error messages and prompts.

screen.asm

Defines methods to work with the screen. Currently only contains a method to clear the screen.

strings.asm

Contains methods to work with strings. Including append, length, compare, upper-/lowercase and the Adjust* family to convert file names.

lang/

stringlist

Defines the names of the strings. MkLocale1 also makes sure that every of those strings is defined in the language files.

german

Defines the strings in the german language.

english

Defines the strings in the english language.

other languages

Define the strings in whatever language is prefered. Currently only ASCII characters are supported.

loader/

loader.asm

This is the stage two bootloader which loads all the system files that are required and then moves to userspace by starting sysinit.sys.

misc/

strings.sys

Contains the strings in the selected language. Use language.asm to address the strings.

*.llp, *.txt, etc.

Place any additional files in here, such as text files or pictures, that are not required for potatos to work.

software/

This directory contains all the software that is shipped with PotatOS. All the programms in here get compiled to *.bin files and can therefor be launched from the command line directly.

calc.asm

A very simple calculater. It can do the four basic operations as well as convert between base2<->base8<->base10<->base16

tests/

This directory contains all the test software that can be used to test routines and system interfaces. Files in here get to normal *.bin programms but are placed in the tests/ directory.

tools/

Attributes

This programm can be used to alter the attributes of each file on the floppy disk/image.

LLP

This programm can be used to convert images to PotatOSes low-level-picture format. *.llp files can be viewed with the viewer.bin programm.

MkLocale

This programm reads the stringlist file and then builds the strings.sys which contains all the strings and also created language.asm, which defines pointers to all the strings.