#Kvass (vibecoden't)
1 messages · Page 8 of 1
The user apps that MMAP it get the file in memory
driver do that im not responsible 
kvass
if the driver gets a write or copy file operation it can do whatever it wants with the request but i suggest it writes instantly
You could also just
have a generic block level cache for the block device
And then copy things when needed
But that’s slower technically 
So when the user MMAPs and then hits a fault
The FS will copy it from the page cache to you
Or some shit
i think the biggest problem with my idea is multitasking, because the part that some other process wants will be nuked and now it has to wait for it to get unnuked
And then to reclaim memory it can just OOM kill you
or just unmap pages marked like that and they can be grabbed later
sane people call it a queue and most of you people call that a spinlock 
racist VFS

no im just gonna put it as a quote or something
// "racist VFS"
// - either joe biden, or some other idiot
k
CONFIDENTIAL: IF ANY INFO FROM THAT DIRECT MESSAGE IS SENT TO THE PUBLIC YOU ARE LIABLE FOR THE LOSSES OF THE COMPANY! THE MESSAGES EXCHANGED ARE TRADE SECRETS AND THEY MUST NOT BE DISTRIBUTED AT ALL!!! EVER!!!
yes
yeah linked list crap
And then a mount table
Not really I don’t think
idk
im probably gonna abstract the actual vfs away with fancy handles and such for userspace
because in reality the nodes are connected by physical addresses 
i have to map these in 
That’s what you do anyways 
But you have to like map in the file blocks themselves
Just the file
Like the pages that make up the file
(
)
And you only read them from disk on a fault and if it’s not in cache
Otherwise map it properly
(Once you have the data to do so)
i think what ive thought of is good enough imo
Maybe I should just put the fry’s in the bag and skip MMAP files for now
processes need to setup event handlers
thats the only evil thing
Does anything majorly require that tbh?
but its a driver what else is it supposed to do
idk
im thinking if a task can only get one event a time or what
if its processing that event then probably stall every other task waiting for it
if that task doesnt process the event then commit 9/11 on it
ok honestly this multitasking crap is both difficult and not really difficult
ngl i dont want to add smp for powerpc
most macs dont use it
the ones that do and actually need the performance should use linux 
i only know of two high end power mac models that have more than 1 cpu or cpu core
the dual core G4 tower and a bunch of power mac G5s
and like
no other thing
maybe some power macintosh tower from the late 90s
Do you mean signals?
idk
true
if a task gets more than like 5 events then other tasks should either spinlock or skip the call
honestly i should add a userspace with SOME systemcalls first before bothering that much with this crap
spinlocks r bad
shouldnt be ur preferred way to uhm. to uh. uh. uhm..... uh. to uh. uhm
synchronize
Have your scheduler support proper mutexes
So when they lock
And it’s not free
It blocks your task
And goes to another
can i first print a HELLO WORLD OR SOMETHING AASHDJKASDHJKASDKHJASKJHDAKJHSD 
i havent even entered the kernel yet
i mean i was the first one who did the "oh guys lets plan a vfs"
anyways whatever
im gonna figure it out later probably
whenever i get to it
ok anyways gtg shower
also do not use vnodes to represent the vfs hierarchy
theyre whatever you want them to be but sure
ok so what should i use
I forget is it a new vnode every new open()?
i need a vfs now actually
no
Or do they get reused for the same file
bootloader does some crap
but like just the structure for now
the vnode is the unique in-memory representation for an on-disk file
nothing fancy
Is there a good way to map the file name to the vnode then?
ok afk im gonna come back and read whatever text wall pops up
Hashmap 
dirent cache
Explain
no

dont look at dragonflybsd's implementation they duplicate it per-core and keep changes in sync with a log or something
its scary
a
my current system is that i just have a node somewhere in physical memory and its addresses link to other physical memory thingamabobs
im gonna probably rework it to use some fancy handles instead of straight up physical memory addresses
ok so im gonna go make a horribly basic vfs system tomorrow
i think i figured out how i want it to work
when i come home i also need to finish setting up gentoo
You need to make your mk68k port
tell me where the part that actually boots the kernel is
there is none i need to make it 

I also wonder if it would be fun to design my own m68k based computer
Than build it
And have my own OS run on it


