Commit Graph

64 Commits

Author SHA1 Message Date
32f94cf02b drives, rebalancing, and a broken tmpfs impl
that tmpfs impl needs to be reworked to heck and back!
2026-04-03 23:58:23 +02:00
a2069eea74 minor tweaks 2026-04-02 21:26:38 +02:00
ac2a05efdb MSVC is horrendous 2026-04-02 15:19:51 +02:00
shorekeeper
8d37628ae7 Fix Windows build and several cross-platform bugs
Cross-platform bugs:

- ncomplib.c: fseek was called as fseek(f, whence, offset) instead of
  fseek(f, offset, whence). Seeks only worked correctly when offset
  happened to numerically equal a valid whence constant.

- neonucleus.c: nn_realloc passed memory pointer instead of ctx to
  nn_alloc in the NULL and sentinel paths. Any call with memory=NULL
  dereferences NULL as a context struct and crashes. Confirmed by
  test_realloc.c which crashes before fix and passes after.

- neonucleus.h: NN_TiB was defined as (1024 * NN_TiB), referencing
  itself. Fixed to ((size_t)1024 * NN_GiB).

- luaarch.c: unicode functions were registered on the component Lua
  table instead of the unicode table. Wrong stack index variable was
  used in all five lua_setfield calls.

- neonucleus.c: NN_ATOMIC_NONE versions of nn_incRef/nn_decRef took
  1 argument but were called with 2 everywhere. Added the missing
  size_t n parameter.

Windows build:

- neonucleus.c: NN_LOCK_CREATE in NN_THREAD_WINDOWS was missing a
  return statement, falling through into NN_LOCK_DESTROY and
  immediately closing the freshly created mutex handle.

- ncomplib.c: Added Windows implementations for opendir, readdir,
  closedir, stat, mkdir and directory removal using FindFirstFileA,
  FindNextFileA, _stat, _mkdir and _rmdir.

- main.c: Fall back to USERNAME env var when USER is not set.

- neonucleus.h: Added NN_VLA macro. Expands to a plain VLA on
  GCC/Clang, uses _alloca on MSVC. Applied in luaarch.c and
  neonucleus.c where VLAs were used.

- neonucleus.h: Added NN_INIT macro. Expands to a compound literal
  cast on GCC/Clang, expands to nothing on MSVC which does not
  support compound literals as constant initializers at file scope.
  Applied to all global struct initializers in neonucleus.c.

- neonucleus.c: Auto-define NN_ATOMIC_NONE on MSVC in C mode since
  MSVC does not provide stdatomic.h outside of C++ mode.
2026-04-01 19:18:00 +03:00
37cc73a21c huge progress on ncomplib 2026-03-29 19:50:16 +02:00
30547b2dc8 reworking a large part of the architecture 2026-03-28 22:38:00 +01:00
speedy-lex
4d8adb14c1 Revert "raylib submodule -> zig dependency"
This reverts commit e96e932ca2.
2025-10-01 17:22:46 +02:00
b46c6f6dc8 fixed a massive bug 2025-10-01 16:53:49 +02:00
fcd9b482f9 made it get compiled 2025-07-31 16:41:49 +02:00
9e33d5a1d2 device info 2025-07-29 16:41:22 +02:00
bf473f5c4c minor build changes 2025-07-28 22:41:12 +02:00
255df4d352 PIC 2.0 2025-07-28 22:07:06 +02:00
48faf57d84 made stuff PIC 2025-07-28 22:05:18 +02:00
6499f919d0 progress on tunnels 2025-07-27 21:06:06 +02:00
0c3a3f0d75 disk drives and resources 2025-07-25 18:10:16 +02:00
b25f830f3b VRAM progress and fixed a dumb Windows-only issue 2025-07-22 19:20:45 +02:00
2cd485b355 loopback modems 2025-07-20 15:28:16 +02:00
820e63aa83 initial progress on modems 2025-07-19 01:23:57 +02:00
4a5562549c quick fix 2025-07-16 00:38:26 +02:00
bb45b99e8a enabled stricter warnings and improved error handling in eeproms 2025-07-15 18:54:44 +02:00
f4bf8e1d62 fixed a bug related to Lua includes 2025-07-15 17:48:52 +02:00
8531b1a05e some bugfixes 2025-07-13 14:25:54 +02:00
79e9a8ac2f progress on volatileFilesystem and fixed a file descriptor leak 2025-07-13 13:31:26 +02:00
aa8bdfb88c volatile stuff 2025-07-12 19:22:49 +02:00
863e04f19e the sound of progress
- Medic TF2
2025-07-12 18:42:38 +02:00
d9670610f8 improved EEPROM system 2025-07-12 13:13:46 +02:00
1bf8604433 fixed all the optimizer bugs 2025-07-12 11:27:59 +02:00
833d919066 changes 2025-07-09 23:09:55 +02:00
20a149cc28 more work on baremetal 2025-07-09 19:25:54 +02:00
51b3602088 experimental baremetal
we no longer depend on libc
2025-07-09 19:17:57 +02:00
fbae5a5a53 progress towards baremetal 2025-07-09 17:19:30 +02:00
4a28c8943e basic hashing 2025-07-08 21:18:28 +02:00
Speedy_Lex
82087c0d3c sysraylib flag 2025-07-05 23:23:47 +02:00
speedy-lex
b7f4b1ebaa add right optimize on raylib 2025-07-03 17:34:10 +02:00
495882bcf7 removed mingw dependency 2025-07-03 17:24:08 +02:00
speedy-lex
545ef818c8 linux to windows cross compile 2025-07-03 17:19:28 +02:00
Speedy_Lex
67a178db81 make build script respect -Dtarget 2025-07-03 17:00:17 +02:00
Quantum Tomato
2d4bec8734 Merge pull request #19 from speedy-lex/install-headers
install neonucleus.h into zig-out
2025-07-03 15:00:59 +02:00
Speedy_Lex
9dde8fe2b5 install neonucleus.h into zig-out 2025-07-03 14:55:35 +02:00
Speedy_Lex
e96e932ca2 raylib submodule -> zig dependency 2025-07-03 14:31:25 +02:00
Speedy_Lex
f3f3c0b2f0 Compile + static link raylib on all platforms 2025-07-03 13:09:34 +02:00
Speedy_Lex
e422013538 static link raylib 2025-07-03 12:06:26 +02:00
Speedy_Lex
21129aab20 fix windows build order 2025-07-03 10:39:16 +02:00
Speedy_Lex
1f2b9bedca make the build script great again 2025-07-03 00:15:24 +02:00
speedy-lex
f38116fd50 fix the build script 2025-07-03 00:14:52 +02:00
speedy-lex
3c13c50cbb WIP: drive component 2025-07-01 21:08:35 +02:00
44bb1ec866 I will murder someone for this 2025-07-01 18:53:24 +02:00
Speedy_Lex
4b6aec6c0a i hate windows 2025-07-01 00:44:12 +02:00
6a21b83d5a the gpu like kinda functions idfk 2025-06-26 23:27:56 +02:00
d20c59b162 progress on GPUs
not at all complete
2025-06-24 19:25:40 +02:00