more TODO

This commit is contained in:
IonutParau 2025-07-03 13:16:59 +02:00
parent 3546fe1093
commit 63482ee195
2 changed files with 8 additions and 4 deletions

10
TODO.md
View File

@ -1,5 +1,8 @@
# Parity with Vanilla OC (only the stuff that makes sense for an emulator) # Parity with Vanilla OC (only the stuff that makes sense for an emulator)
- get rid of nn_busySleep
- rework literally all the costs to just be heat and amount per tick
- change more methods to be direct but with buffered indirects.
- `computer` component - `computer` component
- `modem` component - `modem` component
- `tunnel` component - `tunnel` component
@ -15,11 +18,12 @@
- `vt`, a virtual terminal with ANSI-like escapes. (and a function to get its resolution) - `vt`, a virtual terminal with ANSI-like escapes. (and a function to get its resolution)
- (maybe) `qpu` component, a Quantum Processing Unit for quantum computing. - (maybe) `qpu` component, a Quantum Processing Unit for quantum computing.
- `radio_controller` and `radio_tower` components, for radio telecommunications. - `radio_controller` and `radio_tower` components, for radio telecommunications.
- `clock` component for arbitrary precision time-keeping. - (maybe) `clock` component for arbitrary precision time-keeping.
- `led` component for LED matrixes and/or LED lights.
# Internal stuff # Internal stuff
- custom atomic and lock support - custom atomic, lock and improved custom clock support. Perhaps generalizing it to an nn_Context.
- no longer depend on libc functions - no longer depend on libc functions
- no longer depend on libc headers - no longer depend on libc headers
- no longer link any libc when NN_BAREMETAL. - no longer link any libc when NN_BAREMETAL

View File

@ -108,7 +108,7 @@ bool nn_invokeComponentMethod(nn_component *component, const char *name) {
void nn_simulateBufferedIndirect(nn_component *component, double amount, double amountPerTick) { void nn_simulateBufferedIndirect(nn_component *component, double amount, double amountPerTick) {
double maximum = 100.0; double maximum = 100.0;
double x = amount / amountPerTick * maximum; double x = amount * maximum / amountPerTick;
component->indirectBufferProgress += x; component->indirectBufferProgress += x;
if(component->indirectBufferProgress >= maximum) { if(component->indirectBufferProgress >= maximum) {
component->indirectBufferProgress = 0; component->indirectBufferProgress = 0;