From bfeb83b717049a978e39160ca675de8699384bee Mon Sep 17 00:00:00 2001 From: Medium Fries Date: Wed, 23 Jan 2019 17:38:12 -0800 Subject: [PATCH 1/5] temp commit for now --- loader.asm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/loader.asm b/loader.asm index 8b34b43..dfbd3e6 100644 --- a/loader.asm +++ b/loader.asm @@ -14,7 +14,16 @@ align 4 dd CHECKSUM loader: - mov eax, 0X1234ABCD - + .loop: jmp .loop + +; section for our kernel stack +KERNEL_STACK_SIZE equ 4096 +section .bss +align 4 ; aligned to 4 bytes for performance +kernel_stack: + ; (res)erve (b)ytes x + resb KERNEL_STACK_SIZE ; 4k of stack size in mem + ; now we setup the stack pointer for our kernel + mov esp, kernel_stack + KERNEL_STACK_SIZE From d42d68e5a9f97ad18d282ce20e716fd84128fe87 Mon Sep 17 00:00:00 2001 From: Medium Fries Date: Sun, 3 Feb 2019 16:37:20 -0800 Subject: [PATCH 2/5] Changing super-basic test function to just test() because of how small and bland it is --- framebuffer.c | 10 ++++++---- framebuffer.h | 10 ++++++++-- loader.asm | 19 +++++-------------- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/framebuffer.c b/framebuffer.c index 53f2e17..9d070f0 100644 --- a/framebuffer.c +++ b/framebuffer.c @@ -24,12 +24,14 @@ void clear_buffer() { *fp = 0x00; } } -void print(char* str) { - for(unsigned i =0;i Date: Sun, 3 Feb 2019 16:38:48 -0800 Subject: [PATCH 3/5] getting rid of old kernel.elf since it changes every commit just forgot to untrack it awhile back this commit ammends that --- iso/boot/kernel.elf | Bin 4592 -> 13608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/iso/boot/kernel.elf b/iso/boot/kernel.elf index d65939c1f51ec8a3f3b3298f579a10eddb7a661d..2275d0fa6e0424acece37127d7db337efc57f64e 100755 GIT binary patch literal 13608 zcmeHOO=uit7=CAe+NoL1rba|6x{59F;26`QO{s^?W;U(aO=>oCF~o6yCQY0D3A?kH ziqOC+ZdinP@Ze262_kqZo+NE*MG7UsgT)@CXkjsxCXhpfCF}Ff%$J|y!Gi}6-%Gyv z-uHc;@BO}cb|$d1^Ig^xaYa!`n2-F#QHa8H0{xleE^>k*KzfkxaB#pdK7{EuI&MKP zQ4AYP8Ifv)>tiSWSrHh>x{pZ@%RtYuCekhV81_ z{A-)TK)>E9-*T%ppX5?^o+0{pe(OQIeXjYLGb8}G5qM!4s5Gg7R6r^q6_5%@1*8H} z0jYpgKq?>=kP7^76-ZZdQ@l9-jh;<;Z;X`pRpm%15UAq`z|+WaTf=wWSC|leO#RR| z@My5`Js9|TAF0!5E#S_N`T`%U`F#`1QD*V@cbK={ZoiCvr^bw1gYkK^Vc;X^cW~bu z4uSE{(JleUcllj>!X3}=3@o9|0mqW0Nd=?=QUR%eR6r^q6_5%@1*8H}0jYpgKq~OC z0`ncT@=?dW>`*LrD$-+QsztjRc}?rndS5zOb)w^1--~W$-++CA`v$+ei-2fQ5wXu@ zg+=UlVs$6>zPaJ>Qe7T7gEsqVf6FBPDTb_l+Bzkv`xwM&P$ z;XF&=_a5BzM!Sa{x4eU&!m(>7p-`N0Z+@bKl;YSko-fTl*2`z2VEsk(fju$9!kB*< zfjB<}yCXhD{3Yh&XC#MF;S2OXBj#r!9Djvg=y}-ZqpOIILSKF+!uSow!OwZ|Dtg|> z!4?L78~x+(_&E;qDPKzGtg@D_6et-TIvX=bjO2hmM)5>+C`GX|dTcmlBxzV58_^SH zYCIYnHdANc(#61hsWeM7R=H^9&5E7Q&d^jjU9d9MsVS7rQk)}mzzO#Sre4gEIg}V3 zh$hU@cs!+#o8!@egl7toTY_fG7mBtyl_ArdJNc@1-m=ZvtZ7eIi!)k!j%=%9 z)4Syhwq<6meBN6YRqS%!g7{kHQo&AV(A#CVpBA2N&Do^!QTyl8TDg=<+iB9QY126= z(%krb$<}7`7@Vn8NXwQA1*>SY!vD_rWg95(?uFsc27iN`@Jw8O&mk5({>%rva4iXv zhjIA2=R0>7-%Am^row<{qO^{fedh5!r$&fY;0qJAN0DHjb9Y8iuNQnlLN9p69v)xA zDtLUq31c3&x6ydKQxEq}H+Vsm6(;Isk>Gg&JI1`Dp3fa)qIv&G9P~7JO8_20^aL8$ kLI3~& delta 291 zcmZ3H^+9=pf}VyT0~nYvC@?TGXfUucumEWw5P%T^48lMr2(vP5>@DV>xWImr01x|) zv#U*nUjLgoQJfR3l!2Lnaq?*cS4%;NR-k&YIUr-efQ8}Xe-j`}1S-!6l=lMid7ylO z$v+LXHFEM3Q&Nlca`N*F7~lUC$;N-U^$`Y)=Fi-@F!vM_P0Gik= ATmS$7 From 5d290fe32f670aebbc50df3f4054cfa9f014bc6d Mon Sep 17 00:00:00 2001 From: Medium Fries Date: Sun, 3 Feb 2019 17:03:31 -0800 Subject: [PATCH 4/5] print_fb(char*) testing and working as intended for now --- framebuffer.c | 11 +++++------ framebuffer.h | 5 +++-- iso/boot/kernel.elf | Bin 13608 -> 0 bytes 3 files changed, 8 insertions(+), 8 deletions(-) delete mode 100755 iso/boot/kernel.elf diff --git a/framebuffer.c b/framebuffer.c index 9d070f0..6b0fe62 100644 --- a/framebuffer.c +++ b/framebuffer.c @@ -13,8 +13,8 @@ static char* Frame_Buffer_End = (char*)(FRAME_BUFFER_ADDR + AREA); // @cell parameter is the logical (linear)index into the buffer // _not_ the actual offset from the buffer addr // also proper location is caller's responsibility -void write_cell(unsigned cell, char c, char fg, char bg) { - Frame_Buffer[cell*2] = c; +void writech_fb(unsigned cell, char c, char fg, char bg) { + Frame_Buffer[cell] = c; Frame_Buffer[cell+1] = (fg & 0x0f << 4) | (bg & 0x0f); } @@ -25,13 +25,12 @@ void clear_buffer() { } } -// TODO: move this to the stl with printf functionality void print_fb(char* str) { for(unsigned i =0;ioCF~o6yCQY0D3A?kH ziqOC+ZdinP@Ze262_kqZo+NE*MG7UsgT)@CXkjsxCXhpfCF}Ff%$J|y!Gi}6-%Gyv z-uHc;@BO}cb|$d1^Ig^xaYa!`n2-F#QHa8H0{xleE^>k*KzfkxaB#pdK7{EuI&MKP zQ4AYP8Ifv)>tiSWSrHh>x{pZ@%RtYuCekhV81_ z{A-)TK)>E9-*T%ppX5?^o+0{pe(OQIeXjYLGb8}G5qM!4s5Gg7R6r^q6_5%@1*8H} z0jYpgKq?>=kP7^76-ZZdQ@l9-jh;<;Z;X`pRpm%15UAq`z|+WaTf=wWSC|leO#RR| z@My5`Js9|TAF0!5E#S_N`T`%U`F#`1QD*V@cbK={ZoiCvr^bw1gYkK^Vc;X^cW~bu z4uSE{(JleUcllj>!X3}=3@o9|0mqW0Nd=?=QUR%eR6r^q6_5%@1*8H}0jYpgKq~OC z0`ncT@=?dW>`*LrD$-+QsztjRc}?rndS5zOb)w^1--~W$-++CA`v$+ei-2fQ5wXu@ zg+=UlVs$6>zPaJ>Qe7T7gEsqVf6FBPDTb_l+Bzkv`xwM&P$ z;XF&=_a5BzM!Sa{x4eU&!m(>7p-`N0Z+@bKl;YSko-fTl*2`z2VEsk(fju$9!kB*< zfjB<}yCXhD{3Yh&XC#MF;S2OXBj#r!9Djvg=y}-ZqpOIILSKF+!uSow!OwZ|Dtg|> z!4?L78~x+(_&E;qDPKzGtg@D_6et-TIvX=bjO2hmM)5>+C`GX|dTcmlBxzV58_^SH zYCIYnHdANc(#61hsWeM7R=H^9&5E7Q&d^jjU9d9MsVS7rQk)}mzzO#Sre4gEIg}V3 zh$hU@cs!+#o8!@egl7toTY_fG7mBtyl_ArdJNc@1-m=ZvtZ7eIi!)k!j%=%9 z)4Syhwq<6meBN6YRqS%!g7{kHQo&AV(A#CVpBA2N&Do^!QTyl8TDg=<+iB9QY126= z(%krb$<}7`7@Vn8NXwQA1*>SY!vD_rWg95(?uFsc27iN`@Jw8O&mk5({>%rva4iXv zhjIA2=R0>7-%Am^row<{qO^{fedh5!r$&fY;0qJAN0DHjb9Y8iuNQnlLN9p69v)xA zDtLUq31c3&x6ydKQxEq}H+Vsm6(;Isk>Gg&JI1`Dp3fa)qIv&G9P~7JO8_20^aL8$ kLI3~& From ef3374fd8d1ffc05e3fb5c68857c28e297cc6864 Mon Sep 17 00:00:00 2001 From: Medium Fries Date: Mon, 4 Feb 2019 13:29:46 -0800 Subject: [PATCH 5/5] clear_buffer was pointless for now since the buffer doesn't yet proper cursor tracking --- framebuffer.c | 13 ++++++------- framebuffer.h | 2 -- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/framebuffer.c b/framebuffer.c index 6b0fe62..8bca41e 100644 --- a/framebuffer.c +++ b/framebuffer.c @@ -18,19 +18,18 @@ void writech_fb(unsigned cell, char c, char fg, char bg) { Frame_Buffer[cell+1] = (fg & 0x0f << 4) | (bg & 0x0f); } -void clear_buffer() { - char* fp = Frame_Buffer; - while(fp!=Frame_Buffer_End) { - *fp = 0x00; - } -} - +/* this probably doesn't belong here */ void print_fb(char* str) { for(unsigned i =0;i