Continuing terminal I/O

- 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
This commit is contained in:
2024-05-28 17:08:49 +02:00
parent 536f6b2320
commit ff07696dc6
17 changed files with 185 additions and 203 deletions
+23 -9
View File
@@ -1,13 +1,32 @@
#ifndef ADDRESSES_H
#define ADDRESSES_H
// TODO: Don't let these be just random numbers?
/* 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 FILETABLE_LOC 0x7000
#define TERMINAL_INFO_LOC 0x2000
#define MODE_INFO_BLOCK_LOC 0x9000
#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
@@ -18,10 +37,5 @@
#define MEMMAP_AREA 0x30000
#define SMAP_ENTRY_COUNT 0x8500
#define SMAP_ENTRIES 0x8504
#define PHYS_MEM_MAX_BLOCKS 0x1804
#define PHYS_MEM_USED_BLOCKS 0x1808
// Virtual memory manager
#define CURRENT_PAGE_DIR_ADDR 0x1800
#endif