diff options
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 354 |
1 files changed, 354 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..57d7825 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,354 @@ +# 0.2D + +* 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 + +# 0.2C + +* Fill window according to first palette entry; + +# 0.2B + +* Update messages +* Fix lsr and lsl +* Fix str + +# 0.2A + +* 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 + +# 0.29 + +* Implement Thumb: + * mov Rd, Rm; + * movs Rd, immediate8; + * movs Rd, Rm; +* Update readme; +* Rename condition method to check_condition; + +# 0.28 + +* Fix wrong license in readme; + +# 0.27 + +* Add support for Thumb: + * bx; + * b{cond}; + * b; +* Fix bx; +* Rework log method; +* Improve comments; +* Update readme; +* Only survive invalid opcode traps; + +# 0.26 + +* Support bx; +* Fix ldr|str; +* Remove logging in release builds; +* Fix version number being in decimal; +* Update readme; + +# 0.25 + +* 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; + +# 0.24 + +* 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; + +# 0.23 + +* Update manifest; +* Update trap function (make better use of enumerations); + +# 0.22 + +* Survive traps; +* Use hexadecimal version numbers; +* Rewrite readme into ASCII-text; +* Don't default image; +* Add configuration file; + +# 0.21 + +* Update version constant to include minor versions; +* Use SDL2 for windowing; +* Combine Application and Emulator structures; +* Rename opcode method to decode; + +# 0.20 + +* Support bl; +* Update register format; +* Unify trap functions; +* Add memory read helper functions; +* Update naming convention; + +# 0.1F + +* Update trap function; +* Add emulator helper structure; +* Support conditional instructions; +* Set signal handlers; + +# 0.1E + +* 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; + +# 1D + +* Fix logs being forced disabled. + +# 1C + +* 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. + +# 1B + +* Implement more instructions. +* Update project description. +* Fix UB in signal handler. +* Require C11 instead of C99. +* Add more instructions. +* Remove sound buffer. + +# 1A + +* Fix version number being out of date. + +# 19 + +* 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. + +# 18 + +* Move all UTF-8 related code into a seperate project, *u8c*. +* Rewrite project. +* Require C99 instead of C17. +* Reformat the readme into HTML. + +# 17 + +* Create *bin* folder in destination directory when installing. + +# 16 + +* Remove memory leaks. +* Require C17 instead of C2x. +* Create license notices in source files. +* Create install and uninstall targets in Makefile. + +# 15 + +* Improve Makefile. +* Improve UTF-8 encoder. +* Complete UTF-8 decoder. +* Create basic print function. + +# 14 + +* Complete UTF-8 encoder. +* Fix #1. + +# 13 + +* 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. + +# 12 + +* Remove build artifacts. + +# 11 + +* Compile "luma" instead of "luma.bin". +* Get input file via arguments passed to executable. + +# 10 + +* Reformat README.html to Markdown. + +# F + +* 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". + +# E + +* 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) + +# D + +* 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 + +# C + +* 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 + +# B + +* readd x support but only for non-linux systems (may change in the future) +* fix makefile cxxflags + +# A + +* drop x support +* move codebase to c++ +* rework makefile +* create simple wayland demo + +# 9 + +* quick commit before dropping x support + +# 8 + +* create license file +* makefile optimizations +* added readme +* added stdc version checking +* x connection handling to a different file + +# 7 + +* make Makefile check for Makefile changes when linking not compiling + +# 6 + +* make Makefile check for Makefile changes when making +* make a gamble and enable -O3 + +# 5 + +* fix error when compiling crtwin.c +* make makefile super nice +* update .gitignore + +# 4 + +* change compiler to clang +* improve makefile +* create luma example file +* expanded stdlib + +# 3 + +* readd .gitignore + +# 2 + +* create makefile +* create simple xcb demo + +# 1 + +* create foundation for stdlib socket + +# 0 + +* first |