Commit Graph

  • 18d52aeacf gitignore main zxq5 2026-09-28 23:27:52 +01:00
  • 994339399f actions zxq5 2026-09-28 23:26:49 +01:00
  • a130ef2cf6 updated compiler IR codegen. still broken but getting there. next job is figuring out how we handle Lvalues. zxq5 2026-08-25 00:49:23 +01:00
  • 97e43b8b85 implemented most binary and unary operations for DSCS compiler (excl memory ops and boolean logic) zxq5 2026-08-23 00:00:06 +01:00
  • e35ba0e511 DSCS IR generation progress zxq5 2026-08-22 09:40:46 +01:00
  • 75c127d4ff Merge remote-tracking branch 'origin/main' zxq5 2026-08-20 22:23:22 +01:00
  • 1fe08ec3a1 documentation updates zxq5 2026-08-20 22:22:09 +01:00
  • 24424970fe progress on DSSML compiler zxq5 2026-08-20 18:17:06 +01:00
  • 5fd9c33bce ported over DSC compiler code to new DSCS compiler zxq5 2026-08-09 09:17:32 +01:00
  • e20bf7d08f updated DSX tasks/build zxq5 2026-08-09 09:17:01 +01:00
  • e3a87ca908 fixed a bug in the emulator where halting would break the state. zxq5 2026-08-09 09:16:30 +01:00
  • 8b7f29cd48 started on a compiler for a simple functional programming language for the DSA. zxq5 2026-08-09 09:15:09 +01:00
  • b542fc3c21 started on a compiler for a simple functional programming language for the DSA. zxq5 2026-08-05 01:09:43 +01:00
  • 43e9d6942c improved tree widget and separatated "FileTree" implementation out into separate src file zxq5 2026-08-03 23:02:09 +01:00
  • 8d28bf39f8 wrote new "ContextTree" system, emulator filetree is kind of broken for now. next commit will fix this. zxq5 2026-08-03 01:45:30 +01:00
  • e6ae60a798 commented out emulator boot logic for now. acting like real hardware with configurable memory mapping is a future goal. zxq5 2026-08-02 03:00:09 +01:00
  • 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) zxq5 2026-08-02 02:56:52 +01:00
  • 43f8340f0d refactor: - created dsa_tasks crate for task-specific functionality that doesn't belong in common. zxq5 2026-08-01 01:44:57 +01:00
  • 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. zxq5 2026-08-01 01:28:02 +01:00
  • 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 zxq5 2026-08-01 00:36:08 +01:00
  • a5190b69c6 mod.rs moment zxq5 2026-07-30 23:55:05 +01:00
  • fd3fed5143 unified tab style in UI zxq5 2026-07-30 00:48:24 +01:00
  • d616a116f5 fixed a bug in the emulator backend where it would try to reset the memory twice. zxq5 2026-07-29 23:43:06 +01:00
  • 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 zxq5 2026-07-29 22:03:24 +01:00
  • 5167c465aa documentation changes and new dsa binaries and test files. zxq5 2026-07-28 22:01:27 +01:00
  • 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. zxq5 2026-07-28 21:55:31 +01:00
  • 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. zxq5 2026-07-26 19:55:06 +01:00
  • d73ec47410 dscx language design concept zxq5 2026-07-22 00:10:57 +01:00
  • 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) zxq5 2026-07-22 00:10:42 +01:00
  • 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) zxq5 2026-07-19 01:18:00 +01:00
  • a306575cdd used AI to generate documentation. verified all documentation is correct and accurately represents the functionality of the emulator zxq5 2026-07-16 20:29:51 +01:00
  • a4d42bdad6 rewrote assembler backend to support custom executable format (DSE) and also refactored (moving crates around) zxq5 2026-07-16 00:34:13 +01:00
  • 7a84073bc4 extracted emulator backend into independent crate zxq5 2026-07-14 22:13:11 +01:00
  • b9d0f4fdd4 serial working zxq5 2026-03-17 02:17:03 +00:00
  • ffdd392003 continuing with serial driver in dsa. zxq5 2026-03-16 23:18:53 +00:00
  • 6061e1701e progress on serial and added editor zxq5 2026-03-16 04:31:47 +00:00
  • a4446cdb62 changes zxq5 2026-03-13 17:42:05 +00:00
  • 57ed7eb029 fixed broken merge commit zxq5 2026-03-13 16:48:14 +00:00
  • f8a99ac9b3 Merge remote-tracking branch 'refs/remotes/origin/main' zxq5 2026-03-13 16:41:28 +00:00
  • 06c6ba534d started assembler logic rewrite zxq5 2026-03-13 16:39:58 +00:00
  • 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 zxq5 2026-03-13 04:30:32 +00:00
  • 6da473c272 PEAK optimisation. 420mips. it's not getting much faster tbh. zxq5 2026-03-10 03:43:47 +00:00
  • 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 zxq5 2026-03-09 03:24:20 +00:00
  • 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 zxq5 2026-03-06 03:52:37 +00:00
  • 29077adb38 idk why these weren't alr committed zxq5 2026-03-04 04:38:31 +00:00
  • fb2e734a2f wrote instruction logic, just need a new assembler now :) zxq5 2026-03-04 04:38:11 +00:00
  • 1672732431 faster memory impl zxq5 2026-03-03 17:19:07 +00:00
  • ebb9489410 initial commit zxq5 2026-03-03 10:26:19 +00:00