zxq5
259746558f
codegen progress
2026-01-29 19:29:48 +00:00
zxq5
b9f98bff7b
started on codegen, scaffolding basically done
2025-11-15 02:58:36 +00:00
zxq5
091dabfbf3
Merge remote-tracking branch 'refs/remotes/origin/compiler' into compiler
2025-11-14 23:37:57 +00:00
zxq5
fd5b305576
started work on c compiler
2025-11-14 23:36:51 +00:00
zxq5
b33fdbfeec
rust macros make me want to unalive.
2025-07-01 01:08:37 +01:00
zxq5
2582ad10fa
started work on compiler
2025-06-30 20:44:39 +01:00
nullndvoid
458661b02a
misc: add 'profiling' profile.
2025-06-29 04:11:41 +01:00
nullndvoid
c41e5328e6
docs: fix failing doctest
2025-06-29 02:21:31 +01:00
zxq5
67ebf48d6f
removed old log file
2025-06-29 02:08:06 +01:00
zxq5
98668c681e
more optimisations test program ~54MIPS -> ~110MIPS
2025-06-29 02:04:14 +01:00
zxq5
05a25447b2
minor optimisation to reduce unnecessary allocations
2025-06-28 03:43:20 +01:00
zxq5
56d2abe17f
- optimised main emulator loop, allowing updates only once every roughly 32,000 instructions.
...
- optimised memory access patterns, removing unecessary mutability and accesses.
- replaced the standard HashMap with an implementation that uses a faster hashing algorithm.
results:
before:
- our benchmark program with ~4m instructions would take around for their data to make it to the UI, and a bit over 200ms to actually run
after:
- our benchmark program with ~4m instructions can run in around 75ms, and the UI receives the update almost instantly.
conclusion:
- emulator performance should be around 2-3x faster than before.
2025-06-28 03:21:46 +01:00
zxq5
eaaefd1b07
added rule to .gitignore
2025-06-27 18:31:52 +01:00
zxq5
5302ad3876
removed junk files
2025-06-27 18:30:53 +01:00
zxq5
2280f1e5d9
updated vscode settings
2025-06-27 18:30:26 +01:00
zxq5
ae92510fb8
dsa lib bugfixes
2025-06-26 20:53:51 +01:00
zxq5
7c63340888
minor changes to assembler
2025-06-26 20:53:22 +01:00
zxq5
e9f04824ea
updates to dsa libs
2025-06-26 00:51:20 +01:00
zxq5
620584488b
fixed unit tests & misc changes to workspace config
2025-06-26 00:50:58 +01:00
zxq5
1101331f70
fixed a couple of emulator bugs, including fixing shift instructions. finished implementing lib/io/print/print_hex_byte and print_hex_word
2025-06-25 16:31:42 +01:00
zxq5
c171b0db89
worked on print.dsa and maths/core.dsa
2025-06-25 00:40:31 +01:00
zxq5
82b99c127c
finished initial interrupts implementation
2025-06-25 00:13:55 +01:00
nullndvoid
92c4660a4d
misc: get rid of some errors from Cargo lol
2025-06-24 21:55:11 +01:00
zxq5
2a6991fe4a
idk, i refactored some stuff ig
2025-06-24 19:34:45 +01:00
zxq5
0fdd28aad1
finished the interpreter
2025-06-24 19:31:55 +01:00
zxq5
f639240b6c
progress on debugging bf.dsa
2025-06-24 18:07:33 +01:00
zxq5
d2c1492dca
added step(n) feature to emulator, allowing for stepping n instructions at a time
2025-06-24 18:07:11 +01:00
zxq5
4ef8bbdf46
updated dependencies
2025-06-24 18:06:29 +01:00
zxq5
76197fac8f
finished refactor of emulator - started on loader (needs significant changes before functional in the way that I would like)
2025-06-23 23:45:47 +01:00
zxq5
bc5ddef311
added error handling to emulator
2025-06-23 21:28:38 +01:00
nullndvoid
ed479ac146
assembler: purge unwrap and use more AssembleErrors
2025-06-23 19:39:49 +01:00
nullndvoid
f432fe7665
misc: clippy lint fixes
2025-06-23 18:23:01 +01:00
nullndvoid
083628ec7e
emulator: builds still don't actually work, will look into ELF stuff
2025-06-23 18:13:08 +01:00
zxq5
ddd0c27893
found a cause of a memory bug in emulator - fix is TODO ( #6 ) - continued working on brainf interpreter. we really need better debugging tools tbh.
2025-06-23 00:31:09 +01:00
zxq5
b8091222a4
working on bf.dsa (brainf##k interpreter) cos fun
2025-06-22 16:14:51 +01:00
zxq5
6ea3a76d74
fixed some bugs with file picker & loading different file types - will start working on brainf##k interpreter tomorrow because a compiler isn't enough.
2025-06-22 05:19:55 +01:00
zxq5
2b777f55c7
Merge remote-tracking branch 'refs/remotes/origin/main'
2025-06-22 03:54:44 +01:00
zxq5
808b51ff5f
updated emulator to support importing .dsb binaries
2025-06-22 03:52:11 +01:00
zxq5
7892c44d89
updated print with new functions
2025-06-22 03:51:39 +01:00
zxq5
9c56258c48
assembler changes & brainf##k compiler lmao
2025-06-22 03:51:16 +01:00
nullndvoid
c7322d8171
emulator on android: crashes but APKs are building
2025-06-22 03:46:42 +01:00
nullndvoid
a878483923
emulator: fix build errors in main.rs
2025-06-22 02:21:08 +01:00
nullndvoid
b97dcd5692
emulator: start supporting Android, this is WIP
...
Needs storage permissions, probably extra tweaks
2025-06-22 02:13:06 +01:00
nullndvoid
83259b9217
emulator: use egui file pickers rather than native ones
...
TODO: Add file types when picking? This is a regression
2025-06-22 02:12:26 +01:00
nullndvoid
bbf893290f
misc: more clippy fixes, **switched to stable**
...
The switch was due to rust-analyzer bug on latest nightly, please use stable until [this bug](https://github.com/rust-lang/rust-analyzer/issues/20051 ) is fixed
2025-06-22 00:42:44 +01:00
nullndvoid
1907bbb200
misc: clippy fixes
2025-06-22 00:30:27 +01:00
nullndvoid
22a8785083
emulator: cut down on cfg directives
2025-06-22 00:03:48 +01:00
zxq5
528ceddade
refactor & fixed assembler path handling
2025-06-21 04:05:22 +01:00
zxq5
42c26d4184
added a create-project system to assembler, and fixed a couple of parsing bugs
2025-06-20 03:25:28 +01:00
zxq5
f791b05292
idk what changes i made
2025-06-19 23:30:32 +01:00