honestly idk if the mac boot protocol is documented for the 68k
ik theres a crap ton of other pcs with tge 68k
but this is mainly for macs
amiga kvass 
KVASS BITCOIN RIG
WERE GONNA GET SOME MONEY AY
ok so openfirmware is still scary
just thought of how im supposed to obtain pci devices
on x86 not on ppc
ACPI
its either acpi or enumerate manually
Fixed tables aren’t AML
Yeah you don’t need AML I don’t think
You just use the standard tables
To find the start of the config space
Probe the first bus
Check for bridges
Then find the bus they represent then probe those
And it’s some basic math to calculate the buses to the MMIO from the base
aeeesddfgf d saw a
thats why x86 sucks 
pci is probably the least bad part of this crap
im honestly just gonna integrate uacpi or smth into the kernel due to me not wanting to spend a crap ton of time on adding a programming language
No
This dosnt use AML
It uses tables
Which are basic data structures
And easy to parse
EG
You don’t need uacpi
i know but acpi contains a bunch more devices too
You could always do aml parsing in userspace
And just do tables in kernel
And you don’t need aml for pci/e
Which means you can delay it to even mounting the root disk
does anyone even do that
I will
anyone but you
And @minor prairie Is gonna too
I bet managarm does something like that
Because having an AML parser
Probably isn’t too micro
no betting isnt enough 
idk man im gonna bother with this acpi crap later
or pci
mainly pci
i need to check pci crap and construct device tree
at least on x86 i have to
on powerpc open fartware did it for me
vendors, device types, etc
acpi is probably even scarier because there might be a security thing if i let a process do too much
See you then
@ocean ore you just made my power shut off
As soon as you sent that
My power fucking turned off
And back on
😭
Me
ah why
This
GENTLEMEN AND UNGENTLEMEN ITS TIME FOR ME TO FINISH SETTING UP GENTOO
i just set up arch instead
lololol
im gonna now copy my powerpc gcc
i copied my powerpc gcc
wait no not yet
waiting
now i did
i got powerpc gcc now
i can kvass again
mutually assured destruction is scary
funny thing, my virtual memory addresses have to be 64 K aligned
because screw you thats why 
one page is gonna be 128 K due to funny tech reasons
so memory addresses have to be 128K aligned 
ibm
ok so im gonna go on a quick side project
i figured out how to do polygon rendering on scratch so im gonna make a 3d engine rq 
i got bored at geography class 
FILLED polygons
REAL polygons
untextured 
it adds to the aesthetic 
ok so i forgot the actual audience on scratch
yall better know what circus that is
the most the kids know is raycasting, and thats because griffpatch told them 
i never interacted with that community
but i used it
the trending tab is depressing
its geometry dash and platformers with the same player sprite copied everywhere 
or this
i thought this was bad with the sheer amount of amd64 operating systems

my rotate over x variable makes the triangle smaller 
braindead 3d algorithm
behold magnificent 3d plane
software rendering is interesting
how much crap can you put before your computer explodes
wait
was the super fx chip a gpu or a second slightly more powerful cpu
it is a cpu
but its used for graphics processing
techically its a gpu
lol someones trying to scam me probably
its time for a big troll 
anyways my side project is fine, probably
funky z layering
i think i need some other place to store my stupid 3d side project in
not yet
There is a spot in the other place you could use

Or something like #1008410029990367284
where
true
honestly i should make a gpu like the vmware svga
somehow
except itd be cool if it was like an actual physical thing
ok so im gonna go generate myself a hmmmm hashmap 
use it for that stupid 3d renderer and make z layering work
or not

ok honestly should i do it on real hardware for the funny
the stupid 3d engine

im probably gonna work on kvass later
never let me do 3d graphics again i am NOT built for that
literally im so bad at 3d anything
so heres the plan
give kvass an absolutely insane 2d pipeline for literally no reason 
i mean youll get amiga type graphics
thats a good thing except the amiga cant run doom 
anyways so im gonna work on kvass
3d is scary my brain hurts more than openfirmware
compromise: make kvass mode 7 
idk why im obsessed with graphics crap
BECAUSE I WANT TO BE OBSESSED WITH GRAPHICS CRAP
MAS*UIDJKASDASJDASDJASDASKJDHASKJ
when cyberpunk on kvass
LLVM pipe
"CIRCUS HOP" Damn, it's really saying what it is in itself.
i remember still speaking to scratch users
they are literally "depressed" (they made up some mental illnesses for themselves for some reason)
scratch can barely process 400 something polygons
i revived my stupid engine project
time to optimize yeehaw 
i cant optimize


