#Hornet(rewrite, do you remember?)
1 messages · Page 2 of 1
- learn to not confuse big endian and little endian
Im modifying flanterm to support beeg fonts
it now kinda works, it at least knows what glyph to display
holy shit it actually worked
clearing is still a bit buggy
oh, cuz I didnt modify plot_char_fast
nice
now it works
with any font I can imagine
the lack of AA is kinda annoying tho
anyways
now the terminal looks good
some of the letters in this font kinda look wierd
also its a bit too large
so can you suggest some better ones?
as close to 16x16 resolution as possible
why did you need to modify it though?
couldn't you have told it to use a font of a different size?
the code creating ctx->font_bool does not work for font sizes over 8, so I made it use ctx->font_bits instead
I was too lazy to delete font_bool so its floating there unused :/
why does font_bool even exist?
for quicker decision making I guess
you still need to load it and compare it so i don’t see how it’s quicker
if anything it just uses more memory because you’ve expanded it to use a byte per bit, but idk how flanterm uses that so i might be speaking out of my ass here
honestly I don't know why that is either
I'd point out my font drawing routines that use bit ops are slow... but it's NOT because they use bitops; it's because they're written in a way that doesn't make them performant
C is good enough, I'm not saying that
but it has to recalculate a bunch at once per pixel of font data
i’m jk
like the address OF the pixel to write
I really should revamp that, but I'm working on boron right now
so the font_bool is garbage?
because it's faster
practically tested to be faster
not saying that there couldn't be bitwise pieces of code that are as fast or faster
but this is faster than a naïve bitwise routine
don't ask me why, i don't know for sure
flanterm_fb_init has a parameter for font scaling
unless i'm retarded
since when is the letter ï in the English alphabet?
probably a foreign word adopted by english?
yeah lol
yeah flanterm does support font scaling in the init function
a lot of english is just things we yoinked
but, if the font_width varible is greater than 8, the routine generating font_bool will fuck things up, not allowing you to load the high res font
so I made it use font_bits instead of font_bool
you could also fix font_bool to not fuck things up i guess
that sounds like a change welcome upstream
either that or figuring out a way to make bits as fast as bool
that is my plan cuz the other one is harder
I see, it expects a VGA font
then, I just have to make it take whatever bitmap
so, the builtin font bugs out my code
cuz its exactly 8 pixels wide xD
I need to fix it so VGA fonts actually load
almost working
I lost all my progress :/
wut how
git and stupidity
here it is:https://github.com/mintsuki/flanterm/pull/5
just removed the limitation that the font has to be VGA size
mfw when git reset --hard
Its refactoring day
Im finished refactoring
i am not sure i fully understand your PR to flanterm lol
what is your question? is the code quality questionable?
i am not sure whether you take into account the fact that glyphs 0xc0-0xdf need to be extended right
for one
what characters are there? and isnt that only for VGA fonts?
this is VGA fonts
Cuz I alredy broke the VGA specification by letting any resolution be loaded
nah
ok so
forget about the word VGA
codepage 437, which is what we use
those glyphs need to be right extended
they are mostly box drawing characters and similar
and no, that's not conditional
it has to be done
oh, so they have no spacing inbetween them and their neighbours?
it's not that they have no spacing as much as it is that the last right most column of the glyph is repeated inside what would be the spacing
this allows something like a straight line to be drawn using box characters without any gaps
so I have to duplicate on theese lines?(basically does this look right?)
WHAT THE HELL FREETYPE, YOU CANT DO THIS THING WITHOUT GAPS?
works like a charm now
@tight summit done with fixing it
alright ty
any other questions?
no just give me time pls
ok
I made the page fault handler kill the current process instead of kernel panicing
also just fucking realized that my scheduler gives the same stack to all kernel processes
it wasnt a problem since I only had one kernel procass and 0 user processes
but it now is since I want to load programs
it now works
kinda
idk what that PID 267866096 is
added special case for the init system malfunctioning
what's wrong?
pid 0 crashes if theres another process running parallel to it
*user process
how can it run parallel with the kernel when you don't have SMP wat
just scheduler stuff
in create_process you're creating a new process structure without defining stuff and immediately setting cr3 to an uninitialized value
fuuuck okay i'm retarded sorry
petition: add nasm syntax option into GCC
nah it's not that big of a deal really
intel syntax should be supported, might be wrong though
anything else sus in the code?
ok ty
are you a home?
I can help you
yeah
vc?
text sorry
why
Im tired of typing and screenshotting
its not that bad
also you feel busy cuz you dont reply without a ping
i am in a match in a game rn
but what do you need help with?
fucking inexplickable scheduler behaviour
Imma install simplescreenrecorder and make a vid for you
ok
sched code is here
well fuck I have to go
so just leave your findings here
jesus i can't even compile it
you're apparently including a missing stdio.h
oh wait you're supplying binaries in the repo thank god
it's flanterm
exactly this line in plot_char():
uint32_t bg = c->bg == 0xffffffff ? canvas_line[gx] : c->bg;
(line 467 in backends/fb.c)
@tight summit
the only times where plot_char() is called are here: (line numbers included and all in backends/fb.c)
747: plot_char(_ctx, &c, ctx->cursor_x, ctx->cursor_y);
769: plot_char_fast(_ctx, old, &q->c, q->x, q->y);
771: plot_char(_ctx, &q->c, q->x, q->y);
779: plot_char(_ctx, &ctx->grid[ctx->old_cursor_x + ctx->old_cursor_y * _ctx->cols], ctx->old_cursor_x, ctx->old_cursor_y);
832: plot_char(_ctx, &ctx->grid[i], x, y);
yeah it's crashing absolutely randomly so it's not flanterm (sorry for the ping mint :p)
so you're getting a bunch of logs about a GPF in the process with a same PID, before the kernel gives up and throws a page fault, which does make me believe you're not actually killing the process
my blind guess: when you kill a process you don't actually reset the current_PID, but regardless of the process' RIP, you're doing this
if (not_first_tick)
memcpy(&processes.data[current_PID].status, regs, sizeof(Registers));
which might be why you're getting the page fault, and not resetting the current_PID might be why you're getting the GPF repeatedly
and of course I might be wrong, I'm hella sleepy and my brain isn't braining as much
Braining xD
fucking hell
yk what caused ALL this
?
I switched up cs and ss
that is FUCKING IT
also there is a memory leak somewhere in my kernel, probably my shit testing shell
and yes, -5 points for baking in a shell
context: #1170316206935388231 message
Can you show me the code for the shell?
src/core/interface/desh.c
just looked, lolguy gets -10 points for using if-else and strcmp for builtin commands
and -5 points for not building the shell as a separate executable
memory leak fixed
what took me so long was that I retrieved the size wrong in the free function so it just froze
to be fair this will be replaced the moment I have an ELF loader
what, the if-else or building it into the kernel?
good
i might be able to port over the hashmap used in psh later today if you want
SOMEONE HELP ME
I HAVE NO CLUE WTF IS HAPPENING
seriously
my OS hangs on a single instruction
this one:
well does rax point to valid page tables?
yes
and there is no interrupt
and qemu flickers between paused and unpaused
the code that generates the page table: https://github.com/lolguy91/h0r.net/blob/8fd700b00fcc76177310a2def1f42b5e40c52563/src/core/sched/sched.c#L88
do you have any idea why this is?
idk
btw why did you block me?
i didnt
I set my dm's to be friends only
because I asked for help?
no it was not because of you
Ded project
certainly not
nope
I hacked together an ELF loader
its horrible
it assumes that .code is phdr 1
it also doesnt do anything with the other phdrs
but works for my test binary
and probably nothing else lmao
anyways, this is not usermode yet
but I am in the perfect situation to start working on the syscall interface
so, syscalls
btw dont look at the code
youll cringe hard
2035
17/17/2035 16:81
seems like Im decoding time incorrectly
or I need special flags for qemu to give the correct date
looks more like this being the issue
maybe you forgot to convert from BCD time
https://en.wikipedia.org/wiki/Binary-coded_decimal The BIOS time is in BCD encoding
1301th message
1302nd message
1304th message
1305th message
Chain prevention! ⛓️💥
Mission failed! We'll get em next time..
1307th message
1308th message
1309th message
"Reminder" "remainder" and "reindeer" all look the goddamn same
Also why rain deer?
Raain deer
I do not thingók this is usable anymore
now it has both a flex cable and an LCD panel issue
I litterally dropped a salt lamp on it lmao
Oh No! You ran your OS on real hardware and this happened????
worst accident ever
no, I dropped a salt lamp on my laptop
how the fuck does that happen
cuz I forgot I have weak arms
oh
very weak arms
well, now I can't multitask as well
I need to get a HDMI monitor now
well
(HDMI cuz thats the only other video port, I alredy use the VGA)
why do you already use VGA?
thats my second monitor
ban for the windows 7 theme instead /j
ban for the usage of tone indicators
ban for the blurry photo
ban for being giygas
Link to the song - https://youtu.be/4um_9WX5msg
Also minor correction, the band's name is "His Name Is Alive"
ban for not having an emoji font installed
ban for changing your name every month
true that 

I have no motivation to work on anything
That is what depression looks like
