preliminary heap structs
Wee bit more done on kernel heap.
Added BGA Driver, as well as some random things in dynamem.c.

VGA Text buffer works for printing chars, now to synthesise a puts function (also just redirect the STDIO.c functions to the vgatext.c functions)
Merge branch 'feature/kernelheap' into develop
.DS_Store banished!
Broke down and added printk() with support for changing colours.
PMM seems to be broken and offscreen LFB buffering is not going well.

Redesign of PMM in progress.
Did some tests on the PMM (and subsequently removed them), it seems to hold up well.
QEMU memory changed to 6MB -- we'll see how well Orion performs under memory constraints. probably not very well.
Fixed tertiary colours, removed AllocateContiguous; wasn't working. Fixed LFB, the issue was because pages were ident. mapped to avoid faults, moved the mapping block to 8MB -- also applies on boot.
Fixed (un-screwed) PMM as a result.

Changed printk to be more conforming; supports width now, replaced %@ with %x (which behaves exactly like %X, I have no plans to make hex display in small print). Precision support is also in, but nothing uses it ATM.

Also added test.c, which implements a set of tests (#ifdef RUNTESTS), testing aspects of printk(), as well as allocating, memsetting values from 0x00-0xFF then freeing it.

Slightly more progress made on BOCHS compatibility, doesn't page fault now but seems to want to run out of memory...
Finally removed object files from repo. No real work done, but worked on README.md and added a C++ file for fun (:
Fixed README.md for bitbucket.
1. Finally changed loader.elf to x3.elf -- remnants of a past age (:
2. Removed the libnx1 files.
3. Moved away from GCC -- we'll still need GNU's LD to link though
4. Changed the ISR code slightly
5. We're now on -Wall, fixed some uninitialised pointers
6. Made HAL_VMemSearchPhysicalMapping (or something) actually return the mapping found
7. Fixed the ISR register dump -- moved it over to the new precision support in printk()
8. Fixed DrawChar() to memset the char area to black when a space is encountered
9. Therefore we can do '\r' (carriage return); the memset test now shows the current allocation
10. License changed from "NonCommercial-ShareAlike-Attribution" to "Attribution"
Finally implemented coalescing of FPLs -- HAL_PMemCoalesceFPLs(). Less overhead and therefore less crashes when the number of FPL pairs gets above 256 (the max in one page). Should happen every 5 seconds on the PIT timer -- which is also reconfigured to memcpy only when the LFB addresses differ.

Also, changed the versioning scheme to MAJOR.MINOR.REVISION.
1. Made the Makefile automatic -- should never have to touch that shit again.
2. Added more stuff to README.md
3. BUG -- don't run the test or the kernel will crash -- bug in FPL handling
FPL coalescing is totally broken -- it joins from the back and the addresses are borked.
FIX -- need to sleep
FPL system appears to have been fixed -- coalesces properly and succumbs to post-coalescing (should really stop using that word) allocations and frees properly.

ONWARDS, TO THE HEAP!
Added small code to initialise SSE state -- printk() now has a working %f specifier!
Also, of course, added putfloat() and putfloat_precision -- the Width handler in printk() works.
test.c's memory test was adjusted to use a single memset64 -- reducing time taken.
Tweaked putfloat() to only round the last digit, also fixed the colour error -- switched to puts and VT_PutChar.
Remember to specify precision *whenever* possible -- lack thereof will screw it up. (floating point errors)
Also added a changelog to README.md
Added preliminary heap functions -- now we can split chunks. Sparsely based on JMolloy's heap code, (not copied I swear), which induces a 40-byte (!!!!!) overhead on allocations -- We need to get the SLAB system up ASAP to handle smaller allocations. (Probably the SLAB'll handle 1-64byte allocs, while the chunk will handle those above)
Added heap -- Allocate() and Free() now work. As an added bonus, Free() can combine adjacent chunks into itself. However, heap expansion is still in the works.
The problem appears to have stemmed from improper checking in Free() for unification -- although a minor issue was found in DBG_PrintChunks() as well.

TODO: Expansion and Contraction of heap.