how
the app store page for microsoft word is so funny because they have to explicitly state what they collect and it straight up says word collects "location, contact info, contacts, user content, diagnostic info and user usage patterns"
lol spies 
anyways so i got demotivated so ima work on kvass later 
FOOLS
I AM MOVING TO A CORE 2 DUO
IT HAS A GOOD KEYBOARD
THE GPU SUCKS BUT I DONT THINK I CARE
NVIDIA IS STUPID
AAAAAAHSAHJDBNASDBANSDBNASD
anyways so like i need to finish my vfs but this entire thing is kinda on hold
ragequit on booting the system 😔
obligatory fastfetch
time to check if qemu runs at a reasonable performance
this fart has a mechanical hard drive
maybe i should replace it with an ssd
but i installed arch already and idk how expensive an ssd is
lemme check
1TB for 149 dollars
89 for 500 gigs
im looking at smasnug drives
crucial drives definitely work but we don't talk about crucial 
ok thats more of a
moment but i hate micron now
hate is way too strong for my feelings towards them
im sad for them i dont want to buy their stuff anymore
whenever they come back
$59 for 250 gigs
looks reasonable honestly
but man i just installed linux on an old fart and now im considering nuking it just because its being bottlenecked by a hard drive 
ehhhhhhhhh if i have to i will nuke it anyway i dont store anything on main hard drives these days anyway 
i actually dont store anything at all 
except kvass source code

im gonna set up alpine lunix on my 2006 macbook which DOES have an ssd but it runs like a triple boot
(i still havent run it on my thinkpad yet)
ill never be able to use any other laptop keyboard again vro
this one is so cool
anyways so i fixed openfirmware virtual mapping
unmapping crap broke
i can peacefully load my kernel now
people i am basically almost ready to try actually booting the kernel
i set up enough crap to load it into memory without going insane
ok i actually loaded it
i loaded my fart into memory
so much time and yet this is simply a bootloader 😔
whatever
ok so should i load the kernel at 0xC0000000 or somewhere else
bootloader is the hardest part
ehhh depends
Hey ppc needs a good bootloader
Yours sure is good
youve never seen it, insanely blind trust 
i mean im honestly kinda lazy i dont want to make it an actual bootloader
Can it load files off the disk?
with like a fancy boot protocol
Don’t need to be fancy
it builds a vfs, gets device info and yes it loads the kernel off disk
maybe ill add in ramdisk support
its really kvass specific
literally searches for a file named kvass-kernel or whatever, its signature must be KVASS OPENFIRMWARE POWERMAC i think, and the bootloader itself is just called kvass-loader
(the signature originally was OPENFIRMWARE SUCKS!!! btw)
the kernel must be a flat binary etc
Just have a config file to tell you what kernel elf to load and execute
(Elf loading is easy DW)
(objcopy is even easier
)
i fr dont know if i should somehow spin this out into its own bootloader with a protocol and such
honestly thatd be cool id consider it
the kernel must still be a flat binary tho 
Elf files are basically just flat binaries

And kernel binaries are static anyways
fine im gonna add elf support later
So you just need to parse the most basic aaa headers
the problem is that i cant really enumerate the file size @raw prairie
so the file size has to be put somewhere
in the file itself
The elf file tells you that
o
My elf loader does not care about size 🙏
How about
I make an elf loader
For kvass-loader

And il submit patches
Because talk cheap
"send patches" -- ffmpeg
crap i have to rework my entire thing now
the stupid build system i made
for kvass AND for this stupid thing
nobody remembers greg these days 😔
he's like phoenix
rises right after he gets murdered
aaaaaaaaa 

