#Nullium
1 messages · Page 8 of 1
Isn't the format of flags/parameters up to the program to decide?
it's just that using a - is usually the most common way of doing it?
Or am I going insane 
Yeah
It is
okie thought so lol
Unless he makes his own programs then in that case he can do whatever fuckshit he wants
void fuckshit()
If you know you know
fuckshit
my os i do what i wanb 
GUESS WHAT ITS TIME FOR SLAB AND WHATEVER OTHER PARTIAL PAGE RESERVER ALLOCATORS 
MUAHAHAHAHAHAHAHAHAH
(i will hate this)
Do you have a fully functional vmm
errrr
what defines as a vmm
i can map addresses (on demand :0) (probably :0) (idk i might need to address page faults :0)
uhhhh
i can map a shit load of addresses??? (ok i might have to finish my vmm (idk what defines as a finished vmm) i cant just evade it)
?
What does that mean
is that what i need or do i need to do it in a fancy way
Preferably you should be able to create an address space of any side and expand it as needed
You need some sort of vm region
Struct
a
didnt you do like 1 gb of kernel and 3 gb of user?
tho user is demand-paged iirc
GLOBAL
oh god programs need their own
Yes…
Every process needs an address space T
This is usually done by giving each process a page table
just one?
ok reasonable
Yeah lol
Just create some sort of vm region struct
like start end and owner?
Why would you need an owner
how do i know who owns the address space
What is the “owner”
You need to be more specific
a task?
i became a ▁▁▁▁▁▁▁▁▁ shill (idk what to shill)

anyways i retire from shilling

WHY IS THIS "a stalemate"
I WOULDVE WON
istg chasing this stupid bot king around was a pain in the ass
bro does not want to fucking die
Me when my opponent plays the game
i wish he didnt
i hope he just died 
why did the round end with "a stalemate" here though
:'(
chess is evil
Chess!!!! 
Should've played Qc7# lol
or Re8#
or Qa8#
okay I'll stop now 
Use CCA 
awesome sauce 😎
i havent tried increasing the bot difficulty yet
i always end up in stalemates somehow
tfw the best multiplayer game has existed for a few thousand years
1200 is insane
idk im on 400
still tho 1200 seems insane
Well, it's not really 1200 since... it's a bot
but still pretty proud of myself lol
My actual rating on chess.com is 800 XD
still good
mine is 0 i havent done any actual multiplayer game
i tried on my school laptop during study hall but then somehow the period ended or smth
the king cant move but isnt in mate
L
Jkjk
I’m rated like 1700
And 1900 on lichess
My lichess is up to date I just haven’t played chess.com in a fat minute
oh
trapped him :/
revived windows 7 laptop
the cmos is dead and the battery is absolutely fucked
but like it works
dell latitude e6500
also pretend like i didnt test retro rocket basic on it some time ago 
the fan sounds like someone's breathing ngl
i forgot it had visual studio on it
or no wait
no i remember but i still forgot
my short term memory is beyond done for
THE LICENSE EXPIRED NOOOOOOOOOOOOOOOOOOOOOOOOO
nevermind it booted
its time to look at my shitty old c code
with the file being a c++ file i think i just didnt use the features
the wifi chip on this thing is so ass
i reactivated vs tho
directx house
deadass went from this to making an os
i have a mouth and i can scream
nullium on pentium 3?
i love laptops with the charging port on the back
idk why they're geniunuely peak
humanity finally found out what to reconstruct
anyways ima do vmm stuff (address spaces)
imagine windows 8 actually improved aero
make it even more beautiful
instead we got a fucking off brand ipad
they were going to just make it flat anyways
the beta versions have a flat aero
why didnt they at least keep flat aero it's like they deleted at least 2 years worth of their effort
apple's liquid glass somewhat brings back the idea of aero but it's still actual ass
the icons are still flat and corporate to shit
idk man
also there's ok progress on the vmm(?)
taskbar on the right is peak
not linux im just using a windows 7 laptop to type
win 7 is goat
real
does a vmm just handle address spaces or does it do more
ok i assume thats all it can do
github is privated im gonna move to codeberg for shits and giggles 
that was a serious statement not a rofl 
MUAHAHAHAHAHAHAHA
gitlab is cool too
true
also git works like ass and its questionable for a website called GIThub
- git commit
- #Please Enter Commit Message
- git push

