From 27d38eaf89aac70c212de83b36762ad20581beb1 Mon Sep 17 00:00:00 2001 From: zxq5 Date: Sat, 1 Aug 2026 01:28:02 +0100 Subject: [PATCH] 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. --- .idea/dsa2.iml | 25 +++++++++--------- Cargo.toml | 7 ++++- dsa/README.md | 17 ------------ .../emulator_core/src/config/default/mod.rs | 2 -- dsx/README.md | 8 ------ .../dsa_cli}/Cargo.toml | 2 +- .../dsa_cli}/src/main.rs | 0 .../dsa_emulator}/Cargo.toml | 6 ++--- .../src/config/default/dsa.iomap.ron | 0 .../src/config/default/dsa.mmap.ron | 0 .../dsa_emulator/src/config/default/mod.rs | 2 ++ .../dsa_emulator}/src/config/mod.rs | 0 .../dsa_emulator}/src/devices/display.rs | 0 .../dsa_emulator}/src/devices/framebuffer.rs | 0 .../dsa_emulator}/src/devices/mod.rs | 0 .../dsa_emulator}/src/devices/serial.rs | 2 +- .../dsa_emulator}/src/lib.rs | 22 +++++++-------- .../dsa_emulator}/src/memory/cache.rs | 0 .../dsa_emulator}/src/memory/mmu.rs | 0 .../dsa_emulator}/src/memory/mod.rs | 0 .../dsa_emulator}/src/memory/ram.rs | 0 .../dsa_emulator}/src/memory/tlb.rs | 0 .../dsa_emulator}/src/processor/dsa_core.rs | 2 +- .../dsa_emulator}/src/processor/dsa_debug.rs | 0 .../src/processor/dsa_optimised.rs | 0 .../dsa_emulator}/src/processor/interrupts.rs | 0 .../dsa_emulator}/src/processor/mod.rs | 0 .../dsa_emulator}/src/processor/state.rs | 0 .../dsa_gui}/Cargo.toml | 12 ++++----- .../JetBrainsMonoNerdFontMono_Regular.ttf | Bin .../dsa_gui}/src/args.rs | 2 +- .../dsa_gui}/src/lib.rs | 4 +-- .../dsa_gui}/src/main.rs | 2 +- .../dsa_gui}/src/state.rs | 0 .../dsa_gui}/src/ui/appearance.rs | 0 .../dsa_gui}/src/ui/controller.rs | 4 +-- .../dsa_gui}/src/ui/dialogs/confirm_dialog.rs | 0 .../dsa_gui}/src/ui/dialogs/error_dialog.rs | 0 .../dsa_gui}/src/ui/dialogs/file_dialog.rs | 0 .../dsa_gui}/src/ui/dialogs/mod.rs | 0 .../dsa_gui}/src/ui/mod.rs | 6 ++--- .../dsa_gui}/src/ui/process_manager.rs | 0 .../dsa_gui}/src/ui/tiles/about.rs | 2 +- .../dsa_gui}/src/ui/tiles/disassembler.rs | 0 .../dsa_gui}/src/ui/tiles/documentation.rs | 0 .../dsa_gui}/src/ui/tiles/editor/mod.rs | 0 .../dsa_gui}/src/ui/tiles/editor/syntax.rs | 0 .../dsa_gui}/src/ui/tiles/editor/theme.rs | 0 .../src/ui/tiles/io_devices/display.rs | 2 +- .../src/ui/tiles/io_devices/framebuffer.rs | 6 ++--- .../dsa_gui}/src/ui/tiles/io_devices/mod.rs | 0 .../src/ui/tiles/io_devices/serial.rs | 4 +-- .../dsa_gui}/src/ui/tiles/memory.rs | 2 +- .../dsa_gui}/src/ui/tiles/mod.rs | 0 .../dsa_gui}/src/ui/tiles/registers.rs | 2 +- .../dsa_gui}/src/ui/ui_helpers/mod.rs | 5 ++-- .../dsa_gui}/src/ui/ui_helpers/text.rs | 0 {dsa => libraries}/common/Cargo.toml | 0 {dsa => libraries}/common/src/asm/mod.rs | 0 {dsa => libraries}/common/src/formats/mod.rs | 0 .../common/src/isa/instructions/decode.rs | 0 .../common/src/isa/instructions/encode.rs | 0 .../common/src/isa/instructions/mod.rs | 0 {dsa => libraries}/common/src/isa/mod.rs | 0 {dsa => libraries}/common/src/isa/register.rs | 0 {dsa => libraries}/common/src/lib.rs | 0 {dsa => libraries}/common/src/process.rs | 0 {dsa => libraries}/dsa_formats/Cargo.toml | 0 .../dsa_formats/src/binary_dse.rs | 4 +-- .../dsa_formats/src/binary_dso.rs | 0 {dsa => libraries}/dsa_formats/src/lib.rs | 0 {dsa_resources => resources}/animation.dsa | 0 {dsa_resources => resources}/animation.dsb | Bin {dsa_resources => resources}/bench.dsa | 0 {dsa_resources => resources}/bench.dsb | Bin {dsa_resources => resources}/bench_decomp.txt | 0 {dsa_resources => resources}/bf.dsa | 0 {dsa_resources => resources}/bf.dsb | Bin {dsa_resources => resources}/bfout.dsb | Bin {dsa_resources => resources}/decomp.txt | 0 {dsa_resources => resources}/framebuffer.dsa | 0 {dsa_resources => resources}/framebuffer.dsb | Bin {dsa_resources => resources}/idt.dsa | 0 {dsa_resources => resources}/out.dsb | Bin {dsa_resources => resources}/out2.dsb | Bin {dsa_resources => resources}/out3.dsb | Bin {dsa_resources => resources}/print.dsa | 0 {dsa_resources => resources}/serial.dsa | 0 {dsa_resources => resources}/serialtest.dsa | 0 {dsa => tooling}/assembler/Cargo.toml | 4 +-- {dsa => tooling}/assembler/example.dsa | 0 .../assembler/src/assembler/codegen.rs | 0 .../assembler/src/assembler/expand.rs | 0 .../assembler/src/assembler/lexer.rs | 0 .../assembler/src/assembler/macros.rs | 0 .../assembler/src/assembler/mod.rs | 0 .../assembler/src/assembler/model.rs | 0 .../assembler/src/assembler/parser.rs | 0 .../assembler/src/assembler/resolver2.rs | 0 .../assembler/src/assemblerv2/context.rs | 0 .../assembler/src/assemblerv2/error.rs | 0 .../assembler/src/assemblerv2/lexer.rs | 0 .../assembler/src/assemblerv2/mod.rs | 0 .../assembler/src/assemblerv2/parser.rs | 0 {dsa => tooling}/assembler/src/lib.rs | 0 {dsa => tooling}/assembler/src/main.rs | 0 {dsa => tooling}/compiler/Cargo.toml | 0 {dsa => tooling}/compiler/src/lib.rs | 0 {dsa => tooling}/disassembler/Cargo.toml | 4 +-- {dsa => tooling}/disassembler/src/lib.rs | 0 {dsa => tooling}/disassembler/src/main.rs | 0 tooling/dsx_build/Cargo.toml | 7 +++++ {dsa/linker => tooling/dsx_build}/src/lib.rs | 0 tooling/dsx_build/src/main.rs | 4 +++ {dsx => tooling}/dsx_client/Cargo.toml | 0 .../dsx_client}/src/main.rs | 0 {dsx => tooling}/dsx_server/Cargo.toml | 0 tooling/dsx_server/src/main.rs | 3 +++ {dsa => tooling}/linker/Cargo.toml | 0 {dsx/dsx_common => tooling/linker}/src/lib.rs | 0 120 files changed, 84 insertions(+), 90 deletions(-) delete mode 100644 dsa/README.md delete mode 100644 dsa/emulator/emulator_core/src/config/default/mod.rs delete mode 100644 dsx/README.md rename {dsx/dsx_common => emulator/dsa_cli}/Cargo.toml (83%) rename {dsx/dsx_client => emulator/dsa_cli}/src/main.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/Cargo.toml (66%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/config/default/dsa.iomap.ron (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/config/default/dsa.mmap.ron (100%) create mode 100644 emulator/dsa_emulator/src/config/default/mod.rs rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/config/mod.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/devices/display.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/devices/framebuffer.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/devices/mod.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/devices/serial.rs (97%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/lib.rs (88%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/memory/cache.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/memory/mmu.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/memory/mod.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/memory/ram.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/memory/tlb.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/processor/dsa_core.rs (99%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/processor/dsa_debug.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/processor/dsa_optimised.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/processor/interrupts.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/processor/mod.rs (100%) rename {dsa/emulator/emulator_core => emulator/dsa_emulator}/src/processor/state.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/Cargo.toml (62%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/font/JetBrainsMonoNerdFontMono_Regular.ttf (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/args.rs (96%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/lib.rs (84%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/main.rs (78%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/state.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/appearance.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/controller.rs (97%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/dialogs/confirm_dialog.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/dialogs/error_dialog.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/dialogs/file_dialog.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/dialogs/mod.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/mod.rs (98%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/process_manager.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/about.rs (95%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/disassembler.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/documentation.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/editor/mod.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/editor/syntax.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/editor/theme.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/io_devices/display.rs (97%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/io_devices/framebuffer.rs (94%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/io_devices/mod.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/io_devices/serial.rs (94%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/memory.rs (99%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/mod.rs (100%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/tiles/registers.rs (99%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/ui_helpers/mod.rs (98%) rename {dsa/emulator/emulator_ui => emulator/dsa_gui}/src/ui/ui_helpers/text.rs (100%) rename {dsa => libraries}/common/Cargo.toml (100%) rename {dsa => libraries}/common/src/asm/mod.rs (100%) rename {dsa => libraries}/common/src/formats/mod.rs (100%) rename {dsa => libraries}/common/src/isa/instructions/decode.rs (100%) rename {dsa => libraries}/common/src/isa/instructions/encode.rs (100%) rename {dsa => libraries}/common/src/isa/instructions/mod.rs (100%) rename {dsa => libraries}/common/src/isa/mod.rs (100%) rename {dsa => libraries}/common/src/isa/register.rs (100%) rename {dsa => libraries}/common/src/lib.rs (100%) rename {dsa => libraries}/common/src/process.rs (100%) rename {dsa => libraries}/dsa_formats/Cargo.toml (100%) rename {dsa => libraries}/dsa_formats/src/binary_dse.rs (99%) rename {dsa => libraries}/dsa_formats/src/binary_dso.rs (100%) rename {dsa => libraries}/dsa_formats/src/lib.rs (100%) rename {dsa_resources => resources}/animation.dsa (100%) rename {dsa_resources => resources}/animation.dsb (100%) rename {dsa_resources => resources}/bench.dsa (100%) rename {dsa_resources => resources}/bench.dsb (100%) rename {dsa_resources => resources}/bench_decomp.txt (100%) rename {dsa_resources => resources}/bf.dsa (100%) rename {dsa_resources => resources}/bf.dsb (100%) rename {dsa_resources => resources}/bfout.dsb (100%) rename {dsa_resources => resources}/decomp.txt (100%) rename {dsa_resources => resources}/framebuffer.dsa (100%) rename {dsa_resources => resources}/framebuffer.dsb (100%) rename {dsa_resources => resources}/idt.dsa (100%) rename {dsa_resources => resources}/out.dsb (100%) rename {dsa_resources => resources}/out2.dsb (100%) rename {dsa_resources => resources}/out3.dsb (100%) rename {dsa_resources => resources}/print.dsa (100%) rename {dsa_resources => resources}/serial.dsa (100%) rename {dsa_resources => resources}/serialtest.dsa (100%) rename {dsa => tooling}/assembler/Cargo.toml (78%) rename {dsa => tooling}/assembler/example.dsa (100%) rename {dsa => tooling}/assembler/src/assembler/codegen.rs (100%) rename {dsa => tooling}/assembler/src/assembler/expand.rs (100%) rename {dsa => tooling}/assembler/src/assembler/lexer.rs (100%) rename {dsa => tooling}/assembler/src/assembler/macros.rs (100%) rename {dsa => tooling}/assembler/src/assembler/mod.rs (100%) rename {dsa => tooling}/assembler/src/assembler/model.rs (100%) rename {dsa => tooling}/assembler/src/assembler/parser.rs (100%) rename {dsa => tooling}/assembler/src/assembler/resolver2.rs (100%) rename {dsa => tooling}/assembler/src/assemblerv2/context.rs (100%) rename {dsa => tooling}/assembler/src/assemblerv2/error.rs (100%) rename {dsa => tooling}/assembler/src/assemblerv2/lexer.rs (100%) rename {dsa => tooling}/assembler/src/assemblerv2/mod.rs (100%) rename {dsa => tooling}/assembler/src/assemblerv2/parser.rs (100%) rename {dsa => tooling}/assembler/src/lib.rs (100%) rename {dsa => tooling}/assembler/src/main.rs (100%) rename {dsa => tooling}/compiler/Cargo.toml (100%) rename {dsa => tooling}/compiler/src/lib.rs (100%) rename {dsa => tooling}/disassembler/Cargo.toml (73%) rename {dsa => tooling}/disassembler/src/lib.rs (100%) rename {dsa => tooling}/disassembler/src/main.rs (100%) create mode 100644 tooling/dsx_build/Cargo.toml rename {dsa/linker => tooling/dsx_build}/src/lib.rs (100%) create mode 100644 tooling/dsx_build/src/main.rs rename {dsx => tooling}/dsx_client/Cargo.toml (100%) rename {dsx/dsx_server => tooling/dsx_client}/src/main.rs (100%) rename {dsx => tooling}/dsx_server/Cargo.toml (100%) create mode 100644 tooling/dsx_server/src/main.rs rename {dsa => tooling}/linker/Cargo.toml (100%) rename {dsx/dsx_common => tooling/linker}/src/lib.rs (100%) diff --git a/.idea/dsa2.iml b/.idea/dsa2.iml index c4da618..feacb59 100644 --- a/.idea/dsa2.iml +++ b/.idea/dsa2.iml @@ -3,18 +3,19 @@ - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Cargo.toml b/Cargo.toml index 6bc7914..c6cf775 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,10 @@ [workspace] -members = ["dsa/common", "dsa/assembler", "dsa/emulator/emulator_ui", "dsa/linker", "dsa/compiler", "dsa/emulator/emulator_core", "dsx/dsx_common", "dsx/dsx_server", "dsx/dsx_client", "dsa/disassembler", "dsa/dsa_formats"] +members = [ + "emulator/dsa_emulator", "emulator/dsa_gui", "emulator/dsa_cli", + "libraries/common", "libraries/dsa_formats", + "tooling/assembler", "tooling/disassembler", "tooling/linker", "tooling/compiler", + "tooling/dsx_build", "tooling/dsx_server", "tooling/dsx_client"] + resolver = "3" [workspace.package] diff --git a/dsa/README.md b/dsa/README.md deleted file mode 100644 index db23fc4..0000000 --- a/dsa/README.md +++ /dev/null @@ -1,17 +0,0 @@ -The DSA libraries form the foundation of the entire project, acting as a bridge between high‑level software and the specialized DSA hardware. Their primary responsibilities are: - -1. **Instruction Set Core Library** - - Encapsulates all architectural primitives: opcodes, operand formats, and execution semantics. - - Supplies utility functions to build, validate, and serialize instruction streams. - -2. **Assembler Support** - - Translates DSA assembly language into binary instruction packets that the hardware can execute. - - Implements directives for sectioning, alignment, and relocation handling. - -3. **High‑Level Language Compiler (DSC) Runtime** - - Generates DSA bytecode from DSC source files, leveraging the core library for instruction encoding. - - Offers debugging hooks, profiling counters, and exception handling mechanisms. - -4. **Testing & Verification Utilities** - - Contains unit tests that run against both emulated and real hardware to ensure correctness. - - Provides logging facilities for low‑level bus transactions and performance metrics. diff --git a/dsa/emulator/emulator_core/src/config/default/mod.rs b/dsa/emulator/emulator_core/src/config/default/mod.rs deleted file mode 100644 index fd36e72..0000000 --- a/dsa/emulator/emulator_core/src/config/default/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub const DEFAULT_MEMORY_MAP: &'static str = include_str!("./dsa.mmap.ron"); -pub const DEFAULT_IO_MAP: &'static str = include_str!("./dsa.iomap.ron"); \ No newline at end of file diff --git a/dsx/README.md b/dsx/README.md deleted file mode 100644 index e2f70ff..0000000 --- a/dsx/README.md +++ /dev/null @@ -1,8 +0,0 @@ -DSX is a collection of higher‑level tools that orchestrate the DSA ecosystem. -While **DSA** supplies the core emulator, compiler, assembler and runtime, DSX provides: - -* **dsx-client** – A package manager that interacts with servers, managing packages and DSA repositories on the local machine -* **dsx-server** – A lightweight package repository server that hosts DSX packages, enabling sharing and version control across teams, with CI/CD configured out‑of‑the‑box. -* **dsx-common** - A set of common utilities between dsx-client and dsx-server, including the build system itself - -Together, these tools streamline development workflows, automate builds, and manage the distribution of DSA components within an organization. diff --git a/dsx/dsx_common/Cargo.toml b/emulator/dsa_cli/Cargo.toml similarity index 83% rename from dsx/dsx_common/Cargo.toml rename to emulator/dsa_cli/Cargo.toml index b67cd8f..4e7b69b 100644 --- a/dsx/dsx_common/Cargo.toml +++ b/emulator/dsa_cli/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "dsx_common" +name = "dsa_cli" edition.workspace = true version.workspace = true authors.workspace = true diff --git a/dsx/dsx_client/src/main.rs b/emulator/dsa_cli/src/main.rs similarity index 100% rename from dsx/dsx_client/src/main.rs rename to emulator/dsa_cli/src/main.rs diff --git a/dsa/emulator/emulator_core/Cargo.toml b/emulator/dsa_emulator/Cargo.toml similarity index 66% rename from dsa/emulator/emulator_core/Cargo.toml rename to emulator/dsa_emulator/Cargo.toml index f701668..6f85123 100644 --- a/dsa/emulator/emulator_core/Cargo.toml +++ b/emulator/dsa_emulator/Cargo.toml @@ -1,15 +1,15 @@ [package] -name = "emulator_core" +name = "dsa_emulator" edition.workspace = true version.workspace = true authors.workspace = true [lib] -name = "emulator_core" +name = "dsa_emulator" path = "src/lib.rs" [dependencies] arc-swap = "1.9.2" -common = { version = "0.1.0", path = "../../common" } +common = { version = "0.1.0", path = "../../libraries/common" } serde = { version = "1.0.228", features = ["derive"] } ron = "0.12.2" diff --git a/dsa/emulator/emulator_core/src/config/default/dsa.iomap.ron b/emulator/dsa_emulator/src/config/default/dsa.iomap.ron similarity index 100% rename from dsa/emulator/emulator_core/src/config/default/dsa.iomap.ron rename to emulator/dsa_emulator/src/config/default/dsa.iomap.ron diff --git a/dsa/emulator/emulator_core/src/config/default/dsa.mmap.ron b/emulator/dsa_emulator/src/config/default/dsa.mmap.ron similarity index 100% rename from dsa/emulator/emulator_core/src/config/default/dsa.mmap.ron rename to emulator/dsa_emulator/src/config/default/dsa.mmap.ron diff --git a/emulator/dsa_emulator/src/config/default/mod.rs b/emulator/dsa_emulator/src/config/default/mod.rs new file mode 100644 index 0000000..bd3a8e3 --- /dev/null +++ b/emulator/dsa_emulator/src/config/default/mod.rs @@ -0,0 +1,2 @@ +pub const DEFAULT_MEMORY_MAP: &'static str = include_str!("dsa.mmap.ron"); +pub const DEFAULT_IO_MAP: &'static str = include_str!("dsa.iomap.ron"); \ No newline at end of file diff --git a/dsa/emulator/emulator_core/src/config/mod.rs b/emulator/dsa_emulator/src/config/mod.rs similarity index 100% rename from dsa/emulator/emulator_core/src/config/mod.rs rename to emulator/dsa_emulator/src/config/mod.rs diff --git a/dsa/emulator/emulator_core/src/devices/display.rs b/emulator/dsa_emulator/src/devices/display.rs similarity index 100% rename from dsa/emulator/emulator_core/src/devices/display.rs rename to emulator/dsa_emulator/src/devices/display.rs diff --git a/dsa/emulator/emulator_core/src/devices/framebuffer.rs b/emulator/dsa_emulator/src/devices/framebuffer.rs similarity index 100% rename from dsa/emulator/emulator_core/src/devices/framebuffer.rs rename to emulator/dsa_emulator/src/devices/framebuffer.rs diff --git a/dsa/emulator/emulator_core/src/devices/mod.rs b/emulator/dsa_emulator/src/devices/mod.rs similarity index 100% rename from dsa/emulator/emulator_core/src/devices/mod.rs rename to emulator/dsa_emulator/src/devices/mod.rs diff --git a/dsa/emulator/emulator_core/src/devices/serial.rs b/emulator/dsa_emulator/src/devices/serial.rs similarity index 97% rename from dsa/emulator/emulator_core/src/devices/serial.rs rename to emulator/dsa_emulator/src/devices/serial.rs index dfd88ca..bb8f8dc 100644 --- a/dsa/emulator/emulator_core/src/devices/serial.rs +++ b/emulator/dsa_emulator/src/devices/serial.rs @@ -53,7 +53,7 @@ impl Serial { handle.write_byte(uart_base + 2, 0x01); } - // Presumably emulator thread has shut down by this point. + // Presumably dsa_emulator thread has shut down by this point. if handle.interrupt(Interrupt::SerialIn).is_err() { return; } diff --git a/dsa/emulator/emulator_core/src/lib.rs b/emulator/dsa_emulator/src/lib.rs similarity index 88% rename from dsa/emulator/emulator_core/src/lib.rs rename to emulator/dsa_emulator/src/lib.rs index 90a2c1d..b13bebc 100644 --- a/dsa/emulator/emulator_core/src/lib.rs +++ b/emulator/dsa_emulator/src/lib.rs @@ -24,10 +24,10 @@ pub enum DsaError { CriticalException(String), } -/// This trait should be implemented for any type that can act as a fully functional DSA emulator with the ability to share state +/// This trait should be implemented for any type that can act as a fully functional DSA dsa_emulator with the ability to share state pub trait DsaImplementation: Send { /// may be modified in future with extra args like config - /// having direct control over the emulator's POST/boot state can be useful for + /// having direct control over the dsa_emulator's POST/boot state can be useful for /// integration testing. fn boot(&mut self) -> Result<(), DsaError>; @@ -36,7 +36,7 @@ pub trait DsaImplementation: Send { /// main run method. the main-loop of the program execution fn run(&mut self) -> Result<(), DsaError>; - /// memory mapping is required for emulator memory sections + /// memory mapping is required for dsa_emulator memory sections fn apply_memory_map(&mut self, map: MemoryMap); /// IO mapping also @@ -46,10 +46,10 @@ pub trait DsaImplementation: Send { /// returns a copy of the IOmap (cannot be a reference since across-threads) fn get_io_map(&self) -> IoMap; - /// returns a wrapper around the physical memory used by the emulator + /// returns a wrapper around the physical memory used by the dsa_emulator fn get_memory_handle(&mut self) -> &mut MemoryBank; - /// returns a wrapper around the shared state of the emulator + /// returns a wrapper around the shared state of the dsa_emulator fn get_state_handle(&mut self) -> Arc; } @@ -98,12 +98,12 @@ impl EmulatorHandle { } - /// Request that the emulator backend provide an updated copy of its current internal state to `state.proc` + /// Request that the dsa_emulator backend provide an updated copy of its current internal state to `state.proc` pub fn request_update(&mut self) { self.state.update_requested.store(true, Ordering::Relaxed); } - /// Request that the emulator backend pauses it's current execution + /// Request that the dsa_emulator backend pauses it's current execution /// no-op if in the `Paused` state pub fn request_pause(&mut self) { self.state.pause_requested.store(true, Ordering::Relaxed); @@ -119,13 +119,13 @@ impl EmulatorHandle { f(self); } - /// Request that the emulator backend resumes it's current execution + /// Request that the dsa_emulator backend resumes it's current execution /// no-op if not in the `Paused` state pub fn request_resume(&mut self) { self.state.pause_requested.store(false, Ordering::Relaxed); } - /// Request that the emulator backend performs a full reset, clearing all memory, registers and other internal state. + /// Request that the dsa_emulator backend performs a full reset, clearing all memory, registers and other internal state. pub fn reset(&mut self) { self.state.reset_requested.store(true, Ordering::Relaxed); @@ -150,7 +150,7 @@ enum InternalImplementation { } pub struct EmulatorController { - // the emulator itself + // the dsa_emulator itself internal: Option, handle: EmulatorHandle, } @@ -177,7 +177,7 @@ impl EmulatorController { const STACK_SIZE: usize = 1024 * 1024 * 16; let Some(Owned(mut handle)) = self.internal.take() else { - return Err(DsaError::CriticalException(String::from("owned emulator returned none!"))) + return Err(DsaError::CriticalException(String::from("owned dsa_emulator returned none!"))) }; self.internal = Some(Handle( diff --git a/dsa/emulator/emulator_core/src/memory/cache.rs b/emulator/dsa_emulator/src/memory/cache.rs similarity index 100% rename from dsa/emulator/emulator_core/src/memory/cache.rs rename to emulator/dsa_emulator/src/memory/cache.rs diff --git a/dsa/emulator/emulator_core/src/memory/mmu.rs b/emulator/dsa_emulator/src/memory/mmu.rs similarity index 100% rename from dsa/emulator/emulator_core/src/memory/mmu.rs rename to emulator/dsa_emulator/src/memory/mmu.rs diff --git a/dsa/emulator/emulator_core/src/memory/mod.rs b/emulator/dsa_emulator/src/memory/mod.rs similarity index 100% rename from dsa/emulator/emulator_core/src/memory/mod.rs rename to emulator/dsa_emulator/src/memory/mod.rs diff --git a/dsa/emulator/emulator_core/src/memory/ram.rs b/emulator/dsa_emulator/src/memory/ram.rs similarity index 100% rename from dsa/emulator/emulator_core/src/memory/ram.rs rename to emulator/dsa_emulator/src/memory/ram.rs diff --git a/dsa/emulator/emulator_core/src/memory/tlb.rs b/emulator/dsa_emulator/src/memory/tlb.rs similarity index 100% rename from dsa/emulator/emulator_core/src/memory/tlb.rs rename to emulator/dsa_emulator/src/memory/tlb.rs diff --git a/dsa/emulator/emulator_core/src/processor/dsa_core.rs b/emulator/dsa_emulator/src/processor/dsa_core.rs similarity index 99% rename from dsa/emulator/emulator_core/src/processor/dsa_core.rs rename to emulator/dsa_emulator/src/processor/dsa_core.rs index cddf2c8..1c023b4 100644 --- a/dsa/emulator/emulator_core/src/processor/dsa_core.rs +++ b/emulator/dsa_emulator/src/processor/dsa_core.rs @@ -386,7 +386,7 @@ impl DsaProcessor { impl Drop for DsaProcessor { fn drop(&mut self) { - // drop is only ever called once on an emulator instance, so we can be sure a double free will not happen. + // drop is only ever called once on an dsa_emulator instance, so we can be sure a double free will not happen. unsafe { self.mainstore.dealloc() } } } \ No newline at end of file diff --git a/dsa/emulator/emulator_core/src/processor/dsa_debug.rs b/emulator/dsa_emulator/src/processor/dsa_debug.rs similarity index 100% rename from dsa/emulator/emulator_core/src/processor/dsa_debug.rs rename to emulator/dsa_emulator/src/processor/dsa_debug.rs diff --git a/dsa/emulator/emulator_core/src/processor/dsa_optimised.rs b/emulator/dsa_emulator/src/processor/dsa_optimised.rs similarity index 100% rename from dsa/emulator/emulator_core/src/processor/dsa_optimised.rs rename to emulator/dsa_emulator/src/processor/dsa_optimised.rs diff --git a/dsa/emulator/emulator_core/src/processor/interrupts.rs b/emulator/dsa_emulator/src/processor/interrupts.rs similarity index 100% rename from dsa/emulator/emulator_core/src/processor/interrupts.rs rename to emulator/dsa_emulator/src/processor/interrupts.rs diff --git a/dsa/emulator/emulator_core/src/processor/mod.rs b/emulator/dsa_emulator/src/processor/mod.rs similarity index 100% rename from dsa/emulator/emulator_core/src/processor/mod.rs rename to emulator/dsa_emulator/src/processor/mod.rs diff --git a/dsa/emulator/emulator_core/src/processor/state.rs b/emulator/dsa_emulator/src/processor/state.rs similarity index 100% rename from dsa/emulator/emulator_core/src/processor/state.rs rename to emulator/dsa_emulator/src/processor/state.rs diff --git a/dsa/emulator/emulator_ui/Cargo.toml b/emulator/dsa_gui/Cargo.toml similarity index 62% rename from dsa/emulator/emulator_ui/Cargo.toml rename to emulator/dsa_gui/Cargo.toml index c4140d6..28e6261 100644 --- a/dsa/emulator/emulator_ui/Cargo.toml +++ b/emulator/dsa_gui/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "emulator_ui" +name = "dsa_gui" version.workspace = true edition.workspace = true authors.workspace = true @@ -13,11 +13,11 @@ name = "dsa" path = "src/lib.rs" [dependencies] -common = { path = "../../common" } -dsa_formats = { path = "../../dsa_formats" } -assembler = { path = "../../assembler" } -emulator_core = { version = "0.3.0", path = "../emulator_core" } -disassembler = { version = "0.3.0", path = "../../disassembler" } +common = { path = "../../libraries/common" } +dsa_formats = { path = "../../libraries/dsa_formats" } +assembler = { path = "../../tooling/assembler" } +dsa_emulator = { version = "0.3.0", path = "../dsa_emulator" } +disassembler = { version = "0.3.0", path = "../../tooling/disassembler" } clap = { version = "4.5.60", features = ["derive"] } ron = "0.12.0" diff --git a/dsa/emulator/emulator_ui/font/JetBrainsMonoNerdFontMono_Regular.ttf b/emulator/dsa_gui/font/JetBrainsMonoNerdFontMono_Regular.ttf similarity index 100% rename from dsa/emulator/emulator_ui/font/JetBrainsMonoNerdFontMono_Regular.ttf rename to emulator/dsa_gui/font/JetBrainsMonoNerdFontMono_Regular.ttf diff --git a/dsa/emulator/emulator_ui/src/args.rs b/emulator/dsa_gui/src/args.rs similarity index 96% rename from dsa/emulator/emulator_ui/src/args.rs rename to emulator/dsa_gui/src/args.rs index 1347e80..da01ff2 100644 --- a/dsa/emulator/emulator_ui/src/args.rs +++ b/emulator/dsa_gui/src/args.rs @@ -2,7 +2,7 @@ use std::{fs, path::PathBuf}; use clap::Parser; -use emulator_core::config::{IoMap, MemoryMap}; +use dsa_emulator::config::{IoMap, MemoryMap}; #[derive(Parser, Debug)] #[command(version, about, long_about = None)] diff --git a/dsa/emulator/emulator_ui/src/lib.rs b/emulator/dsa_gui/src/lib.rs similarity index 84% rename from dsa/emulator/emulator_ui/src/lib.rs rename to emulator/dsa_gui/src/lib.rs index 7c0617e..73a428d 100644 --- a/dsa/emulator/emulator_ui/src/lib.rs +++ b/emulator/dsa_gui/src/lib.rs @@ -1,13 +1,13 @@ use crate::ui::DamnSimpleUI; use eframe::NativeOptions; -use emulator_core::EmulatorController; +use dsa_emulator::EmulatorController; pub mod ui; pub mod args; pub mod state; pub fn run_app(mut controller: EmulatorController) -> eframe::Result<()> { - // initialise emulator + // initialise dsa_emulator controller.run().unwrap(); eframe::run_native( diff --git a/dsa/emulator/emulator_ui/src/main.rs b/emulator/dsa_gui/src/main.rs similarity index 78% rename from dsa/emulator/emulator_ui/src/main.rs rename to emulator/dsa_gui/src/main.rs index 8488f0c..2532efd 100644 --- a/dsa/emulator/emulator_ui/src/main.rs +++ b/emulator/dsa_gui/src/main.rs @@ -2,7 +2,7 @@ use clap::Parser; use dsa::args::DsaArgs; use dsa::run_app; -use emulator_core::{DsaImplementation, EmulatorController, processor::Emulator}; +use dsa_emulator::{DsaImplementation, EmulatorController, processor::Emulator}; fn main() { let args = DsaArgs::parse(); diff --git a/dsa/emulator/emulator_ui/src/state.rs b/emulator/dsa_gui/src/state.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/state.rs rename to emulator/dsa_gui/src/state.rs diff --git a/dsa/emulator/emulator_ui/src/ui/appearance.rs b/emulator/dsa_gui/src/ui/appearance.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/appearance.rs rename to emulator/dsa_gui/src/ui/appearance.rs diff --git a/dsa/emulator/emulator_ui/src/ui/controller.rs b/emulator/dsa_gui/src/ui/controller.rs similarity index 97% rename from dsa/emulator/emulator_ui/src/ui/controller.rs rename to emulator/dsa_gui/src/ui/controller.rs index 40eb129..d6d3f25 100644 --- a/dsa/emulator/emulator_ui/src/ui/controller.rs +++ b/emulator/dsa_gui/src/ui/controller.rs @@ -1,7 +1,7 @@ use eframe::epaint::Color32; use common::prelude::Register; -use emulator_core::EmulatorHandle; -use emulator_core::processor::RunningState; +use dsa_emulator::EmulatorHandle; +use dsa_emulator::processor::RunningState; use crate::ui::ui_helpers::PaddedWidget; pub struct Controller { diff --git a/dsa/emulator/emulator_ui/src/ui/dialogs/confirm_dialog.rs b/emulator/dsa_gui/src/ui/dialogs/confirm_dialog.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/dialogs/confirm_dialog.rs rename to emulator/dsa_gui/src/ui/dialogs/confirm_dialog.rs diff --git a/dsa/emulator/emulator_ui/src/ui/dialogs/error_dialog.rs b/emulator/dsa_gui/src/ui/dialogs/error_dialog.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/dialogs/error_dialog.rs rename to emulator/dsa_gui/src/ui/dialogs/error_dialog.rs diff --git a/dsa/emulator/emulator_ui/src/ui/dialogs/file_dialog.rs b/emulator/dsa_gui/src/ui/dialogs/file_dialog.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/dialogs/file_dialog.rs rename to emulator/dsa_gui/src/ui/dialogs/file_dialog.rs diff --git a/dsa/emulator/emulator_ui/src/ui/dialogs/mod.rs b/emulator/dsa_gui/src/ui/dialogs/mod.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/dialogs/mod.rs rename to emulator/dsa_gui/src/ui/dialogs/mod.rs diff --git a/dsa/emulator/emulator_ui/src/ui/mod.rs b/emulator/dsa_gui/src/ui/mod.rs similarity index 98% rename from dsa/emulator/emulator_ui/src/ui/mod.rs rename to emulator/dsa_gui/src/ui/mod.rs index fffa146..9bc4587 100644 --- a/dsa/emulator/emulator_ui/src/ui/mod.rs +++ b/emulator/dsa_gui/src/ui/mod.rs @@ -11,9 +11,9 @@ use dialogs::file_dialog::DsaFileDialog; use dsa_formats::binary_dse::DseExecutable; use egui::{CentralPanel, Panel, Ui}; use egui_tiles::TileId; -use emulator_core::EmulatorController; -use emulator_core::devices::display::Display; -use emulator_core::devices::serial::Serial; +use dsa_emulator::EmulatorController; +use dsa_emulator::devices::display::Display; +use dsa_emulator::devices::serial::Serial; use tiles::PanelFactory; use tiles::documentation::Documentation; use tiles::editor::Editor; diff --git a/dsa/emulator/emulator_ui/src/ui/process_manager.rs b/emulator/dsa_gui/src/ui/process_manager.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/process_manager.rs rename to emulator/dsa_gui/src/ui/process_manager.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/about.rs b/emulator/dsa_gui/src/ui/tiles/about.rs similarity index 95% rename from dsa/emulator/emulator_ui/src/ui/tiles/about.rs rename to emulator/dsa_gui/src/ui/tiles/about.rs index 830cd7a..61a8bf3 100644 --- a/dsa/emulator/emulator_ui/src/ui/tiles/about.rs +++ b/emulator/dsa_gui/src/ui/tiles/about.rs @@ -3,7 +3,7 @@ use crate::ui::tiles::TilePane; use eframe::epaint::Direction; use egui::{Ui, WidgetText}; use egui_tiles::TileId; -use emulator_core::config::VERSION; +use dsa_emulator::config::VERSION; use std::any::Any; pub struct AboutScreen; diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/disassembler.rs b/emulator/dsa_gui/src/ui/tiles/disassembler.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/tiles/disassembler.rs rename to emulator/dsa_gui/src/ui/tiles/disassembler.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/documentation.rs b/emulator/dsa_gui/src/ui/tiles/documentation.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/tiles/documentation.rs rename to emulator/dsa_gui/src/ui/tiles/documentation.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/editor/mod.rs b/emulator/dsa_gui/src/ui/tiles/editor/mod.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/tiles/editor/mod.rs rename to emulator/dsa_gui/src/ui/tiles/editor/mod.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/editor/syntax.rs b/emulator/dsa_gui/src/ui/tiles/editor/syntax.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/tiles/editor/syntax.rs rename to emulator/dsa_gui/src/ui/tiles/editor/syntax.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/editor/theme.rs b/emulator/dsa_gui/src/ui/tiles/editor/theme.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/tiles/editor/theme.rs rename to emulator/dsa_gui/src/ui/tiles/editor/theme.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/io_devices/display.rs b/emulator/dsa_gui/src/ui/tiles/io_devices/display.rs similarity index 97% rename from dsa/emulator/emulator_ui/src/ui/tiles/io_devices/display.rs rename to emulator/dsa_gui/src/ui/tiles/io_devices/display.rs index 1098177..7d54408 100644 --- a/dsa/emulator/emulator_ui/src/ui/tiles/io_devices/display.rs +++ b/emulator/dsa_gui/src/ui/tiles/io_devices/display.rs @@ -2,7 +2,7 @@ use crate::state::Action; use crate::ui::tiles::TilePane; use egui::{Color32, FontId, Ui, Vec2, WidgetText}; use egui_tiles::TileId; -use emulator_core::devices::display::Display; +use dsa_emulator::devices::display::Display; use std::any::Any; impl TilePane for Display { diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/io_devices/framebuffer.rs b/emulator/dsa_gui/src/ui/tiles/io_devices/framebuffer.rs similarity index 94% rename from dsa/emulator/emulator_ui/src/ui/tiles/io_devices/framebuffer.rs rename to emulator/dsa_gui/src/ui/tiles/io_devices/framebuffer.rs index 4d13b5d..543ea43 100644 --- a/dsa/emulator/emulator_ui/src/ui/tiles/io_devices/framebuffer.rs +++ b/emulator/dsa_gui/src/ui/tiles/io_devices/framebuffer.rs @@ -2,9 +2,9 @@ use crate::state::Action; use crate::ui::tiles::TilePane; use egui::{Ui, Vec2, WidgetText}; use egui_tiles::TileId; -use emulator_core::EmulatorHandle; -use emulator_core::devices::framebuffer::FrameBuffer; -use emulator_core::memory::PhysAddr; +use dsa_emulator::EmulatorHandle; +use dsa_emulator::devices::framebuffer::FrameBuffer; +use dsa_emulator::memory::PhysAddr; use std::any::Any; pub struct FrameBufferUi { diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/io_devices/mod.rs b/emulator/dsa_gui/src/ui/tiles/io_devices/mod.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/tiles/io_devices/mod.rs rename to emulator/dsa_gui/src/ui/tiles/io_devices/mod.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/io_devices/serial.rs b/emulator/dsa_gui/src/ui/tiles/io_devices/serial.rs similarity index 94% rename from dsa/emulator/emulator_ui/src/ui/tiles/io_devices/serial.rs rename to emulator/dsa_gui/src/ui/tiles/io_devices/serial.rs index 3ecd43c..79a62c5 100644 --- a/dsa/emulator/emulator_ui/src/ui/tiles/io_devices/serial.rs +++ b/emulator/dsa_gui/src/ui/tiles/io_devices/serial.rs @@ -2,7 +2,7 @@ use crate::state::Action; use crate::ui::tiles::TilePane; use egui::{Ui, WidgetText}; use egui_tiles::TileId; -use emulator_core::devices::serial::Serial; +use dsa_emulator::devices::serial::Serial; use std::any::Any; impl TilePane for Serial { @@ -27,7 +27,7 @@ impl TilePane for Serial { if ui.button("Clear").clicked() { self.read_buff.clear(); } - + None } diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/memory.rs b/emulator/dsa_gui/src/ui/tiles/memory.rs similarity index 99% rename from dsa/emulator/emulator_ui/src/ui/tiles/memory.rs rename to emulator/dsa_gui/src/ui/tiles/memory.rs index ceb17fa..7af41b2 100644 --- a/dsa/emulator/emulator_ui/src/ui/tiles/memory.rs +++ b/emulator/dsa_gui/src/ui/tiles/memory.rs @@ -4,7 +4,7 @@ use common::prelude::Instruction; use egui::{Ui, WidgetText}; use egui_extras::{Column, TableBuilder}; use egui_tiles::TileId; -use emulator_core::EmulatorHandle; +use dsa_emulator::EmulatorHandle; use std::any::Any; use std::num::ParseIntError; diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/mod.rs b/emulator/dsa_gui/src/ui/tiles/mod.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/tiles/mod.rs rename to emulator/dsa_gui/src/ui/tiles/mod.rs diff --git a/dsa/emulator/emulator_ui/src/ui/tiles/registers.rs b/emulator/dsa_gui/src/ui/tiles/registers.rs similarity index 99% rename from dsa/emulator/emulator_ui/src/ui/tiles/registers.rs rename to emulator/dsa_gui/src/ui/tiles/registers.rs index 0d6b1a5..fa1f3f5 100644 --- a/dsa/emulator/emulator_ui/src/ui/tiles/registers.rs +++ b/emulator/dsa_gui/src/ui/tiles/registers.rs @@ -3,7 +3,7 @@ use crate::ui::tiles::TilePane; use common::prelude::Register; use egui::{Ui, WidgetText}; use egui_tiles::TileId; -use emulator_core::EmulatorHandle; +use dsa_emulator::EmulatorHandle; use std::any::Any; use std::f32; diff --git a/dsa/emulator/emulator_ui/src/ui/ui_helpers/mod.rs b/emulator/dsa_gui/src/ui/ui_helpers/mod.rs similarity index 98% rename from dsa/emulator/emulator_ui/src/ui/ui_helpers/mod.rs rename to emulator/dsa_gui/src/ui/ui_helpers/mod.rs index 1297a7f..91091dc 100644 --- a/dsa/emulator/emulator_ui/src/ui/ui_helpers/mod.rs +++ b/emulator/dsa_gui/src/ui/ui_helpers/mod.rs @@ -1,9 +1,8 @@ pub mod text; use eframe::emath::Vec2; -use egui::{Color32, Frame, Stroke}; -use egui::widget_style::{Classes, WidgetState}; -use emulator_core::processor::RunningState; +use egui::{Color32}; +use dsa_emulator::processor::RunningState; pub struct PaddedWidget { text: String, diff --git a/dsa/emulator/emulator_ui/src/ui/ui_helpers/text.rs b/emulator/dsa_gui/src/ui/ui_helpers/text.rs similarity index 100% rename from dsa/emulator/emulator_ui/src/ui/ui_helpers/text.rs rename to emulator/dsa_gui/src/ui/ui_helpers/text.rs diff --git a/dsa/common/Cargo.toml b/libraries/common/Cargo.toml similarity index 100% rename from dsa/common/Cargo.toml rename to libraries/common/Cargo.toml diff --git a/dsa/common/src/asm/mod.rs b/libraries/common/src/asm/mod.rs similarity index 100% rename from dsa/common/src/asm/mod.rs rename to libraries/common/src/asm/mod.rs diff --git a/dsa/common/src/formats/mod.rs b/libraries/common/src/formats/mod.rs similarity index 100% rename from dsa/common/src/formats/mod.rs rename to libraries/common/src/formats/mod.rs diff --git a/dsa/common/src/isa/instructions/decode.rs b/libraries/common/src/isa/instructions/decode.rs similarity index 100% rename from dsa/common/src/isa/instructions/decode.rs rename to libraries/common/src/isa/instructions/decode.rs diff --git a/dsa/common/src/isa/instructions/encode.rs b/libraries/common/src/isa/instructions/encode.rs similarity index 100% rename from dsa/common/src/isa/instructions/encode.rs rename to libraries/common/src/isa/instructions/encode.rs diff --git a/dsa/common/src/isa/instructions/mod.rs b/libraries/common/src/isa/instructions/mod.rs similarity index 100% rename from dsa/common/src/isa/instructions/mod.rs rename to libraries/common/src/isa/instructions/mod.rs diff --git a/dsa/common/src/isa/mod.rs b/libraries/common/src/isa/mod.rs similarity index 100% rename from dsa/common/src/isa/mod.rs rename to libraries/common/src/isa/mod.rs diff --git a/dsa/common/src/isa/register.rs b/libraries/common/src/isa/register.rs similarity index 100% rename from dsa/common/src/isa/register.rs rename to libraries/common/src/isa/register.rs diff --git a/dsa/common/src/lib.rs b/libraries/common/src/lib.rs similarity index 100% rename from dsa/common/src/lib.rs rename to libraries/common/src/lib.rs diff --git a/dsa/common/src/process.rs b/libraries/common/src/process.rs similarity index 100% rename from dsa/common/src/process.rs rename to libraries/common/src/process.rs diff --git a/dsa/dsa_formats/Cargo.toml b/libraries/dsa_formats/Cargo.toml similarity index 100% rename from dsa/dsa_formats/Cargo.toml rename to libraries/dsa_formats/Cargo.toml diff --git a/dsa/dsa_formats/src/binary_dse.rs b/libraries/dsa_formats/src/binary_dse.rs similarity index 99% rename from dsa/dsa_formats/src/binary_dse.rs rename to libraries/dsa_formats/src/binary_dse.rs index 85bcf98..e847ae2 100644 --- a/dsa/dsa_formats/src/binary_dse.rs +++ b/libraries/dsa_formats/src/binary_dse.rs @@ -70,7 +70,7 @@ impl DseExecutable { Ok(DseExecutable { header, symbols, string_table, data, text }) } - + pub fn write(&self, writer: &mut W) -> binrw::BinResult<()> { self.header.write(writer)?; @@ -155,7 +155,7 @@ impl DseExecutable { /// matching the exact layout `resolve_address` assumed when the assembler /// resolved symbol addresses. This is NOT the same as the on-disk file /// layout (header/symtab/strtab/data/text) — this is what actually needs - /// to end up in emulator memory. + /// to end up in dsa_emulator memory. pub fn to_memory_image(&self) -> Vec { let mut image = Vec::with_capacity(self.text.len() * 4 + self.data.len()); diff --git a/dsa/dsa_formats/src/binary_dso.rs b/libraries/dsa_formats/src/binary_dso.rs similarity index 100% rename from dsa/dsa_formats/src/binary_dso.rs rename to libraries/dsa_formats/src/binary_dso.rs diff --git a/dsa/dsa_formats/src/lib.rs b/libraries/dsa_formats/src/lib.rs similarity index 100% rename from dsa/dsa_formats/src/lib.rs rename to libraries/dsa_formats/src/lib.rs diff --git a/dsa_resources/animation.dsa b/resources/animation.dsa similarity index 100% rename from dsa_resources/animation.dsa rename to resources/animation.dsa diff --git a/dsa_resources/animation.dsb b/resources/animation.dsb similarity index 100% rename from dsa_resources/animation.dsb rename to resources/animation.dsb diff --git a/dsa_resources/bench.dsa b/resources/bench.dsa similarity index 100% rename from dsa_resources/bench.dsa rename to resources/bench.dsa diff --git a/dsa_resources/bench.dsb b/resources/bench.dsb similarity index 100% rename from dsa_resources/bench.dsb rename to resources/bench.dsb diff --git a/dsa_resources/bench_decomp.txt b/resources/bench_decomp.txt similarity index 100% rename from dsa_resources/bench_decomp.txt rename to resources/bench_decomp.txt diff --git a/dsa_resources/bf.dsa b/resources/bf.dsa similarity index 100% rename from dsa_resources/bf.dsa rename to resources/bf.dsa diff --git a/dsa_resources/bf.dsb b/resources/bf.dsb similarity index 100% rename from dsa_resources/bf.dsb rename to resources/bf.dsb diff --git a/dsa_resources/bfout.dsb b/resources/bfout.dsb similarity index 100% rename from dsa_resources/bfout.dsb rename to resources/bfout.dsb diff --git a/dsa_resources/decomp.txt b/resources/decomp.txt similarity index 100% rename from dsa_resources/decomp.txt rename to resources/decomp.txt diff --git a/dsa_resources/framebuffer.dsa b/resources/framebuffer.dsa similarity index 100% rename from dsa_resources/framebuffer.dsa rename to resources/framebuffer.dsa diff --git a/dsa_resources/framebuffer.dsb b/resources/framebuffer.dsb similarity index 100% rename from dsa_resources/framebuffer.dsb rename to resources/framebuffer.dsb diff --git a/dsa_resources/idt.dsa b/resources/idt.dsa similarity index 100% rename from dsa_resources/idt.dsa rename to resources/idt.dsa diff --git a/dsa_resources/out.dsb b/resources/out.dsb similarity index 100% rename from dsa_resources/out.dsb rename to resources/out.dsb diff --git a/dsa_resources/out2.dsb b/resources/out2.dsb similarity index 100% rename from dsa_resources/out2.dsb rename to resources/out2.dsb diff --git a/dsa_resources/out3.dsb b/resources/out3.dsb similarity index 100% rename from dsa_resources/out3.dsb rename to resources/out3.dsb diff --git a/dsa_resources/print.dsa b/resources/print.dsa similarity index 100% rename from dsa_resources/print.dsa rename to resources/print.dsa diff --git a/dsa_resources/serial.dsa b/resources/serial.dsa similarity index 100% rename from dsa_resources/serial.dsa rename to resources/serial.dsa diff --git a/dsa_resources/serialtest.dsa b/resources/serialtest.dsa similarity index 100% rename from dsa_resources/serialtest.dsa rename to resources/serialtest.dsa diff --git a/dsa/assembler/Cargo.toml b/tooling/assembler/Cargo.toml similarity index 78% rename from dsa/assembler/Cargo.toml rename to tooling/assembler/Cargo.toml index 7c1e268..6e8432e 100644 --- a/dsa/assembler/Cargo.toml +++ b/tooling/assembler/Cargo.toml @@ -14,8 +14,8 @@ path = "src/lib.rs" [dependencies] clap = { version = "4.6.0", features = ["derive"] } -common = { path = "../common" } -dsa_formats = { path = "../dsa_formats" } +common = { path = "../../libraries/common" } +dsa_formats = { path = "../../libraries/dsa_formats" } num_cpus = "1.17.0" strum = { version = "0.28.0", features = ["derive"] } diff --git a/dsa/assembler/example.dsa b/tooling/assembler/example.dsa similarity index 100% rename from dsa/assembler/example.dsa rename to tooling/assembler/example.dsa diff --git a/dsa/assembler/src/assembler/codegen.rs b/tooling/assembler/src/assembler/codegen.rs similarity index 100% rename from dsa/assembler/src/assembler/codegen.rs rename to tooling/assembler/src/assembler/codegen.rs diff --git a/dsa/assembler/src/assembler/expand.rs b/tooling/assembler/src/assembler/expand.rs similarity index 100% rename from dsa/assembler/src/assembler/expand.rs rename to tooling/assembler/src/assembler/expand.rs diff --git a/dsa/assembler/src/assembler/lexer.rs b/tooling/assembler/src/assembler/lexer.rs similarity index 100% rename from dsa/assembler/src/assembler/lexer.rs rename to tooling/assembler/src/assembler/lexer.rs diff --git a/dsa/assembler/src/assembler/macros.rs b/tooling/assembler/src/assembler/macros.rs similarity index 100% rename from dsa/assembler/src/assembler/macros.rs rename to tooling/assembler/src/assembler/macros.rs diff --git a/dsa/assembler/src/assembler/mod.rs b/tooling/assembler/src/assembler/mod.rs similarity index 100% rename from dsa/assembler/src/assembler/mod.rs rename to tooling/assembler/src/assembler/mod.rs diff --git a/dsa/assembler/src/assembler/model.rs b/tooling/assembler/src/assembler/model.rs similarity index 100% rename from dsa/assembler/src/assembler/model.rs rename to tooling/assembler/src/assembler/model.rs diff --git a/dsa/assembler/src/assembler/parser.rs b/tooling/assembler/src/assembler/parser.rs similarity index 100% rename from dsa/assembler/src/assembler/parser.rs rename to tooling/assembler/src/assembler/parser.rs diff --git a/dsa/assembler/src/assembler/resolver2.rs b/tooling/assembler/src/assembler/resolver2.rs similarity index 100% rename from dsa/assembler/src/assembler/resolver2.rs rename to tooling/assembler/src/assembler/resolver2.rs diff --git a/dsa/assembler/src/assemblerv2/context.rs b/tooling/assembler/src/assemblerv2/context.rs similarity index 100% rename from dsa/assembler/src/assemblerv2/context.rs rename to tooling/assembler/src/assemblerv2/context.rs diff --git a/dsa/assembler/src/assemblerv2/error.rs b/tooling/assembler/src/assemblerv2/error.rs similarity index 100% rename from dsa/assembler/src/assemblerv2/error.rs rename to tooling/assembler/src/assemblerv2/error.rs diff --git a/dsa/assembler/src/assemblerv2/lexer.rs b/tooling/assembler/src/assemblerv2/lexer.rs similarity index 100% rename from dsa/assembler/src/assemblerv2/lexer.rs rename to tooling/assembler/src/assemblerv2/lexer.rs diff --git a/dsa/assembler/src/assemblerv2/mod.rs b/tooling/assembler/src/assemblerv2/mod.rs similarity index 100% rename from dsa/assembler/src/assemblerv2/mod.rs rename to tooling/assembler/src/assemblerv2/mod.rs diff --git a/dsa/assembler/src/assemblerv2/parser.rs b/tooling/assembler/src/assemblerv2/parser.rs similarity index 100% rename from dsa/assembler/src/assemblerv2/parser.rs rename to tooling/assembler/src/assemblerv2/parser.rs diff --git a/dsa/assembler/src/lib.rs b/tooling/assembler/src/lib.rs similarity index 100% rename from dsa/assembler/src/lib.rs rename to tooling/assembler/src/lib.rs diff --git a/dsa/assembler/src/main.rs b/tooling/assembler/src/main.rs similarity index 100% rename from dsa/assembler/src/main.rs rename to tooling/assembler/src/main.rs diff --git a/dsa/compiler/Cargo.toml b/tooling/compiler/Cargo.toml similarity index 100% rename from dsa/compiler/Cargo.toml rename to tooling/compiler/Cargo.toml diff --git a/dsa/compiler/src/lib.rs b/tooling/compiler/src/lib.rs similarity index 100% rename from dsa/compiler/src/lib.rs rename to tooling/compiler/src/lib.rs diff --git a/dsa/disassembler/Cargo.toml b/tooling/disassembler/Cargo.toml similarity index 73% rename from dsa/disassembler/Cargo.toml rename to tooling/disassembler/Cargo.toml index 8904194..052e297 100644 --- a/dsa/disassembler/Cargo.toml +++ b/tooling/disassembler/Cargo.toml @@ -14,5 +14,5 @@ path = "src/lib.rs" [dependencies] clap = { version = "4.6.0", features = ["derive"] } -common = { path = "../common" } -dsa_formats = { path = "../dsa_formats" } \ No newline at end of file +common = { path = "../../libraries/common" } +dsa_formats = { path = "../../libraries/dsa_formats" } \ No newline at end of file diff --git a/dsa/disassembler/src/lib.rs b/tooling/disassembler/src/lib.rs similarity index 100% rename from dsa/disassembler/src/lib.rs rename to tooling/disassembler/src/lib.rs diff --git a/dsa/disassembler/src/main.rs b/tooling/disassembler/src/main.rs similarity index 100% rename from dsa/disassembler/src/main.rs rename to tooling/disassembler/src/main.rs diff --git a/tooling/dsx_build/Cargo.toml b/tooling/dsx_build/Cargo.toml new file mode 100644 index 0000000..fc9b25b --- /dev/null +++ b/tooling/dsx_build/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "dsx_build" +edition.workspace = true +version.workspace = true +authors.workspace = true + +[dependencies] diff --git a/dsa/linker/src/lib.rs b/tooling/dsx_build/src/lib.rs similarity index 100% rename from dsa/linker/src/lib.rs rename to tooling/dsx_build/src/lib.rs diff --git a/tooling/dsx_build/src/main.rs b/tooling/dsx_build/src/main.rs new file mode 100644 index 0000000..bd9376f --- /dev/null +++ b/tooling/dsx_build/src/main.rs @@ -0,0 +1,4 @@ + +fn main() { + println!("hello world!"); +} \ No newline at end of file diff --git a/dsx/dsx_client/Cargo.toml b/tooling/dsx_client/Cargo.toml similarity index 100% rename from dsx/dsx_client/Cargo.toml rename to tooling/dsx_client/Cargo.toml diff --git a/dsx/dsx_server/src/main.rs b/tooling/dsx_client/src/main.rs similarity index 100% rename from dsx/dsx_server/src/main.rs rename to tooling/dsx_client/src/main.rs diff --git a/dsx/dsx_server/Cargo.toml b/tooling/dsx_server/Cargo.toml similarity index 100% rename from dsx/dsx_server/Cargo.toml rename to tooling/dsx_server/Cargo.toml diff --git a/tooling/dsx_server/src/main.rs b/tooling/dsx_server/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/tooling/dsx_server/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/dsa/linker/Cargo.toml b/tooling/linker/Cargo.toml similarity index 100% rename from dsa/linker/Cargo.toml rename to tooling/linker/Cargo.toml diff --git a/dsx/dsx_common/src/lib.rs b/tooling/linker/src/lib.rs similarity index 100% rename from dsx/dsx_common/src/lib.rs rename to tooling/linker/src/lib.rs