nah do elf loading
anyways lemme just start copying crap now
im crashing out if this idiot doesnt boot
@raw prairie yo do you use a build system at all
idk if i should use one
Make files
ok fair
i mean i just have a configure script, and then that script is included in the makefile
its better than going into the makefile itself imo
this is kinda what the config script's output looks like
What you can do for your boot protocol
Is have section names you can check with the elf
And then have magic numbers and stuff
If you wanted a protocol for like something
Or even load the data to be fixed in memory starting at virtual 0
And then you move it yourself later
wait gregloader??
its being resurrected
the repo shall be resurrected i want to check out the code
im gonna open source it for everyone later
im too lazy to commit
sir
what sir
Btw @ocean ore is Greg loader little or big endian
it depends on cpu
(big endian on powerpc)
RIP
idk i can consider making a little endian mode switch
later
i dont want to do it rn
I I mean

It would just be conversion on the header fields
So it should be fine enough for me to do
And il learn doing it
Or some crap
please get me the repo i want to do kvass 
oh wait i forgot i have the kvass kernel downloaded already
what's the FRED role, this is new
Yes it’s new
I implemented a driver for FRED
I did it first
I got the role
what's FRED?
Better IDT for rich people
eh, I don't understand, is it an os or what
yes? but idt has nothing to do with that name
The FRED is the new version of the IDT on very new hardware
very new hardware of what arch
why do we need a new version of the idt, what does it give
It makes it faster and you don’t need a table
It even combines system calls into the same system
It pushes a bunch of things onto the stack and called a function you set
And then you choose from there
can it even be emulated rn?
It can be
With Intel SIMICS
That’s how I got a driver working
Here read the spec
But this is getting off topic from @ocean ore s channel
hmmmm it's going to be decades before everyone's using it in practice
I mean most systems still have support for PIC
Even though everyone moved to APIC years ago
we will just end up with three different ways to deliver interrupts instead of two
and still needing apic for ipis
Every x86-64bit computer has an APIC and almost 100% of systems have an IOAPIC
yes but it’s not that hard
And again this is off topic for here
So may be better to move lol
nah
if you want to only appeal to people with a brand new CPU sure
ah wait only read the last half
lol
but its not the latest build 
maybe??
me no idea
also im now pissed at my choice (not regretting) at making the stupid kvass loader into a full separate bootloader
i have to rework practically everything in it
also im gonna always map the kernel in a BAT, if anyone wants to use full paging then go ahead but YOU remap YOUR kernel 
you can use both bats and pages btw
wait
holy crap
vsids can have a format you made
theres no predefined algorithm
i obtained a revelation on powerpc paging
this is severely mind boggling
how do i generate these addresses though
im not a cryptographer
or whatever
oh
motorola has a functional algorithm
they put it somewhere
free to use crap
the kernel is still loaded in a bat though 
ALSO THE PAGES ARE 64K ARE YOU KIDDING ME

or not
schrodinger's paging
its a 19 bit number instead of a 15 bit one in the bats
ibm is there any particular reason to align bats by 64K and regular paging by whatever this is 
i mean the bats are 64k aligned but they have to be at least 128k in size
i just align them by 128
nevermind thats the algorithm for a second hash value which uses a vsid for input 

its 4k
regular 4k pages
ibm why

