sofferjacob / jslk Goto Github PK
View Code? Open in Web Editor NEWJSLK Kernel for x86
Home Page: https://sofferjacob.github.io/jslk.html
License: GNU General Public License v3.0
JSLK Kernel for x86
Home Page: https://sofferjacob.github.io/jslk.html
License: GNU General Public License v3.0
Keyboard to work normally when enabled.
Unless you press and release the enter key very quickly in GRUB, the key release IRQ gets stuck rendering keyboard unusable when IRQ's are enabled by the kernel.
Just use the kernel normally.
Latest commit when reported: e9cec11
Kernel version(s) affected: v0.0.7pa (in development)
Branches affected:master
Host OS: macOS 10.13
Cross Compiler version: i386-elf-gcc (GCC) 6.2.0
When the function switchPageDirectory()
is called, the kernel crashes because of jumping to an off memory address.
Being able to allocate and free memory via the kernel heap.
When trying to allocate memory with the kernel heap enabled, the kernel throws a page fault (read-only, present) at address 0x0x116000.
Try to allocate some memory with the heap enabled.
Latest commit when reported: 59b531a
.
Kernel version(s) affected: v0.0.7pa (unreleased, in development)
Branches affected: ex. master
Host OS: macOS 10.13
Cross Compiler version: i386-elf-gcc (GCC) 6.2.0
When the shift key is pressed, the letters should be printed in caps. When released they should be printed normally.
When the shift key is released, the caps flag remains set and therefore the letters are printed in caps.
Just type.
Latest commit when reported:
Kernel version(s) affected: All (since the intro. of keyboard driver).
Branches affected: master
Host OS: ex. macOS 10.13
Cross Compiler version: i386-elf-gcc (GCC) 6.2.0
Make printf()
capable of printing hexadecimal numbers and of changing the background and foreground color of the text.
Not that important, but should be fixed in the future.
Add interrupt chaining (at least to physical interrupts).
Now that the project has a VFS in place, it needs a logger stat. It will help debug greatly and will make using breakpoints, timers, printing text to the screen and other forms of more primitive debugging obsolete.
Instead of assuming the computer has 16 mb of RAM, detect memory and obtain a memory map to initialize usable ram sections so all the available memory can be used.
It is just an aesthetical bug that has no effect on how the kernel works, but still, should be fixed.
init_region() and deinit_region() to initialize / deinitialize specified memory region (since not all memory is usable).
They just don't do anything.
Run the kernel.
Kernel version(s) affected: v0.0.8pa (unreleased, in development)
Branches affected: master
Host OS: macOS 10.13
Cross Compiler version: i386-elf-gcc (GCC) 6.2.0
Good day @sofferjacob !
I would like to download a floppy image of your JSLK operating system to test it inside QEMU and then maybe inside my laptop's coreboot/SeaBIOS (related to #18) Could I get this JSLK floppy without building it from source? (there are some problems with my Linux environment at the moment)
Best regards
I have noticed "Floppy Images are now obsolete" note at your Makefile. But why? Even today the floppies are still being used, for example - as virtual floppies inside the coreboot open source BIOS. Just imagine: your wonderful OS could be a part of someone's BIOS build! (for coreboot supported motherboard, maybe you have or could get one - see https://www.coreboot.org/Supported_Motherboards )
If you already have a coreboot-supported motherboard, or a real chance to get one, - wouldn't it be cool to be able to launch your own OS straight from the BIOS chip? ;) With one simple command its possible to add any floppy to coreboot BIOS build - and then you see it as a boot entry! Multiple floppies could be added this way (as long as you have enough space left inside the BIOS flash chip, luckily LZMA compression could be used for the stored floppies to reduce their occupied size)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.