Commit Graph

51 Commits

Author SHA1 Message Date
eda795d1d8 Enabled regions GC. Will see in future if properly viable. 2018-04-29 04:20:47 +01:00
8eef348eca Implemented memcpy and memset. Allows larger local variables. 2018-04-29 04:20:47 +01:00
f279852501 Fixed GDT creation and address retrieval. 2018-04-29 04:20:47 +01:00
8b129ea6d8 Added int printing to serial module. 2018-04-29 04:20:47 +01:00
ffe67f93c5 Fixed placeholder method. 2018-04-29 04:20:47 +01:00
e27ee760d6 Moved linker options requiring files to pragmas in kernel,nim 2018-04-29 04:20:47 +01:00
86760fd9de Added logging via serial output. 2018-04-29 04:20:47 +01:00
a03745805b Remove C usage 2018-04-29 04:20:47 +01:00
edbc39cc3b Added GDT setup code. 2018-04-29 04:20:47 +01:00
4d896d0eb7 Fixed printing of unsigned integers. 2018-04-29 04:20:47 +01:00
367f7ab3b7 Added method stub for interrupt handling. 2018-04-29 04:20:47 +01:00
92b1cffde6 Added scancodes for set one up to 0x0F. 2018-04-29 04:20:47 +01:00
cf1d4e59e0 Added some compability for command name differences on different distros. Added some requirements documentation. 2018-04-29 04:20:47 +01:00
e636f24995 Starting work on a PS2 keyboard driver. 2018-04-29 04:20:47 +01:00
c98464d1c7 Added assembly for reading/writing to IO locations. 2018-04-29 04:20:47 +01:00
e0c0d8cfa3 Removed code duplication in terminalWriteChar. 2018-04-29 04:20:47 +01:00
af091674a6 Reduced number of calculations performed in terminalScroll. 2018-04-29 04:20:47 +01:00
47f18157b3 Made VGA memory bounds setting more obvious as to why it has its value. 2018-04-29 04:20:47 +01:00
5982c72a8a Decrease VGA memory array size by one. Correction of an off by one error to ensure we stay within the appropriate memory. 2018-04-29 04:20:47 +01:00
65a4b94be1 Scrolling now works. Simplified access to VGA memory. 2018-04-29 04:20:47 +01:00
0da0bc40dd Gave panicoverride a C implementation for now. 2018-04-29 04:20:47 +01:00
7f426b5f25 Fixed integer printing for negative numbers. 2018-04-29 04:20:47 +01:00
e871378f8f Added printing of ints to the screen. 2018-04-29 04:20:47 +01:00
4f2c632cf9 Enabled LibC. 2018-04-29 04:20:47 +01:00
6bc74bbecb Added release option to makefile. 2018-04-29 04:20:47 +01:00
1863c4efcc Updated multiboot check script to match new naming. 2018-04-29 04:20:47 +01:00
a6fead4682 Update README 2018-04-29 04:20:47 +01:00
3e01ded55d Add readme 2018-04-29 04:20:47 +01:00
77e4e91b73 Moved from a flat directory structure to a more sane one. 2017-10-21 19:23:17 +01:00
2b59ba0f2e Updated gitignore to ignore nimcache in any subdirectory. 2017-10-21 19:22:20 +01:00
defc7d8787 Move Nim compiler settings to a separate configuration file. 2017-10-21 18:46:59 +01:00
c3ca04dd5a Added x2 multiplication for row placement. Means newlines actually work properly. 2017-10-21 18:35:13 +01:00
4d19433c17 Simplified writing to VGA so as to not use 2 separate 8bit inserts. Now using a single 16bit insert. 2017-10-21 17:14:13 +01:00
7faa974542 Fixed linker and switched it to use clang directly instead of lld. 2017-10-21 17:13:40 +01:00
c05bcbec88 Simplified boot script. 2017-10-21 17:11:36 +01:00
eee9b56f86 Prevented zeroing of memory beyond the 8bit input. 2017-10-21 16:31:41 +01:00
90eba82c39 Hello world now operational. Separate insertion of colour codes was required. 2017-10-21 16:24:06 +01:00
1718c66001 Added script to automatically build the OS and run in qemu. 2017-10-20 22:06:43 +01:00
201f84c20a Added linker.ld 2017-10-20 22:04:42 +01:00
3711ef34d8 Tried fixing int-ness. Now has output albeit garbled. 2017-10-20 22:04:09 +01:00
ff925996ca Updated gitignore. 2017-10-20 22:02:09 +01:00
d4d57c8053 Added code + tooling to build os. 2017-10-20 20:58:06 +01:00
3da4d3538d Changed bootloader to use NASM. 2017-10-20 18:54:43 +01:00
1f2819aeeb Added kernel entry-point. 2017-10-20 18:35:18 +01:00
ce9c6becfd Added bootloader code. 2017-10-20 18:34:41 +01:00
9535d367ef Added proc to write a whole string to the terminal. 2017-10-20 18:20:42 +01:00
ba0e9982c9 Added proc to write characters to terminal. 2017-10-20 18:12:00 +01:00
30c76c17c9 Added terminal init method. 2017-10-20 18:00:17 +01:00
e37ad43bb2 Added gitignore 2017-10-20 18:00:06 +01:00
e20c143ebd Added base VGA Colour and Size. 2017-10-20 14:47:56 +01:00