- Add logo
- Implement exceptions (including banked registers)
- Implement 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
- Update readme
- Implement remaining data-processing instructions with register operands in Thumb
- Extend memory writes according to region
- Fix colour decoding
- Improve logging
- Update code structure
- Implement read-only memory
- Reformat changelog in Markdown
- Add test program (including build script)
- 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
- Fill window according to first palette entry;
- Update messages
- Fix lsr and lsl
- Fix str
- Implement Thumb:
- ldr Rd, [Rn, Immediate5]
- ldr Rd, [Rn, Rm]
- ldr 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
- Implement Thumb:
- mov Rd, Rm;
- movs Rd, immediate8;
- movs Rd, Rm;
- Update readme;
- Rename condition method to check_condition;
- Fix wrong license in readme;
- Add support for Thumb:
- bx;
- b{cond};
- b;
- Fix bx;
- Rework log method;
- Improve comments;
- Update readme;
- Only survive invalid opcode traps;
- Support bx;
- Fix ldr|str;
- Remove logging in release builds;
- Fix version number being in decimal;
- Update readme;
- Support load and store instructions;
- Update messages;
- Implement some move 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;
- Bump dependency versions;
- Optimise b{cond}{l}.w decoder;
- Update messages;
- Remove Application::end method;
- Add comments;
- Add function for logging;
- Use TOML for configuration;
- Depend on Serde;
- Update readme;
- Remove unused Configuration::create;
- Update manifest;
- Update trap function (make better use of enumerations);
- Survive traps;
- Use hexadecimal version numbers;
- Rewrite readme into ASCII-text;
- Don't default image;
- Add configuration file;
- Update version constant to include minor versions;
- Use SDL2 for windowing;
- Combine Application and Emulator structures;
- Rename opcode method to decode;
- Support bl;
- Update register format;
- Unify trap functions;
- Add memory read helper functions;
- Update naming convention;
- Update trap function;
- Add emulator helper structure;
- Support conditional instructions;
- Set signal handlers;
- Repurpose project for emulating the AGB;
- Make changelog plain-text (rename to CHANGELOG.txt);
- Write in Rust;
- Update gitignore;
- Use Git tagging;
- Update versioning: major.minor;
- Fix logs being forced disabled.
- Depend on SDL2.
- Remove include directory path.
- Add new instruction: DRW, CPP, STP.
- Implement more instruction: DRW, CPP, STP.
- Fix logger for CPD.
- Create window for visualising VRAM.
- Remove speed limiter.
- Unify all global variables into a struct.
- Fix luma_setDbl.
- Improve some loggers.
- Create new test program.
- Implement more instructions.
- Update project description.
- Fix UB in signal handler.
- Require C11 instead of C99.
- Add more instructions.
- Remove sound buffer.
- Fix version number being out of date.
- Remove old readme.
- Update memory model.
- Fix ROM loader loading ROM into wrong address.
- Update bootloader.
- Fix bootloader loaded as bank 0 (should be 1).
- Add new instructions.
- Implement more instructions.
- Rename opcode LDB to BNK.
- Rewrite instruction interpreter.
- Writes in ROM no longer succeed.
- Create SIGINT handler.
- Move all UTF-8 related code into a seperate project, u8c.
- Rewrite project.
- Require C99 instead of C17.
- Reformat the readme into HTML.
- Create bin folder in destination directory when installing.
- Remove memory leaks.
- Require C17 instead of C2x.
- Create license notices in source files.
- Create install and uninstall targets in Makefile.
- Improve Makefile.
- Improve UTF-8 encoder.
- Complete UTF-8 decoder.
- Create basic print function.
- Complete UTF-8 encoder.
- Fix #1.
- Reformat changelog to Markdown.
- Completely rework codebase (multiple times, in C, C++, Objective-C and Rust). Finally decide on C.
- Split project into three seperate projects: libluma (API), luma (interpreter), and luma-docs (documentation).
- Merge with libluma.
- Create language sample.
- Use STDC functions instead of POSIX where possible.
- Create functions for decoding and encoding UTF-8.
- Don't include entire changelog in commit message.
- Remove build artifacts.
- Compile "luma" instead of "luma.bin".
- Get input file via arguments passed to executable.
- Reformat README.html to Markdown.
- Add "changelog.html" to keep track of changes.
- Remove deprecated gfx library files.
- Fix PGKBUILD version not considering version 0.
- Add new language example.
- Begin rewrite of entire codebase.<\li>
- Move old codebase into the "old" folder.
- Begin creation Luma stdlib API.
- Build "luma.bin" file instead of "luma.elf".
- revert .gitignore styling
- reorganize source code structure in filesystem
- remove gfxlib in favour of language-bindings to underlying libraries
- adjust compiler optimization flags
- improve c++ stdlib replacement
- create cmd argument handler
- unite core functions in class with app data (replaces luma::dat) for easier access (no friends needed, "this->" instead of "luma::dat.")
- reformat README into HTML (temporary change, will be reformated again in later commit)
- create the arch_t and kernel_t types
- use char const * instead of std::string
- use custom function instead of std::cerr and std::cout
- replace as many stdlib function with custom-made ones
- redo .gitignore ifle
- clean up Makefile
- create PKGBUILD file
- create dedicated folder for language examples
- try to avoid macros where possible
- remove C relics
- create semi-working Vulkan test
- readd x support but only for non-linux systems (may change in the future)
- fix makefile cxxflags
- drop x support
- move codebase to c++
- rework makefile
- create simple wayland demo
- quick commit before dropping x support
- create license file
- makefile optimizations
- added readme
- added stdc version checking
- x connection handling to a different file
- make Makefile check for Makefile changes when linking not compiling
- make Makefile check for Makefile changes when making
- make a gamble and enable -O3
- fix error when compiling crtwin.c
- make makefile super nice
- update .gitignore
- change compiler to clang
- improve makefile
- create luma example file
- expanded stdlib
- readd .gitignore
- create makefile
- create simple xcb demo
- create foundation for stdlib socket
- first