just so yall know how stupid this is the size for a page entry is the same size for one bat
theres several reserved bits after the 15 bit address
theres literally no way they couldve not used the reserve bits to make the address 4k aligned
psychotic idiots 
also segment registers
it is picked depending on what letter your address starts
0 = sr0
1 = sr1
E = sr14
F = sr15
0xDEADBEEF would use sr13
it starts with a D
unless i cant count NOR do i know the alphabet and its actually sr12
segment register contain vsids or something
also you should always memset your newly allocated pt's with 0s
obviously
on all cpus
if some stupid crap happens with addr translation that will result in a bunch of unwanted flashy visual effects
(triple fault)
(possibly)
that second value is used for page table entry calculation
XOR??????!?!!?!?111?!??1
@raw prairie the paging might be better than what i told you it was
ok so this looks like addresses get a vsid appended to them depending on sr, then the vsid and page idx are xor'd and that makes a pteg
ok so im gonna do a hopefully reasonable explanation of powerpc paging
there is the page table
it has entries (duh)
a PTEG is simply 8 entries
it is nothing but 8 entries
there are no pointers to it like on other cpus its just 8 entries in the page table
every page table entry (PTE) has a vsid and the real address it points to
that vsid is (id say) revelantn't
the vsid is a 24 bit value
it can be randomly generated
it can even be all 0's
now heres complex crap
an effective address consists of the following
- 4 bit segment regiser (sr) value
- page index
- byte offset
there are 16 sr's
ok anyways yeah
sr's contain vsids
(essentially)
NO, this does NOT point to an entry that would be stupid
the 19 top bits of the vsid and the page index are FRICKING XOR'D
now you get the address of the pteg
i think
you CAN get it i meant
this is how you get the address
and now how is that final page table entry found?
no idea lol 
you get a pteg address though
progress
oh also to make page tables you have to calculate all that crap i assume
thats how the cpu do it so you better do it how the cpu do it
note that in this case that 3 bit value may increase depending on the size of HTABMASK
probably
not sure
nvm theres simply no way for more trash to fit
use doom RNG table 
ok im gonna be unironic here you actually can use the doom rng table
100% serious
i should do that 
oh wait
only one pte in a pteg can be valid 
wait tho
makes sense honestly
lemme read more
ok so yeah it makes sense
i understand now 
anyways gregloader is gonna load crap into bats
bats are faster
im gonna use them for executables
or not
whatever
ok thats a lie too???
essentially its a whole mess im too lazy to explain 
simple explanation is "its actually 4 per pteg"
greg is being summoned into existence
certified macintosh
its not even a gui its just graphical
maybe
idk im adding the boot picker for greg
im making a library to parse ini format files
im not gonna add write support
we have text editors 
its for the greg config files
anyways im gonna open source it when im done with it
santa claus parser better
pentagon bomb codes parser better
also im making the parsers portable so i can reimplement them in either the kernel or some other thing
especially the config file one
idk what i would need the psf and elf parsers for tho
gdt on powerpc is crazy
brother
the psf one might be pointless because people are using flanterm 
flantermios
im gonna make my own terminal emulator probably, open source it later
print_str_with_terminated_symbol_at_the_end_very_slow("Hello world!")
we have greg the grub ripoff, now kvass is gonna have crapterm 
in my case its PrintStrWithTerminatedSymbolAtTheEndVerySlow("Hello World!")
calling it f--kterm wouldnt exactly be appreciated by the universe
fuckingterm
crapterm and greg vs flanterm and limine monopoly 
fuckingterm ™
resurrecting the war between powerpc and x86
you got it its a fucking terminal
power86
ok so i got tired of kvass being a total circus
im not sure if the almighty "crapterm" will even exist
it probably would because its funny
the boot protocol might be close to the open firmware one
BUT without the devtree
im thinking making the bootloader do pci enumeration
ok honestly the devtree might be useful for that
it might be complex to travel though
im probably just gonna make it dump a huge array with pci crap
or not
idk some cpus dont have pci io port crap
(powerpc)
what i meant is that theres no singular configuration address
i think you have to get it somewhere
idk ofw
the ini and elf parser libraries are no longer portable
because screw you make your own implementations this is osdev MUAHAHAHAHAHA /hj
the ini im using is a dialect of it probably
my comments are written with # and not ;
ini is honestly the best thing to come out of windows
straight up i think its the best thing they made ever
it would be cool if there was ini but with subsections but thats basically XML atp
and XML sucks
probably
it looks painful to implement
outright pain
actually wait no thats not xml xml has tags
im talking about smth like
[section]
[subsection]
key = value
this can have several uses like in a bootloader theres a style section and a boot entries section
anyways i have hands and a programming language im gonna implement that crap
except no idea how would it recognize subsections other than tabulators
[section]
key=value
[subsection]
keyn't = valuen't
[section 2]
ajdbahsbajwbajjaoqoa
call that kvass configuration file idek 👍
ok so implementation details on this are a bit weird
maybe treat each section as its own config file 
like out of this, if you ask the parser to enter section 1 then it might just look like this to the parser
key = value
[subsection]
keyn't = valuen't
i need to make it so subsections are ignored if you want to access key
also if it finds a subsection it should probably seek a line that doesnt start with a tabulator to ignore it (in this case at least)
if it starts with 2 tabulators or spaces your kneecaps wont see the light of day again 
if its spaces its just not a section anymore but if its two tabs then lol syntax error
time to attempt and parse this
Didn't he notoriously hate the memory management
Which was mostly his fault because his kernel wasn't written generically enough
idk i think so
yeah he hated paging on power/ppc REALLY bad
lunix emulates port IO on powerpc, with outb/w/l and inb/w/l functions
theres a big endian and small endian version for each
some friggin #define toggles between what implementation to use
dont quote me on it but im pretty sure theres central out/in b/w/l's and then they just reroute to BE or LE
I wasn't really referring to that
still
More about Linux's mm depending on the existence of a multi level page table
oh

