Files
mop3/init/init.c
kamkow1 927d9e4c73
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m19s
Working PS/2 keyboard driver
2026-02-15 14:28:07 +01:00

63 lines
1.1 KiB
C

#include <kb.h>
#include <limits.h>
#include <process.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <terminal.h>
#define MUTEX 2000
__thread volatile char letter = 'c';
void app_proc (void) {
char arg_letter = (char)(uintptr_t)process_argument ();
letter = arg_letter;
for (;;) {
mutex_lock (MUTEX);
for (int i = 0; i < 3; i++)
terminal_print (&letter, 1);
for (volatile int i = 0; i < 1000 * 1000; i++)
;
mutex_unlock (MUTEX);
}
process_quit ();
}
void app_main (void) {
mutex_create (MUTEX);
letter = 'a';
/* process_exec ("ramdisk:/ce"); */
/* process_spawn (&app_proc, (void*)'b'); */
/* process_spawn (&app_proc, (void*)'c'); */
/* process_spawn (&app_proc, (void*)'d'); */
for (;;) {
int ch = kb_read_key ();
if (ch < 0)
continue;
terminal_print ((char*)&ch, 1);
/* mutex_lock (MUTEX); */
/* for (int i = 0; i < 3; i++) */
/* terminal_print (&letter, 1); */
/* for (volatile int i = 0; i < 1000 * 1000; i++) */
/* ; */
/* mutex_unlock (MUTEX); */
}
}