]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: DOOM port — doomgeneric AdrOS adapter + remaining ulibc extensions
authorTulio A M Mendes <[email protected]>
Thu, 12 Feb 2026 07:54:41 +0000 (04:54 -0300)
committerTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 02:44:55 +0000 (23:44 -0300)
commit61bc14738555ebe829da6df49168f0ab555283a4
treece9fe6d8f282d5514bc51f75431fe50475242ebb
parentcfed4810a9004608c9785eaadba8d0e158b0437d
feat: DOOM port — doomgeneric AdrOS adapter + remaining ulibc extensions

Added user/doom/ with the AdrOS platform adapter for doomgeneric:
- doomgeneric_adros.c: implements DG_Init (fb0 mmap + kbd open),
  DG_DrawFrame (nearest-neighbor scale to framebuffer),
  DG_GetKey (PS/2 scancode → DOOM keycode mapping),
  DG_GetTicksMs (clock_gettime), DG_SleepMs (nanosleep)
- Makefile: builds doom.elf from doomgeneric source + adapter
- README.md: setup instructions

Additional ulibc functions for DOOM engine compatibility:
- ctype.h: isdigit, isspace, isalpha, toupper, tolower, etc.
- stdlib: strtol (base 8/10/16 + auto-detect)
- string: strncat, strdup, strcasecmp, strncasecmp, strstr,
  memchr, strtok
- stdio: fseek, ftell, rewind, sprintf, sscanf, remove

To build DOOM:
  cd user/doom && git clone https://github.com/ozkl/doomgeneric.git && make
user/doom/Makefile [new file with mode: 0644]
user/doom/README.md [new file with mode: 0644]
user/doom/doomgeneric_adros.c [new file with mode: 0644]
user/ulibc/include/ctype.h [new file with mode: 0644]
user/ulibc/include/stdlib.h
user/ulibc/src/stdlib.c