fix the return value of LdrLoadImage, make use of __declspec(dllexport), speed up blitting, add dummy TEB, redesign the syscall interface, fix stack alignent so movaps doesn't crash, implement a shitload of win32, implement a simple shell, add bink as video.exe 😎, minor kmain.c cleanup, HAL now supports power-off events, implemented \b in hal_screen.c, fix many deadlocks, add wait for exit event for processes, completely new error codes, small readme changes.

This commit is contained in:
maksw committed 2026-05-03 13:43:29 +02:00
1 parent c13dd99150
commit 7f4052f41c
33 files changed
+6396 -735

No files matched your search

+73 -31
View File
@@ -1,32 +1,74 @@
; syscall_nr.inc - assembled from syscall_nr.h for use in .asm files
SYS_EXIT_THREAD EQU 0
SYS_EXIT_PROCESS EQU 1
SYS_SPAWN EQU 2
SYS_SLEEP EQU 3
SYS_YIELD EQU 4
SYS_ALLOC EQU 5
SYS_FREE EQU 6
SYS_CREATE_THREAD EQU 7
SYS_OPEN_HANDLE EQU 8
SYS_CLOSE_HANDLE EQU 9
SYS_DBG_PRINT EQU 10
SYS_MUTEX_CREATE EQU 11
SYS_MUTEX_ACQUIRE EQU 12
SYS_MUTEX_RELEASE EQU 13
SYS_SEM_CREATE EQU 14
SYS_SEM_WAIT EQU 15
SYS_SEM_SIGNAL EQU 16
SYS_EVENT_CREATE EQU 17
SYS_EVENT_SET EQU 18
SYS_EVENT_WAIT EQU 19
SYS_QUEUE_CREATE EQU 20
SYS_QUEUE_SEND EQU 21
SYS_QUEUE_RECV EQU 22
SYS_SCREEN_BLIT EQU 23
SYS_GET_TICK EQU 24
SYS_OPEN EQU 25
SYS_READ EQU 26
SYS_FCLOSE EQU 27
SYS_FSEEK EQU 28
SYS_FSIZE EQU 29
SYS_MAX EQU 30
; Keep in sync with syscall_nr.h and ke_syscall.c.
; Process & Thread
SYS_EXIT_PROCESS EQU 0
SYS_EXIT_THREAD EQU 1
SYS_CREATE_THREAD EQU 2
SYS_GET_CURRENT_TID EQU 3
SYS_GET_CURRENT_PID EQU 4
SYS_YIELD EQU 5
SYS_SLEEP EQU 6
SYS_SET_THREAD_PRIORITY EQU 7
; Memory
SYS_ALLOC EQU 8
SYS_FREE EQU 9
SYS_REALLOC EQU 10
; Mutex
SYS_MUTEX_CREATE EQU 11
SYS_MUTEX_ACQUIRE EQU 12
SYS_MUTEX_TRY_ACQUIRE EQU 13
SYS_MUTEX_RELEASE EQU 14
; Semaphore
SYS_SEM_CREATE EQU 15
SYS_SEM_WAIT EQU 16
SYS_SEM_TRY_WAIT EQU 17
SYS_SEM_SIGNAL EQU 18
; Event
SYS_EVENT_CREATE EQU 19
SYS_EVENT_SIGNAL EQU 20
SYS_EVENT_CLEAR EQU 21
SYS_EVENT_WAIT EQU 22
; Queue
SYS_QUEUE_CREATE EQU 23
SYS_QUEUE_SEND EQU 24
SYS_QUEUE_RECV EQU 25
; Handle (unified - one close for every object type)
SYS_CLOSE_HANDLE EQU 26
; File I/O
SYS_OPEN_FILE EQU 27
SYS_READ_FILE EQU 28
SYS_SEEK_FILE EQU 29
SYS_GET_FILE_SIZE EQU 30
; Screen
SYS_SCREEN_BLIT EQU 31
SYS_SCREEN_CLEAR EQU 32
SYS_SCREEN_GET_SIZE EQU 33
SYS_SCREEN_PUT_CHAR EQU 34
; Keyboard
SYS_KB_POLL EQU 35
SYS_KB_READ_CHAR EQU 36
SYS_KB_READ_SCANCODE EQU 37
; Timer
SYS_GET_TICK EQU 38
; Debug
SYS_DEBUG_PRINT EQU 39
; Process launch & lifecycle
SYS_CREATE_PROCESS EQU 40
SYS_WAIT_FOR_PROCESS EQU 41
SYS_GET_PROCESS_EXIT_CODE EQU 42
; Sentinel
SYS_MAX EQU 43