summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md354
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