Doom port #21
@@ -6,6 +6,19 @@ Honestly I have no idea. Maybe you have too much free time.
|
|||||||
Keep in mind that the Pepper kernel is a personal project and it's full of bugs, inconsistencies, weird ways of doing things (and I don't care because it's my toy).
|
Keep in mind that the Pepper kernel is a personal project and it's full of bugs, inconsistencies, weird ways of doing things (and I don't care because it's my toy).
|
||||||
Now if you still want to write something for this OS, thank you. Follow along.
|
Now if you still want to write something for this OS, thank you. Follow along.
|
||||||
|
|
||||||
|
## Headers available in userspace
|
||||||
|
|
||||||
|
Of course, all of the freestanding headers are available:
|
||||||
|
- `<float.h>`: macros for floating-point types
|
||||||
|
- `<limits.h>`: macros for integer types
|
||||||
|
- `<iso646.h>`: macros for bitwise and logical operators
|
||||||
|
- `<stdarg.h>`: variadic function support
|
||||||
|
- `<stddef.h>`: definitions for `size_t`, `ptrdiff_t`, and others
|
||||||
|
- `<stdbool.h>`: definitions for boolean types
|
||||||
|
- `<stdint.h>`: definitions for `int_t` and `uint_t` types
|
||||||
|
|
||||||
|
Also available is the `<syscall.h>` header that gives access to low-level system call interface, notably the `syscallX` function family, X being the amount of arguments to use.
|
||||||
|
|
||||||
## 1. Write the source code
|
## 1. Write the source code
|
||||||
|
|
||||||
PepperOS is able to run programs written in x86 assembly, and C programs.
|
PepperOS is able to run programs written in x86 assembly, and C programs.
|
||||||
|
|||||||
Reference in New Issue
Block a user