summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBenji Dial <benji6283@gmail.com>2021-02-16 20:38:53 -0500
committerBenji Dial <benji6283@gmail.com>2021-02-16 20:38:53 -0500
commit47513bd32c256c4f35e3a8ced7d9fd7e15903530 (patch)
treecafdf75d52a954814726e07445063c41bb6599f9 /doc
parentbd7facc4b5f53481dc85a15ba123361b2758655b (diff)
downloadportland-os-47513bd32c256c4f35e3a8ced7d9fd7e15903530.tar.gz
terminal application with ipc, shift+pause state dumper, hello world for terminal, meminfo popup program
Diffstat (limited to 'doc')
-rw-r--r--doc/internal/mem.txt1
-rw-r--r--doc/ints.txt15
2 files changed, 9 insertions, 7 deletions
diff --git a/doc/internal/mem.txt b/doc/internal/mem.txt
index c5f5e8b..1606ca1 100644
--- a/doc/internal/mem.txt
+++ b/doc/internal/mem.txt
@@ -17,6 +17,7 @@
0x0003.0000 - 0x0003.7fff (32k): kernel text, data, rodata
0x0003.8000 - 0x0003.ffff (32k): kernel stack
0x0004.0000 - 0x0005.ffff (128k): pagemap
+0x0006.0000 - 0x0007.ffff (128k): shared kernel page tables
0x000a.0000 - 0x000f.ffff (384k): VGA and BIOS memory
diff --git a/doc/ints.txt b/doc/ints.txt
index ca4d91f..fff08fb 100644
--- a/doc/ints.txt
+++ b/doc/ints.txt
@@ -18,9 +18,10 @@ functions returning handles or pointers use 0 to indicate error.
see keys.txt for the return type of the "get key" system call.
the edx register of "start task" is a pointer to a null-terminated string.
a pointer to a readonly copy of this string is put into the new task's edx.
- the esi register of the new task contains a handle to the caller's task.
- the edi register is copied directly, and is intended to hold a task handle.
- this task handle is who stdio ipc communication should be done with.
+ the esi register is passed through directly, and is meant to be a task handle.
+ this is a task handle who stdio ipc communication should be done with.
+ the new task receives the calling task's handle in edi
+ the new task receives its own handle in ecx.
ipc operations return 0xffffffff if the specified task doesn't exist.
"find unread ipc" system call returns 0 if there is no unread ipc.
@@ -35,7 +36,7 @@ table 1:
close file | 0x01 | | handle | | | |
file read | 0x02 | read | handle | file offset | count | buffer |
get file size | 0x03 | size | handle | | | |
- start task | 0x04 | handle | drive number | path | passed sz | | passed dword
+ start task | 0x04 | handle | drive number | path | passed sz | passed dword |
ipc send | 0x05 | written | task handle | max count | buffer | |
ipc read | 0x06 | read | task handle | max count | buffer | |
allocate ram | 0x07 | start pointer | pages | | | |
@@ -46,13 +47,13 @@ table 1:
count of dir | 0x0c | number of files | drive number | path | | |
new window | 0x0d | window handle | width | height | pixel buffer | |
delete window | 0x0e | | window handle | | | |
- resize window | 0x0f | | window handle | width | height | |
+ resize window | 0x0f | | window handle | width | height | pixel buffer |
reassign pixbuf | 0x10 | | window handle | pixel buffer | | |
paint window | 0x11 | | window handle | | | |
get win action | 0x12 | | window handle | action pointer | | |
wait for action | 0x13 | | | | | |
- wait ipc send | 0x14 | | sending task | | | |
- wait any ipc send | 0x15 | | | | | |
+ wait ipc sent | 0x14 | | sending task | | | |
+ wait any ipc sent | 0x15 | | | | | |
find unread ipc | 0x16 | sending task | | | | |
wait ipc read | 0x17 | | reading task | | | |
is task running | 0x18 | boolean | task handle | | | |