summaryrefslogtreecommitdiff
path: root/src/luma.rs
AgeCommit message (Collapse)Author
2023-11-17Add logo; Implement exceptions (including banked registers); Implement ↵HEAD0.47masterGabriel Bjørnager Jensen
software interrupts; Add custom bootloader; Update readme; Support condition-setting instructions; Implement all data-processing instructions; Support conditional execution (predicates); Rework shifter instructions; Rework pipeline; Rework file structure; Update gitignore; Update naming convention;
2023-11-05Update readme; Implement remaining data-processing instructions with ↵0.46Gabriel Bjørnager Jensen
register operands in Thumb; Extend memory writes according to region; Fix colour decoding; Improve logging; Update code structure; Implement read-only memory;
2023-11-04Reformat changelog in Markdown; Add test program (including build script); ↵0.45Gabriel Bjørnager Jensen
Update readme (make Markdown); Rewrite and restructure project; Update optimisation flags; Depend on ctrlc, sdl2, and toml; Set window title according to image; Draw video memory; Update naming convention; Update gitignore; Never hang on trap; Run CPU on seperate thread; Rework logs;
2023-07-05Fill window according to first palette entry0.44Gabriel Jensen
2023-07-05Update messages; Fix lsr and lsl; Fix str;0.43Gabriel Jensen
2023-07-05Implement Thumb: * ldr Rd, [Rn, Immediate5]; * ldr Rd, [Rn, Rm]; * ldr ↵0.42Gabriel Jensen
Rd, [pc, Immediate8]; * ldr Rd, [sp, Immediate8]; * lsl Rd, Rm, Immediate5; * svc Immediate8; * push Registers; * pop Registers; * strh Rd, [Rn, Immediate5]; * lsr Rd, Rm, Immediate5; Update readme; Rework instruction functions; Improve comments; Attach license file; Initialise SP; Optimise sign-extensions; Bump dependency versions
2023-07-02Implement Thumb: * mov Rd, Rm; * movs Rd, immediate_8; * movs Rd, Rm; Update ↵0.41Gabriel Jensen
readme; Rename condition method to check_condition;
2023-07-02Fix wrong license in readme;0.40Gabriel Jensen
2023-07-02Add support for Thumb: * bx; * b{cond}; * b; Fix bx; Rework log method; ↵0.39Gabriel Jensen
Improve comments; Update readme; Only survive invalid opcode traps;
2023-07-01Support bx; Fix ldr|str; Remove logging in release builds; Fix version ↵0.38Gabriel Jensen
number being in decimal; Update readme;
2023-07-01Support load and store instructions; Update messages; Implement some move ↵0.37Gabriel Jensen
instructions; Update log function; Add equivalent write functions; Fix conditional execution; Fix branch; Add device helper structure; Update trap print; Reenable overflow checks; License under AGPL3; Fix default configuration not being made; Update readme; Add spsr registers;
2023-06-29Bump dependency versions; Optimise b{cond}{l}.w decoder; Update messages; ↵0.36Gabriel Jensen
Remove Application::end method; Add comments; Add function for logging; Use TOML for configuration; Depend on Serde; Update readme; Remove unused Configuration::create;
2023-06-29Update manifest; Update trap function (make better use of enumerations);0.35Gabriel Jensen
2023-06-28Survive traps; Use hexadecimal version numbers; Rewrite readme into ↵0.34Gabriel Jensen
ASCII-text; Don't default image; Add configuration file;
2023-06-25Update version constant to include minor versions; Use SDL2 for windowing; ↵0.33Gabriel Jensen
Combine Application and Emulator structures; Rename opcode method to decode;
2023-06-25Support bl; Update register format; Unify trap functions; Add memory read ↵0.32Gabriel Jensen
helper functions; Update naming convention;
2023-06-24Update trap function; Add emulator helper structure; Support conditional ↵0.31Gabriel Jensen
instructions; Set signal handlers;
2023-06-23Repurpose project for emulating the AGB; Make changelog plain-text (rename ↵0.30Gabriel Jensen
to CHANGELOG.txt); Write in Rust; Update gitignore; Use Git tagging;