i feel like my mm might have a problem with that
i might depend on inverse page tables too much
i can implement something like that on x86 but like idk
im planning to make whats essentially an architecture specific back end for stuff like a vmm, it just maps addr's in and out
the "is that virtual address range used already or nah" is the job of the portable vmm thing
and other crap like "can kernel/user execute/see/write (to) this"
physical allocator might just be portable, its really the job of the bootloader to provide memory map crap
i forgot to specify what crap oops 
gonna work on configs when i get home
my goal is to make some crappy hello world program for gregloader
idea: LINK the boot script and other crap into the binary thats gonna be loaded itself
this is so stupid but hear me out 
actually no this is stupid dont hear me out 💔
but what i wanted to do is basically use this crap for like embedding boot info
such as at what address should the binary be loaded
linking a text file into an elf is something that might be possible but its definitely not practical
ehhh 
my idea is to probably wipe the space of the text file and replace the contents with bootloader info
my idea is to have a relocatable (i think) callback function that can be used instead of the stupid tag system other bootloaders have
maybe not relocatable
map it at 0 or bust 
my excuse was that it takes less space but this crap takes a BUNCH of space 
especially the "lol lets link a text file into an elf binary" part
no putting structs in there would be too normal
maybe the stupid tag system is better actually
no idea
@raw prairie wanted me to do it 
FOOLS I HAVE DECIDED CALLBACK FUNCTIONS AREN'T EVEN PRACTICAL
I THINK
idek you have to unmap them once done the system would suck on x86
everyone does their own cr3 anyway
OK MAYBE A CALLBACK FUNCTION MIGHT BE PRACTICAL HONESTLY
ok so im bored im making a linux distro
new message detected
i should make the be related to kvass in some way
make a package manager port that to kvass later
custom init system 
literally kvass if i made it linux based instead
idk if i should even do a custom init
but like
lunix
im gonna be one of the one powerpc distros
ok not but whatever
i compiled the kernel already i need
- glibc
- coreutils (evil crap)
- bash
- init system (probably make my own)
- package manager (also probably make my own)
- fastfetch

- bootloader (i want to add linux support to greg)
the 7 deadly doohickeys
technically 8 including the kernel
port mash
to the linux distro?
yeah
can this run programs?
obv
cd better exist 
it has "variables", builtins
cd, cwd
and required 8 os-specific functions
5 of them can be stubbed
read it
why are variables in quotes
no environment variables??? 
they function like registers but with strings
shitty but works
what how 
char S1[100];
char S2[256];
char S3[512];
err: file '/bin/set' doesn't exist.
[makst] / % store S1 /home/makst/mash
[makst] / % ls $S1
Makefile execut.c inc inch main.c mash mash_linux.c readme.md
[makst] / %
but variables like $CC??
yeah i have envp
oh
make runs perfectly
do these also function like registers??
[makst] / % cd $S1
[makst] /home/makst/mash % make all
gcc ./inc/lg.c ./inc/string.c ./main.c ./execut.c ./mash_linux.c -o mash
sudo cp mash /usr/bin/mash
[sudo] password for makst:
cp: cannot create regular file '/usr/bin/mash': Text file busy
make: *** [Makefile:8: cp] Error 1
[makst] /home/makst/mash %
nah envp is char**
thats a forbidden word
NOOAOAOAOAOA
thats +1 os-specific function
ae
thats -3 points of portability
i might port it to the lunix and then make it an optional package ngl
im bored so i decided to make an actual build system 
least insane kvass related bug
dont call it that
im offended
(something broke again)
what the FRICK is stack smashing
oh
ok thats horrible what 😭
what broke
.
is my computer done cooked
then relaunch the program 
anti smash stacker 👍
stack smashing protector
everything as a file in linux is peak
peak keyboard code
ngl i wanna make a text editor
nano ripoff 
i need to pull out more eastern european foods and drinks now 😔
call it micro
the build system is literally called borscht
https://micro-editor.github.io/
already exists btw
uhhhh VODKA
fair enough
vodka should be the name of the init system
why
vodka is what gets ya going in the morning

