Commit Graph

54 Commits

Author SHA1 Message Date
e7a166f85c C99 2026-05-09 16:31:19 +03:00
f832369ce0 fuck those invariants anyways 2026-05-09 13:29:47 +03:00
754a04de3c yipee data cards are done 2026-05-09 02:22:58 +03:00
f13635fb5e oopsie daisy forgot 2 super imponrtant methods 2026-05-09 00:02:41 +03:00
13ecbd3b26 modem methods 2026-05-08 22:41:17 +03:00
51bc2ad8e6 call budgets match OC logic 2026-05-08 03:40:02 +03:00
9b16a7b8e2 userdata 2026-05-07 22:48:55 +03:00
855fb71b4e tunnel config 2026-05-06 01:39:11 +03:00
63b7db4936 made the energy usage make more sense 2026-05-06 00:16:15 +03:00
edca903416 progress on modem and data card 2026-05-05 19:08:31 +03:00
eef7568185 device info 2026-05-04 17:57:35 +03:00
4a5f1d4d07 data card and stuff
anything but device info
2026-05-03 23:30:18 +03:00
571ccb3e3d more balanced power usage and computer environments 2026-05-03 15:55:11 +03:00
cd10093673 patched rendering bug 2026-05-02 00:18:12 +03:00
08d1751016 Makefile 2026-05-01 22:40:51 +03:00
45ec779d4d eeprom is complete 2026-05-01 17:57:26 +03:00
17656b9805 made it easier to check for compat 2026-05-01 16:55:50 +03:00
dff8506d50 removed some debug code 2026-05-01 15:38:36 +03:00
20b9f0d4f1 bugfixes and improvements
credit to blendi for fixing the depth mapper
2026-05-01 15:28:12 +03:00
6834318639 scrolling events 2026-05-01 14:27:29 +03:00
4da296a135 bugfix and bugnotes 2026-05-01 02:37:13 +03:00
433ef4aa31 mineos and halyde support 2026-05-01 02:14:21 +03:00
7d52a4cd94 UlOS works now 2026-05-01 01:13:26 +03:00
871a7d4e17 fixed a heisenbug and reset openos 2026-04-29 23:21:28 +03:00
21eca5db92 allowing emulators to change method flags 2026-04-27 20:14:34 +03:00
a5e30abf36 screen brightness 2026-04-11 15:51:26 +02:00
d803783f35 begin work on netlib 2026-04-11 12:22:20 +02:00
21cd1fa4e6 progress on modem and basic todo 2026-04-07 15:55:57 +02:00
82777b52b3 computers can be turned on/off now 2026-04-07 13:11:18 +02:00
5d7725d77b fixed a deadlock 2026-04-07 09:56:47 +02:00
79ae1e13f8 bunch of progress 2026-04-05 19:48:13 +02:00
77aded7a05 rip the drive cache
had huge oversight and was just a bad idea
2026-04-05 03:33:26 +02:00
dad8e34cca work on network encoding and documenting eventual component interfaces 2026-04-05 01:04:24 +02:00
f9bbe58894 SSDs 2026-04-04 02:26:06 +02:00
a1b0f47f47 small buff 2026-04-04 00:24:43 +02:00
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
e6cf5990bb component costs 2026-04-03 00:42:00 +02:00
shorekeeper
2d0767847f remove test suite completely, we're blind 2026-04-03 00:09:08 +03:00
b8c184dd13 feat(gpu): impl simple gpu, screen and keyboard 2026-04-03 00:06:04 +03:00
97a2e34f2e realtime clock 2026-04-02 15:37:01 +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
3f6ef63737 small rework 2026-04-01 14:40:12 +02:00
2a31dc838d perfectly accurate fs
turns out, file cost is 0 for loot disks, so there was never an actual
discrepancy
2026-03-31 18:00:18 +02:00
917427c2e1 initial work on GPU 2026-03-31 14:43:10 +02:00
76b14524c5 more work on FS 2026-03-31 13:13:11 +02:00
5c854e5c4a extremely primitive screen impl 2026-03-30 23:25:56 +02:00
6086208879 more complete fs impl 2026-03-30 18:05:16 +02: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
1a6a008331 minor fixes 2026-03-19 18:48:58 +01:00