Skip to content

Memory Map

Lolwis111 edited this page Mar 7, 2019 · 3 revisions

Documentation of PotatOS

memory map

address size usage description
0x00000 1024 Byte unusable interupt vector table
0x00500 1 Byte read only The current color attribute byte is saved here.
0x00501 2 Byte read only The return code of the last execution is saved here.
0x00503 2 Byte read only This word saves the current length of the path.
0x00505 1024 Byte read only The current path is saved here.
0x01000 12288 Byte unusable system.sys gets loaded here. It provides all the system calls and should therefor not be overriden.
0x04000 8 KiByte unusable directory cache. A copy of the current working directory gets loaded here for quick access. Gets overriden everytime a the directory is changed.
0x06000 8 KiByte unusable The file allocation table of the current drive gets loaded here. Is required to allow for file and directories to be read.
0x08000 4 KiByte read only strings.sys gets loaded here to allow for language specific error messages etc. Can be accessed by language.asm.
0x09000 700 KiByte free for use A user programm gets loaded at address 0x09000. The programm has then guaranteed access to the space from 0x9000 up to 0xB8000 without destroying the kernel.
0xB8000 4096 Byte special usage Represents the videobuffer for text mode. Everything written to this area is displayed on the screen. The format is: [ even byte | odd byte ] [ ascii char | color attr. ]
0xB8FA0 ??? undefined Could be available for use. But BIOSes might put CMOS data or mappings here. If A20 Gate is enabled, this could range up to 0xFFFFF. Probe and use at your own risk.

Clone this wiki locally