ok so theres also kompot
its like juice except its evil
allegedly
maybe i should call the text editor that
no idea
also what if the editor was also a vi ripoff, but it was called v1, and to save a file you have to do sick combos with an arsenal of guns 
ULTRAtext 
holy crap i figured out how to do live resizing if the window size is changed
peak
posix is actually kinda fire
im implementing that on top of my os tho, enjoy non standard system calls MUAHAHAHAHAHAH 
also i think i mightve went the gnu route
make all the utilities first, then make the kernel (if thats ever even made) 
happens sometimes
kvass aint dead i just have brain damage
LETS GOOOOO
i need to steal this crap for gregloader ngl
wait its just gonna look like limine then

wait thats called an stdc though
i mean idk
does mlibc have posix functions?
my plan is to have a literal non unix but unix apps can be built and compiled
posix apps are portable enough anyways 
so i can still have my cursed drive structure 
port mac fdisk idk
most i need to do is a 100% ascii compliant terminal imo and port mlibc
100% ascii compliant terminal sounds fire ngl
Mlibc is very POSIX
i need to name my terminal emulator somehow
time to pull out the "ukrainian drink" card 
uzvar
im gonna go work on an mlibc port for powerpc linux for some reason
@vale vale ok so your script decided to not work, but i basically figured out what it did
musl doesnt wanna configure tho :/
gcc and binutils compiled fine
im thinking of retrying with glibc
no idea if that would work but whatever
m
long double 64 seems to be the most important one
since its complaining about floats
no way it only supports little endian powerpc
Use mlibc/linux ppc
theres no such a thing tho i was going to port that 
i want a working lunix first
i just realized i have like 3 projects now atm
the stupid mlibc port, my build system, and gregloader
i swear bro greg has had more of an actual existence than kvass itself 😭
ok so im gonna make an automatic horribly tiny linux from scratch builder tool later probably
Kvass development:
kvass is literally "holy crap this looks cool lemme do that" while not getting to work on the kernel at all
What is musl-mod
musl but with the patches you had applied
i didnt want to ruin the original source
the 1 and 2 files
anyways i built glibc fine tho
now bash is actively trying to kill itself (even after ive made a patch to fix this specific error)
i dont think i should patch gnu utilities at all and just put the blame on myself but whatever
whatever its getting a (void*) instead 
where's the "abandon hope all ye who enter here" in bash like in xterm
gnu is gonna get so much patches they're gonna block me for spam
so wait
DOES THIS RETURN A VOID OR AN INT
GNU
GNUUUUUUUUU
ok so it returns an int
gnu
let me tell you how much ive come to HATE you since i began to live
ok honestly gnu are fire but like what is this
LITERALLY WHAT IS THIS
an entire screen worth of errors on 8px font
i tried to compile it with gnu99
what 😭
fine idiot im going busybox
nevermind
Z SHELL 👍
i need to make a separate thread about the linux distro
this aint even kvass anymore 
i hate autoconf
or whatever its called
GNU AUTOTOOLS
WHAT
THERES GNU AUTOTOOLS AND AUTOCONF
😭
autofarts
they suck
gnu get your game up
you need literally the whole universe in your favor to build anything using autoconf
Check that they haven't been submitted already
fair
If a release fails, check a snapshot (or alpha.gnu.org) or a recent git commit. If it still fails, but with a different error, then keep going back in history until it fails with the same error
Basically bisecting it
true
Patch them
Gentoo supports ppc32(be?)
yes
hm
ok so im gonna download a version from their website instead of the latest git commit
(zsh)
i think the blame is on me here
both of them 100% exist
yehs

Please do bash or busybox instead
You can get self hosting easier that way
fair
lemme just solve the stupid header problem
What's the issue you're having with bash?
weird C code errors
lemme pull out bash again ima show you whatever error i get fist
Logs or it didn't happen
first*