github was ok until i deadass had to torture myself to push shit to repo
these fucking michael softs
ngl i want a vcs in nullium that can be set up on files so they can be restored to their previous version later
maybe like mac time machine
gnu nano my beloved
best terminal text editor
i started a vote on if i should port gnu freebsd or make my own coreutils
cool vote but ima make my own except nano
bash's gonna be ported later idk
i need to work on this morr
more
i need to think about that later and get my shit together first
You can do that with GitHub
locally
you can use git restore
Not only locally
nono i meant i want it locally
as in on the hard drive
it is time to lock in and finish moving nullium 
i might make separate repos for the kernel and like coreutils or smth
how do you guys do folders that are like other repos
git submodules I think? Or just add it to the get-deps script
yeah iirc thats what these are called
idrk how to make one tho ima search it up prob
i figured out how to do submodules
yiy
[message contained codeberg links, plan switched]
i need to change all the github text now
time to vmm
codeberg died
i cant push shit :(
these fucking Indie Programs working like Ass(TM) as Usual
i crashed out so i moved to gitlab
lemme unprivate everything
wait the repos are still private
pardon me for big stupid
damn
ok done
im now on gitlab™ hopefully for the rest of this stupid project's life
also it's a group so i dont have to post multiple repos
quite convenient
nevermind when i get home ima hopefully get address spaces
i set them up very weird probably
idk
discord is recommending me custom themes like i can afford to use them
scumbag behavior
ima finish my vmm then consider making a 64 bit version as well as a 32 bit one for the funnies
i want to put windows xp on my thinkpad but linux dont want to read my fat32 usb???
why the fuck does it have windows 98 on it
hopefully balena etcher works
nevermind it doesnt like windows images
why am i talking about windows xp here
i tried gnome disks but it formatted my usb as fucking ISO9660
can i boot it
no
i cant boot ikt
i will never leave windows even if i try to :(
apparently my windows 7 laptop can work for writing a usb so i think im still commiting a war crime against big tech
wimbows xp still die
THEY INSTALLED MICROSOFT EDGE ON MY WINDOWS 7 LAPTOP
IT'S ON AUTORUN TOO
microsoft i hope you burn in fucking hell
viva la linux
if i want chrome then id fucking use chrome
which i do because supermium is goated ngl
i slightly unfucked paging
my vmm is still a big stupid
my vmm is now working except it maps WAYYYY too much
it identity maps the whole fucking ram
this is goodn't
-# WHY CAN'T ENGLISH JUST USE N'T AT THE END
seriously why do we have to say shit like "i do not like this" instead of "i liken't this"
why framebuffer not in memory map
yay
i might get detention at school because i lost an id card
this is a vent where the FUCK am i getting 5 dollars to get a new one before i leave today
this is the dumbest fucking reason for that
assholes
vmm ok
anyways if im gonna be gone please know some admin thought itd be a good idea to put me into literal jail for 1 hour because i lost a 5 dollar piece of plastic

i never even get homework
wtf am i gonna do in detention
build a VMM implementation in your mind
connect to my linux machine with a neuralink
continue making nullium
im getting a new id
yay
i probably dont have detention anymore
also apparently its free
1 hour over a 0 dollar piece of plastic
'merica
AMERICA FUCK YEAH gun noises
detention is crazy
at least here in italy I've never seen anything like that
school could never force us to stay without our or the family permission
in ukraine itd be appalling too
like wtf this country ass
vmm fully ok?
heap ok?
heap what
kmalloc/kfree
do you have address spaces and regions in your vmm?
id say yes
ok yeah definetely
struct Region {
u64 start_addr;
u64 size;
RegionType type;
RegionFlags flags;
u64 physical_base;
Region* next;
Region* prev;
bool is_mapped;
};
no region pointers but Yes
start size and flags
you'll probably need the physical address too
oh
no i have that
because in userspace you'll start mapping physical memory to virtual address ranges you define, and you need a way to find the physical base again
(u32) physical start
(u32) virtual start
(u32) size
(u8 bitfield) flags
protected mode :/
good enough
no shit
virtual start is named user start tho
you probably want to work on the heap, then move on IRQs and implementing a timer
i have a timer already
pit?
yes the one and only
LAPIC timer supremacy
i have gdt, idt, timer, pmm and vmm
or HPET
ill change later
you'll probably need the PIT to calibrate the LAPIC timer
good
i have a pit already
just look at the PTE?
I prefer occupying just 8 more bytes in the region descriptor
anyways what am i supposed to do next now
that also makes it so your physical regions have to be contiguous
oh right
yeah PTE lookup better
???
anyways so heap and kmalloc and shits?
you reverse the page mapping process to retrieve the physical address from the virtual one
oh that
👍
had to remake popkernel repo
im quite stupid 
do i just map pages if i get a page fault
does the world end if i get a page fault
depends on what kind of region the page faulting address corresponds to and how you want to handle it
ok so i allocated a few pages and they're not mapped
i need to map them do i have to make a function for it or can i just do it at the page fault
what do you mean with „make a function“? Anyway, if you only do simple anonymous mem mappings right now, the page fault handler would allocate a page and zero it, then map it at the faulting page
make a function that maps the used chunk of memory
also yeah im doing simple anonymous memory stuff
what used chunk?
the one allocated by the pmm and then used by literally anything
you generally have some interface to map pages into an address space
i do
you allocate a new physical address
i already have one
and map it
do i just call it at the page fault
yes
it will run the faulting instruction again after returning from the page fault
so it will just access the newly mapped page
i have met triple fault
the destroyer of the kernels
anyways i allocated memory for big ass framebuffer
yay
i can use all of the pixels on my screen
wait no
terminal framebuffer btw
people who just post gifs when you complain ONE time need to just die
"ragebait"
we can't have any good in this world
except me setting up all the memory managers 
anyways i need to fix my vmm slightly again
how can vmm be THAT hard
that tracks
also it was fixed an hour (or more) ago and i just have dementia
wild
HOW
tomorrow preferrably
you will eventually suffer for not having a heap
i know
im pretty sure userspace programs have their own heaps
ok lemme just do kernel heap
👍❓
forgor
ergiolerfkjlewklfjwekl
yes they do but stuff in the kernel needs to use its own heap aswell
kernel need heap or no'nt (strpoke)
ok fair
kernel do need heap
what if i just port an existing implementation 
mk
VMM is... quite complicated
but a simple one ain't too hard
vmm's are relatively simple in theory but for me i was just tired of memory management
i have to do heaps now
Bruh
can i just do something fun idk program loading 
not even fun just something else
How does one do program loading without memory management 
you could just port an existing heap implementation
you can do a bump if you really want to do something else first
exactly
it is like the most complex subsystem in an os
i might be gaslighting myself 
not fun at all
it's a small hell
but ELF is documented pretty well so it's not that hard
the real problem is memory management in userspace
Program loading sounds fun lol
address spaces, processes, children, forking, COW, user stacks with guard pages, syscalls, I/O abstraction, file descriptors
yeah
oh
syscalls r the easiest
probably
apple's some dude's defense for macs having the most gatekept shutdown button is that "it's unnecessary as everything is gonna be defragmented and its gonna be faster in the morning" etc
idk i heard that somewhere
maybe some dude was bullshitting
what happens in that fucking sleep mode that it will fix everything
its just a standby mode
also i remembered another guy who claims he "worked at microsoft" and was "designing windows nt 4"
said something like "the start menu gradient on the left was like really hard to generate and it isnt just a bitmap" it's a bitmap
deadass it's a bitmap
it was extracted from explorer

what do you mean? like the macos shutdown procedure or what
the power button is painfully gatekept
they do NOT want you to shut down your pc
like ever
how
what how
like just press the button
yes
???
they kinda just heavily discourage you from shutting your mac down
you can still do it they just dont like it
they want you to use sleep mode
true
its heap time
faster in the morning? wtf?
yeah
"unfucks its internal structure and makes itself more stable" or sm bs
not even drive defrag its probably just fucking ram atp 😭
heap time
ok so im gonna triple boot nullium when i could on my old ass laptops
idk how can i multiboot windows 98, nt (2000 or xp) and this shit without going insane
chainloaders?
does limine run on the most ass potato?
can i put windows 98 and my os on the same partition (fat32)
most likely i can
idfk
is 2-4 gb enough
should be
i always give windows 98 like minimal hard drive space
or not minimal just not a lot
4 gb out of 30 gb
the rest goes to nt since thats what i actually use on these laptops
ima just make a separate partition if i do something funky with the hard drives eventually
and also so i can format it easily
maybe
i should be doing my heap bruh 😭
limone could run even on a fridge
limone the criminal mafioso, codename "fridge sprinter"
with more than 13 coordinated murders up his sleeve, the gang under his control has taken over the entirety of chicago 
i might get documentation for my thinkpad's audio output
how the fuck is it this documented
i found the schematic i think
it has a few other things i assume
wait no thats the wrong card
same brand tho
there's also internet documentation and such
the biggest problem might be the ati radeon card
the radeon 7500 i think
are there any info on really old radeon cards so i can save it for later anywhere
if yall know anything please tell me i want my radeon documentation
ok gpu's are evil actually i dont need them unless im using windows xp 
cope?
AC97 exists
standards my beloved
the card is compliant btw
does anyone else print a shit load of debug messages and then cut them all when you're done
like "ok this works no more debug stuff"
also kind reminder: DRINK WATER PLEASE
this applies to everyone
yes
nice
i have windows xp now
why is it so blue
the thinkpad screen is so jaded
im pretty sure lenovo posted the drivers for monitor
i mean the monitor palette files
ok it was in 16 bit color by default
color is still ass
i installed a monitor driver
time to reboot
after reboot the color is still slightly funny
its just the bliss wallpaper
it looks better than without the monitor driver tho
time to make my 4gb fat32 partition that will be fed to windows 98
im putting limone on it afterwards
:(
i have been unix'd
by instinct i just type ls
and i promptly get nuh uh'd
w98 up
windows should bring back "nicknames" and "names"
i mean the system thats used by unix
in unixes you have a display name and a user name
you log in through the username and all that stuff
yall know
idk i think windows should bring that back
it was always there its just you cant do it directly on user account setup
or whatever
yall can still do it by making a user with what you want to be your user name and then you just rename it and its your display name now
works on every windows that still has local accounts in it (windows is so fucked :c)
basically you show up as "John Potato" or whatever on the welcome screen but your user folder is "\Documents and Settings\potato_man\"
idk whyd one use that
its cool tho
idea for stupid limine bootloader install
install on a usb
steal the boot sector
put it on hard drive partition
copy the rest of the limine stuff
use
i blame mintsuki for this
and finally nullium has a practical use
it didnt work
what if they're watching me and know that anything i do wont work ever 
i fucking triple faulted
it is probably time to reinstall windows again
plz dont use limine on potatoes that cant even run 32 bit ubuntu
how am i supposed to even boot my os on my target system
chainload limine from grub4dos 
FIXED
Same thing happens to me
You gotta do it weird
On grub
I use grub anyways so
If you need help with fuckshit
void fuckshit();
didnt you move to limine or smth
oh ok fair
really because you cant install limine from windows xp
did mint expect everyone in the universe to use linux idfk
rip
i think you might be able to
there was a limine-deploy.exe at one point
and if it was compiled with mingw chances are it might just work
there is but it asks for gpt partition number
or smth
i cant provide it
What
idfk it def gives me something wrong
my framebuffer is at an address greater than the memory
The value returned for upper memory is maximally the address of the first upper memory hole minus 1 megabyte. It is not guaranteed to be this value.
what in the fuck
IT'S NOT GUARANTEED
????????????
WHAT
WHAT IS THE VALUE
WHAT IS IT SUPPOSED TO BE
WHAT IS THE GUARANTEED MEMORY VALUE
it returns it divided by /4???
gnu what the fuck
done i fixed this fucker
gnu kill yourself
i have to divide it by 1.3
no wait i have to divide the total memory
mem_Info.mem_total = ((meminfo->mem_lower + meminfo->mem_upper) * 1024) / 768; // GNU FUCKING KILL YOURSELF
just have this shit
it's in kilobytes
now you have to specify if nullium is booted from limine or not
Bruh
it's just the sum of the size of all memory regions above 1MB
if there's a big hole then the end address might be larger than the total size
in the memory map?
what
how do i get the actual amount of memory
just walk the memory map and sum the sizes?
also this is wrong
mem_upper seems to be a stupid value
it's the end address of a memory block whose starting address is below or at 1MB, and end address is after 1MB
it is
if there is more memory above with a hole inbetween, it's not accounted for
but there are holes in it
i cant use the entire memory?
get total amount of memory
so like if the memory map has holes in it that means that part of memory is straight up unusable?
no it means its just not reported in the mem_upper value
as i said, stop looking at it
fine
thanks for the info tho
i have a few complaints to whoever the fuck made this now tho
yeah
thats what i do
what most do i assume
Iterate through memory regions-> for each one add the size to total memory
What are these variable names bro
We got mem_total then mem_Info with a capital then meminfo with no capital or underscore
Keep your conventions consistent
I mean you don’t have to it just makes it look a bit less immature
ok yeah
i might need to rename everything 😭
its not consistent at all
maybe later idk
wha
pointer arithmetic isn't a reliable way to find memory sizes, especially when you're dealing with physical memory that has lots of holes
i didnt understand gnu's wording the code's removed
anyways im working on heap allocator now
me too
of course
framebuffer is MMIO, not RAM

yo ima try continue work tmrw
no wait
today
oops
anyways i set up a stupid thing because a thinkpad i have has the coolest pc keyboard in existence
i basically built a home server thing
some old ass laptop was sacrificed for that
i put an ssd on it tho
so it has an abnormal amount of storage for back then (like 500 gb)
my bloated ass win7 install with multiple VS versions takes 80 g its too much for that old hd
anyways i have a poo ass home server
idea
what if everything in nullium is displayed tables
like dir/ls has a column for "filename" "file extension" "date" "attributes"
package manager has like "name" "description" "version" "license" "size"
you can put a shit ton in a table

i set up a home servern't tho (its just an smb share)
i need to clone everything on there
also wobbly windows are funny
the ones in kde
dolphin is giving me 13000 different warnings on not fucking up my system in admin mode
this is my containment there are many others like it but this one is mine
anyways in my echo chamber i shall claim superiority over the universe as i installed limine 10 before that announcement came out
also i have to finish a school thing rq before i can do the nullium
OH MY WIFI SPEEDS
OH NOOOOOO
i need an ethernet switch
i need to connect multiple systems at once with a cable
Divine intervention
indeed
ok done i moved everything to home server
thing
YOOOOOOOOOOOOOOOOOOO
i restored the repos
i love waiting for YEARS and YEARS
a literal eternity
i need to get my shit together and make my cross compiler
okay so uh
didnt work at all today 😭
the big problem are that the speeds for compiling are slow due to uhh
WiFie
i should just connect my laptops with ethernet atp
cant tho im compiling binutils rn
A lot of people are reading but not responding
Also you haven’t been posting a lot of stuff about nullium so
Most people won’t reply to non OSdev stuff
true
yeah no i thought the thread got nuked because it ddnt appear in my followed threads
discord nuked it off there
It disappears if it's inactive
ik
ok for some reason nullium bugs out when i started it on qemu again
weird
why does it die at the IDT
no wait it seems to be dying at the pit init
some shit is VERY VERY wrong
idk what
the emulation is geniune ass for some reason
what used to work now just dies and burns
what if i just restart progress entirely
i forgot how absolutely incomprehensible my code is as well
BRUH
IT WAS THE FUCKING HOME SERVER
MICROSOFT >:C
nevermind
what the fuck
its geniunely dying
help
imma do a rewrite
maybe ima do power pc idk
yeah idk rewrite time probablyn't
finally i can be free from the gdt's
a rewrite a day keeps the happiness away :D
Nice os : >
PowerPC has its own stupid farts though
I could probably rewrite my os 1938292829 times and still not make a new thread for some reason
Is this project still going?
.
why are you doing this?
my discord a bit broken, sometimes scrolls to very top, only way to come down is a msg
Ah, my bad
I thought you did that to make it reappear in the channel list
That is what I meant by bumping

