Commit Graph
40 Commits
Author SHA1 Message Date
zxq5 5fd9c33bce ported over DSC compiler code to new DSCS compiler 2026-08-09 09:17:32 +01:00
zxq5 e20bf7d08f updated DSX tasks/build 2026-08-09 09:17:01 +01:00
zxq5 e3a87ca908 fixed a bug in the emulator where halting would break the state. 2026-08-09 09:16:30 +01:00
zxq5 8b7f29cd48 started on a compiler for a simple functional programming language for the DSA. 2026-08-09 09:15:09 +01:00
zxq5 b542fc3c21 started on a compiler for a simple functional programming language for the DSA. 2026-08-05 01:09:43 +01:00
zxq5 43e9d6942c improved tree widget and separatated "FileTree" implementation out into separate src file 2026-08-03 23:02:09 +01:00
zxq5 8d28bf39f8 wrote new "ContextTree" system, emulator filetree is kind of broken for now. next commit will fix this. 2026-08-03 01:45:30 +01:00
zxq5 e6ae60a798 commented out emulator boot logic for now. acting like real hardware with configurable memory mapping is a future goal. 2026-08-02 03:00:09 +01:00
zxq5 59c26564d3 added zxq5_egui crate, a crate for packaging together my UI components so i can reuse them across projects.
- added buttons/tabs
- added a simple file tree (work in progress)
2026-08-02 02:58:28 +01:00
zxq5 43f8340f0d refactor:
- created dsa_tasks crate for task-specific functionality that doesn't belong in common.
2026-08-01 01:44:57 +01:00
zxq5 27d38eaf89 mega refactor:
essentially completely reorganised the project.
previous contents of the dsa folder have now been split into emulator/ tooling/ and libraries/
libraries is for common functionality across crates, tooling is for core binaries needed for building and debugging DSA projects, including dsx client/server/build
emulator contains the dsa_emulator crate that implements the core DSA emulator, the dsa_gui crate that implements the graphical user interface for the emulator & all future tooling under a unified application, and finally the dsa_cli crate which will eventually provide lightweight wrapper for the core emulator, simply providing a tool for running DSA binaries without the overhead of a heavy GUI.
2026-08-01 01:28:11 +01:00
zxq5 8c19497bc7 REFACTOR:
- created dsa_formats crate for DSA file formats such as DSE executables (.dsb, will become .dse once relocations/linking are introduced)
- moved IO devices from emulator_ui to emulator_core (keeping only the UI trait impls in emulator_ui)
- other refactors within emulator_ui to make the project structure a bit more sane
2026-08-01 00:36:08 +01:00
zxq5 a5190b69c6 mod.rs moment 2026-07-30 23:55:05 +01:00
zxq5 fd3fed5143 unified tab style in UI 2026-07-30 00:48:24 +01:00
zxq5 d616a116f5 fixed a bug in the emulator backend where it would try to reset the memory twice. 2026-07-29 23:43:06 +01:00
zxq5 17b80c1246 - added run_sync to TraceableProcess
refactored assembler to use the run_sync method defined by the TraceableProcess trait for standard running.
- refactored assembler logging to use the ProcessAgent
2026-07-29 22:03:24 +01:00
zxq5 5167c465aa documentation changes and new dsa binaries and test files. 2026-07-28 22:01:27 +01:00
zxq5 8e4b192319 added a simple process manager for the emulator UI. responsible for running and providing log information on build tasks etc.
first implementation so a bit jank still.
2026-07-28 21:55:31 +01:00
zxq5 708743ef64 refactor: fully moved to tile-based UI layout and removed most remnants of old layout (aside from editor which needs to be implemented properly before it's fully replaced. 2026-07-26 19:55:06 +01:00
zxq5 d73ec47410 dscx language design concept 2026-07-22 00:10:57 +01:00
zxq5 acf42d56f2 added close-confirmation for editor. TODO: make this behaviour dependent on the current file being saved (buffer is modified etc. maybe use a hash for memory efficiency) 2026-07-22 00:10:42 +01:00
zxq5 adfba876d2 megacommit:
- setup new UI layout using tiling and an action/message based system for updating global state based on interactions with individual tiles and vice versa
- added custom dialogs and UI helpers to create a more cohesive UI
- added a disassembler widget (WIP)
- added a documentation widget (WIP)
- refactored backend halt/pause logic to fix bugs.
- started emulator implementation documentation (to complement the ISA spec)
2026-07-19 01:18:00 +01:00
zxq5 a306575cdd used AI to generate documentation. verified all documentation is correct and accurately represents the functionality of the emulator 2026-07-16 20:29:51 +01:00
zxq5 a4d42bdad6 rewrote assembler backend to support custom executable format (DSE) and also refactored (moving crates around) 2026-07-16 00:34:23 +01:00
zxq5 7a84073bc4 extracted emulator backend into independent crate 2026-07-14 22:14:22 +01:00
zxq5 b9d0f4fdd4 serial working 2026-03-17 02:17:03 +00:00
zxq5 ffdd392003 continuing with serial driver in dsa. 2026-03-16 23:18:53 +00:00
zxq5 6061e1701e progress on serial and added editor 2026-03-16 04:31:47 +00:00
zxq5 a4446cdb62 changes 2026-03-13 17:42:05 +00:00
zxq5 57ed7eb029 fixed broken merge commit 2026-03-13 16:48:14 +00:00
zxq5 f8a99ac9b3 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-03-13 16:41:28 +00:00
zxq5 06c6ba534d started assembler logic rewrite 2026-03-13 16:39:58 +00:00
zxq5 e1705efe7c new ui, control panel kinda works, display works, framebuffer works, serial write works. widget for registers works. next is serial input and the editor 2026-03-13 04:30:32 +00:00
zxq5 6da473c272 PEAK optimisation. 420mips. it's not getting much faster tbh. 2026-03-10 03:43:47 +00:00
zxq5 e01a9f2808 progress: new assembler works, instruction set fully implemented with call/ret and push/pop, bf.dsa works which means the dsa assembly language works reliably. still a few bugs to fix. might be able to squeeze out a tiny bit more performance 2026-03-09 03:24:20 +00:00
zxq5 fc972b9b7b progress, still some TODO's before we can start running instructions. need to finish up the initial IO/mem then port the old assembler to DSAv2 2026-03-06 03:52:37 +00:00
zxq5 29077adb38 idk why these weren't alr committed 2026-03-04 04:38:31 +00:00
zxq5 fb2e734a2f wrote instruction logic, just need a new assembler now :) 2026-03-04 04:38:11 +00:00
zxq5 1672732431 faster memory impl 2026-03-03 17:19:07 +00:00
zxq5 ebb9489410 initial commit 2026-03-03 10:26:19 +00:00