mirror of
https://github.com/Tom-on64/kern.git
synced 2026-11-03 18:22:22 +00:00
- Made stdio.h work - Moved printFiletable back into kernel.c - TODO: Add stdio.h to all files that should use it (probably next commmit) - Added some more global addresses. There's a memory layout, but i'm not using it - Got cursor to be drawn - Calc program now gets user input
42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
#ifndef ADDRESSES_H
|
|
#define ADDRESSES_H
|
|
|
|
/* TODO: Follow this layout and/or change it to make more sense
|
|
* Memory layout
|
|
* 0x0000-0x0fff - Probably shouldn't mess with this? idk
|
|
* 0x1000-0x17ff - Free
|
|
* 0x1800-0x1fff - Global Variables
|
|
* 0x2000-0x2fff - Terminal area
|
|
* 0x3000-0x3fff - Keyboard area
|
|
* 0x4000-0x5fff - Filesytem area
|
|
* 0x6000-0x7fff - Font area
|
|
* 0x8000-0x8fff - Free
|
|
* 0x9000-0x9fff - VBE info area
|
|
*/
|
|
|
|
// Locations
|
|
#define KERNEL_LOC 0x100000
|
|
#define DATETIME_LOC 0x2000
|
|
#define TERMINAL_INFO_LOC 0x8000
|
|
#define KEYBOARD_STATE_LOC 0x3000
|
|
#define FILETABLE_LOC 0x4000
|
|
#define MODE_INFO_BLOCK_LOC 0x9000 // 512 Bytes
|
|
|
|
// Variables
|
|
#define CURRENT_PAGE_DIR_ADDR 0x1800
|
|
#define PHYS_MEM_MAX_BLOCKS 0x1804
|
|
#define PHYS_MEM_USED_BLOCKS 0x1808
|
|
#define SLEEP_TIMER 0x180C
|
|
|
|
// Font
|
|
#define FONT_LOC 0x6000
|
|
#define FONT_WIDTH (FONT_LOC)
|
|
#define FONT_HEIGHT (FONT_LOC + 1)
|
|
|
|
// Physical memory manager
|
|
#define MEMMAP_AREA 0x30000
|
|
#define SMAP_ENTRY_COUNT 0x8500
|
|
#define SMAP_ENTRIES 0x8504
|
|
|
|
#endif
|