Bootboot Memory Addressing and Fixes With transitioning the boot phase of my operating system to 64 bit with the BOOTBOOT bootloader, there were many features that had to be retroactively reimplemented. This caused a lot of headaches with explicit memory addresses. Since my kernel now has a more advanced memory model, it accesses different important values differently. Now that there's virtual addressing, dealing with memory addresses that aren't actually what they say they are like higher half kernels and the linear framebuffer, many special values had to be changed. Not only that, but the video display mode was changed from RGB 8-bit to ARGB 32-bit. This meant I had to include extra environment variables that could accommodate the different video memory layout. Not only that, but relocation errors caused me to change the design of my font file entirely, which I'll cover in a later blog post once I get everything up and running. Soon, by January 30th, this will be bootable on USB. Breadboard Shenanigans This week, I opened the breadboard kit and other electronic components to start learning the circuits I would need for the keyboard. After assembling the breadboard, I started looking on line for the schematics and designs that I would use for the keyboard. I realized I forgot a few items to buy like a tactile switch for testing and a 555 timer as a clock. However, I'll still be able to test out the basic logic before the more special parts are ordered. Most keyboard matrices use row-column indexing, which means at any given time, they can detect which rows have buttons pressed and which columns have buttons pressed. If you know the row and column of the button pressed, you can determine exactly what button is pressed. However this can lead to problems if more than one key is pressed at a time. I want to have more general purpose use rather that just calculation for my device, so it's imperative that certain keys can be detected independently of others. This is why I'm using a combination of keyboard matrices and PISO shift register trickery. I'm going to head into logisim to diagram the entire circuit out virtually, then I'm going to use my breadboard to figure if there are any physics bugs I need to iron out.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2022
Categories |