#⌨coders-cave
1 messages · Page 17 of 1
select * in table messages where channel=522561390330904587
the number is the channel ID
oh shoot I forgot the rest of the bruh
delete from messages where channel=522561390330904587
Mods in this server are so shitty that a random passerby mod could ban me for something like "channel hack plot"
lmao
I hope a meteor strikes where the irl server for this server is located
I hope some admin gets hacked and their hacker deletes all channels overnight
If you can convince an admin to invite a bot I can legitimately do that
if their response time is fast enough they might kick the bot before real damage tho
Target the furry admin

Hello
I need help 😭
Nice to meet you
Calm down & vent about the server, outside of the server
And please, do not plan on hacking people, that will get you banned.
hey uh... can you invite my bot?
hha full cap just kidding
Help :ob:
stuck on it for 2 dayw
If I get that running I can start using C wich I can debug
Ask chat gpt
Have you tried
I bet this would be easier done in C
considering you are already out of the first sector why not write the second stage in C
this is the thing thats setting up to run c 💀
gcc-elf outputs larger than 512 bytes 😭
I gave up on that and im rewriting it entirely
though osdev wiki isnt really giving alot of useful information on ata pio, its jsut throwing information at me
bruh it is im just not reading it right
still taking a while to read it tho lmao
I just haved to get this working then I can write literally everything else in c!!!
how tf do I fix a drive fault @orchid frigate
I set LBA
im assuming that its lba28 (I haved to do something to change that, right?)
rewritten code that drive faults
im not doing anything different.. infact the example driver osdevwiki gives doesnt even setup lba, yet still uses it
its only like 100 lines longer
I cant even
find out why theres an error in the first place
this is fucking torture
2 hours having an error, not even knowing what kind of error it is
funny thing is im copy pasting stuff and those dont work either
followed every step here
im also software resetting before doing anything
I havent actually removed that should try removing that
still happens
HOLY SHIT
I JUST MADE IT NORMAL ERROR
NO DRIVE FUALT
mov dx, 0x1F2 ; select the "features" register
mov al, 0x01 ; allow LBA
out dx, al
mov dx, 0x1F7 ; select the "command/status" register
mov al, 0xEF ; send the "SET FEATURES" command
out dx, al``` THIS IS WHY ITS DRIVE FAULTING
THERE IS LITERALLY NOTHING WRONG WITH THAT!!!
wtf is dma
hold on
oh nice
Im gonna rewrite it for DMA
cuz I cant solve the drive fault thing
http://bos.asmhackers.net/docs/dma/docs/howto_dma.php.htm ive found the oldest website on the internet
The place to go for OS Development related research. IRC Chat, Forum, Tutorials, Documents, & Downloads.
lmao ```This register really shows how incompatible the 8237 is with the PC hardware.
Let's start with EXTW and COMP. These increase the speed of DMA transfer by 25% be removing one of the clock cycles. Does it work? No.
PRIO. When zeroed, this allows DMA priorities to be rotated allowing freedom and liberty for all peripherals that share the data bus. Does it work? No.
MMT and ADHE. Did you know that the IBM PC could do memory to memory transfers since 1981? That's right, hardware sprites, hardware frame buffering from one location to another. Does it work? No.
COND. Hooray the only bit in the control register that does something useful. Setting this bit disables the DMA controller.```
Used for memory to memory transfers and setting up priority rotation -- absolutely useless.
"Intermediate" Registers 0x0D and 0xDA (Read)
Never implemented on PCs. Useless.```
I love whoever tf made this article
Who tf ghost pinged me
You are in the second sector
You are in long mode
What else do you need
Also spending so much time writing this doesn't make sense considering you will definitely not be using your own bootloader in the future
Might as well just put the kernel somewhere in memory from the start and think about fs when you have already figured out everything else
Wait a fucking second are you reading the disk without bios
Thats insane
Especially before you even have a kernel
If you want to actually write kernel C which I know you do use multiboot 2 or limine
Setting up things is much easier and the bootloader can be written in C
And the entire bootloader will mainly consist of verifying the info structure and setting up long mode
bro I have no idea what order to do things im just trying to get the perfect environment for kernel
I should probably just read the entire kernel via bios tho
wait no if I can fit a working entry.asm into 212 bytes I can fit it in the bootloader
and I just found out dma cant read above 1 megabyte anyways lmao
WHOA WHAT
okay
Im having issues again
@orchid frigate I have it in my bootloader now doing bios functions
at the label "next" im trying to dynamically read sectors from my kernel, save them in a buffer, then eventually move it to where it should be
im skipping the first 44 bytes because the first 44 bytes is the kfs header
Why is this slowed down 😭
It's not bad you are doing this but
It's a bit too early
Your first and most important task should be getting the c kernel running in the easiest way possible
Disk IO without bios is insanely complicated compared to some of the other basic stuff even the kernel will do
And doing it later in C will make the process much easier because you will no longer get random triple faults but you will have the IDT to give you actually meaningful messages
And when you learn it well enough to do it in C you can just do the same in assembly in the bootloader even tho I still think it's better to let a real bootloader handle that for you
?
Math
I actually havent gotten a triple fault yet
Народ я на питоне писал кредитный калькулятор и застрял еще в начале короче я спрашиваю пользователя на какую сумму он хочет кредит от 50000 до 2000000 и если пользователь пишет чтото меньше или больше этих значений то надо чтобы программа не останавливалась а снова предоставлялась возможнось написать ответ так вот как это сделать?
Если через цикл то можете написать пример?
шчат аре ыоу саыинг?
How
Is that even possible
When I was making my bootloader i was getting a triple fault every other run
Yep that's a triple fault
You can check with the qemu logs if you are using qemu
lol
yeah how do I do that? when I try ot output as file nothing works
Double faults are a bit better because they at least give you an idea on what went wrong and don't just restart
Lemme check the exact arguments
-d cpu_reset -D "file"
I setup logging and it doesnt acrtually log anything
oh thx
there we go
doesnt really help me if even ip is 0 💀
That's the first CPU reseg
It always happens on every run
Idk why even if it doesn't triple fault it still happens
So don't worry about it
Idk but if you wanna get the full qemu experience++
You can also put all the stuff you send to serial to a file
-serial file:"file"
Very very useful for debugging
Ever since I found out about this I have almost never printed to the screen
为什么
这个 是很丑
🥶
bing qi ling
coems🤑🤑🤑🤑🤑
You’re more cringe than a cricket after a nuclear explosion watching Shrek 5 on a Friday afternoon.
Bro used all the keyboard word recommendations
Job is a little different from what you mean about it and it was ss to be the first thing to say about the new year old and the other imp
That's why I had to go to the point where I don't have to to help me a PowerPoint presentation
🥹🥹🥹
Was no problem jetzt I have to be at school today during PE and then we will have 😃👍
I got around to working on it again, my cpu triple faults trying to jump to the c code
I just did "jmp 0x7E00+64"
I changed it to read from the correct sector and now its failing 64 bytes in
Yep that far jump is the hardest part of the bootloader
It took me a while to get it to work
Check how you link your files together
And to understand the process better make a new dummy bootloader,get it to long mode and far jump from it
It will make it easier to understand
Koems
🤑
mov rax, 0x7E00
add rax, qword [rax+24]
jmp rax ; jump to the memory where entry.c is```
this should run it right?
instead of just hoping theres nothing inbetween the elf header and entry
now it triple faults when its in the mood
every like 3-4 seconds
hold on wtf it triple faulted while in 32 bit mode?
and here it is in 64 bit mode.. weird ahh
That's such a weird way to do that
surrealdb is so cool
like
you can have checks for data in the db itself
but kinda awful since the Dev doesn't give us documentation for communicating with the server
i think the devs are tryna make the client library themselves
Wait hold up I just realized
You are telling me the entire bootloader including stage 2
Is in the first sector?!
You didn't put stage 2 at 0x7e00
I put kernel
No
The bootloader is huge
It needs more than that space
Plus jumping to.kernel should be done differently
Using a linker
Linker?
And defining a extern label as the start
Yes
You link the C object file of the C file to the object file of the bootloaders
So you can jump to c functions via assembly and visa versa
Ok
And define a linker.ld
Check out the os dev wiki for more details
It's one of the first posts
Ok
I think C barebones
What
ballsaci
how can i give myself diamonds in minecraft? Someone help pls
Press alt+F4 to open a dev menu
From there just select diamonds
And type the amount you want to give yourself
Making a memory manager has been a very painful experience thus far
Because of how many things it does
It feels like it never ends
I finish doing something and realize that's one of the 1000 things it has to do
And I can't even test it until I fully finish it so the chance of it being plain wrong is huge
So I might have to write 8t multiple times
Oh my god it just never ends bro
oof 💀
imagine if qemu had like graphical debuggers that had all this fancy stuff
I have never used a debugger for my os
Idk I just never found it necessary
I always knew relatively where the error was
Plus qemu are lazy
Their website it shit
@quartz pumice tell me a random huge address
Like really huge
ok uh
840503039
above 4gig I think
0x32190EFF
yeah thats like the 12'th gigabyte
Lemme check if that will work
or not wtf?
Yea its not that huge
Considering I have addresses in my memory regions that are like 0x100_40_c000
0x178FE1765 ok
Ok this doesn't work
thats somewhere along the six gigabyte mark
0x138FE1765 ok
thats somewhere along the 5'th gigabyte
Oh wait I just realized I'm stupid
intel should get off their asses and make the mmu handle literally everything for us, with a single instruction of setup
So the address I asked you for was for where the kernel heap should be
But everything is already mapped so I don't have a choice
cant you do that dynamicaly?
It's the first heap so I don't have dynamic mm yet
That's to set up mm
Or dmm
I'm too lazy to type is out
memory to setup memory 😭
cant you put it below 1mb?
Like vectors
I can but that memory is a mess
I can show you the memory regions there
theres 480kb starting from 0x7E00
I dont get why you would need more than 480kb to setup dmm
oh that looks cool
Using stuff before 1m is kinda a bad practice I think
It's better to use the huge chunks of free memory after 1m
Hell no
It's hell there too just less chaotic
And with more free chunks
Random reserved regions for no reason
wow 💀
Also the kernel is randomly put in the middle of memory by the bootloader
It's not mine either so I don't have a choice
I will change it soon I just wanna deal with mm
As soon as I'm done with it I will be able to copy paste the code whenever I want so no more pain from memory 🥹
yay
Then comes acpi which is I think considered worse
So don't get too excited to get to the kernel it's not gonna become more fun from there
acpi dma
need to organize everything into pages tho
and some drives dont support acpi so you haved to do that too
and then theres NVMe which you haved to add support for because it will be the standard in a few years
oh my god
what tf is a device driver?
Wdym organize everything into pages
The entire memory is already mapped
That's something you learn in like
8th grade
It's a program which allows a certain device to work
For instance simply plugging a mouse into a PC doesn't mean it will work
In fact it won't do shit
You need a driver for the mouse and usually a USB driver which handles USBs
thnx dakata
how does something work once its plugged in?
does my mouse come with a driver that installs itself
it happens without internet so 
It's very complicated
And varies from device to device
But basically it does work
It sends info to the cpu
However the purpose of the driver is to make sense of that information
And actually translate it to something useful
And no it doesn't come with the device
Its fundamentally impossible for it to come with the device for a multitude of reasons
But basically each os interprets the info differently so it needs to make its own drivers
And the driver is already in the os if the os has it
That's why os development is so difficult you need to write drivers for everything
And GPUs make things even worse because each and every GPU model requeres its own driver
These drivers however usually do come from the manufacturer
However they work in very specific conditions that are usually specifically made for the big os companies like Microsoft with windows and Linux
i think the mouse driver is built into windows
That's only because it's standardized
Windows hased to download every other driver (except a keyboard driver, also standardized)
well yeahh drivers for the common shit
remember me
69 megabytes
i noticed that
but i didnt send a message
what if i did
then i realized
someone will point it out anyways
so after typing 69
i pressed backspace 2 times
and went on alt tab to return to ida pro
then after 2 hours i returned
booted up my pc and opened discord
and to my surprise someone replied with 69
i was flabbergasted, my face was in total shock
why ask that here?
Never
applesauce
Why not all of amp
What is this place
Idk nerd palace
console.log("Give me your money beetch")
its in python 🤮
but
if you need code that is very easy to criticize (because it sucks)
here's a github account full of shit repos
All of them except the latest one are old
And it's not like you understand them anyway stooooopid
How does the return statement work in lua or python
it just returns a value as far as i know in a function
whatever variable you called the function into, the variable that will contain that value
i might be wrong in my explanation tho
Ends the function, makes the function call equal to whatever was returned.
you probably copy pastad half of them
like any other language
return a value from a function
idk maybe learn the fundamental first kiddos like i did the hard way
🤓
man i love python dynamic typing
(this was sarcasm if you don't get it)
Nah all of it is mine
That's why in hexaos the design is so shit
I didn't quite understand C code design yet
The only copy pasted code is the port IOs but I don't really have a choice there because of how specific ports are
And in the latest one I just switch to the x86_64 crate for ports so it's not copy pasted there either
I can try to clean it up
ive known C for a few years and read the google specifications on how to write code.. forgot its name it was more a guide on what looked good and what didnt
the only commits on the github are from 8 months ago though
The whole design is bad
You would need to rewrite alot of the code
Feel free to but I wouldn't do it
Tf
👻
Re install driver then
Very low
Like that's a very random thing to be corrupted
Wait wtf is an AMD driver?
Amd is a processor architecture or whatever
That doesn't have a driver i don't think
Ooooh
A graphics driver
Pretty good tbh you should reinstall it
Or at the very least it could be outdated which would also give your PC a hard time
It's a company bro
amd64 is another name for x86_64
Zero difference
It was called amd because AMD made the first 32 bit CPU (?)
J'espère que vos mamans se sentent bien
@orchid frigate I have the wildest idea
so Im gonna
while my bootloader is in 32 bit mode
ill switch it to unreal mode
then use that to load kernel
then go to 64 bit mode
AND RUN THE KERNEL!!
I don't think its a driver tho tbh
its something in side the
Windows/xxxxx/Amd64/
@orchid frigate
I had the same idea
Realised switching modes from a higher bit to a lower bit is the most insane things possible
Like it's stupid stupid and not documented almost anywhere
And decided to try another way
There is always a better way than to switch modes
Always
You might say that when attempting that, you may have
I have never heard of that folder
But now you got me curious
I'll let y'alls imaginations finish the pun for you
Oh wait unreal mode
Oh even worse
It's even less documented
Some version of windows switched to it
well its something about my cpu
apparently one of the file got corrupted
And caused a huge os vulnerability because of it
im too lazy to open my lsptop
to unreal from 32 bit?
or is unreal just 16 bit but with 32 bit addressing
How tf did that happen
Is the os even running
It's 32 bit simulating 16 bit
I think
It's some weird shit like that but everyone agrees it sucks
and im missing KB2999226
meaning i can't install visual studio 2015
meaning no crt
but to install vs 2015
i need kb2999226
So you have some random ass file corrupted that is apparently a system file
ye
And this file manages updates?
ni
no
its nothing serious i don't see any changes to my os
but sure is the IT support fricked my mom's laptop
they changed everything
even deleted folders
my folders
and my mom's
its my mom's school IT
damn, hes got my vote
Trait editor
How do people stack traits?
TURKISH ELECTION IN PROGRESS
we know
rooting for salt bae
He will win, fr
0 is not real

lol
I hate sizeof so as the massive Chad I am I allocate what size I want to check on the stack and minus the virtual locations from eachother
Does anybody know how to update a mod on steam? I'm looking at my mod but I cant see where i would upload files to update it?
not on wrldbox
Mods are not in the Steam workshop
Oh nvm
@orchid frigate if one is in long mode, do you haved to modify the segment register before jumping to a different segment?
Did you just switch to long mode
Or are you officially in long mode
The qemu debug stuff is in 64 bit registers so idk
Ohh so you only have to do it when jumping to long mode? Segment registers are irrelevant after that?
Yes
Mostly
Unless you are changing modes again
There may be other special circumstances when you have to change them but you shouldn't have to foe a while
got banned but not deleted 💀
hmm perhaps i shall find your exact location 
Hoal
@quartz pumice did you finish the bootloader
Nope
I only added like a single instruction this entire week to it
Imma ask bjng the same question
Bing
For the first one it didnot do a search, second one brought some website sources
any programmers here that wants to hear some questions?
Html script yes
Bruh they removed langauge selector
Might as well delete all those unnecessary channels now
@orchid frigate I narrowed what wasnt working down to this x86asm mov rax, 256 ; to read 256 words = 1 sector xor bx, bx mov bl, cl ; read CL sectors mul bx mov rcx, rax ; RCX is counter for INSW mov rdx, 0x1F0 ; Data port, in and out rep insw ; in to [RDI]
What exactly wasn't working
Triple fault normal fault
Also why are you still trying to read sectors in long mode
Read the sectors you need in real mode via bios then move the rest of your bootloader to after 0x7e00 and you get unlimited space for the rest of it
Move to long mode and start coding in C
From there you can do all the extra stuff like better hard drive IO paging and whatever
Plus you still have access to BIOS because you haven't used a third party bootloader so you can get all the bios info and use it in the kernel
Don't underestimate just how useful Bios functions are
low level programmer moment
I tested out the new markdown discord has
just really basic things
they basically brought lists and headers
nothing actually interesting
They didn't even bring these
these would've been nice
Fr

@orchid frigate
my laptop charger has committed die
probably a sudden high voltage
it also made my house blacked out
twice
damnnnn
super useful for bots
Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.
damn its blocked in this server 
- list
this works
how you do that list hamza
~ a
oh wait what
how did i do it 
- a
oh yeah - a
- a
. o
Want to inject some flavor into your everyday text chat? You're in luck! Discord uses Markdown, a simple plain text formatting system that'll help you make your sentences stand out. Here's how to d...
or * a
- a
- b
- c
- a
- b
- c
- a
- b
- c
you can only indent once i guess
Jbbn
wtf this that?
Headers can be used for spam way too easily so we made it admin only
I can allow you in sb channels tho
Well maybe when sb 2 comes out
What the hell is markdown
discord turned it off 2 weeks ago
What is a group _id for an actor trait?
Also what is the difference between can be given and inherit?
Where do I learn these?
maxim got his new username 😔
HHHHHMMMMM...........
We all know it was the right emote
wait hold on this works?
I thought it only worked if the parameters were different..
I wonder what it will return
it returns the latest one thats declared
VS CODEEEE
I like coming here and being reminded how basic a high school gcse computing course is compared to the real deal
i made a new gimkit map and i need help play testing it DM me if interested
what's a gimkit
Maxim when Minim walks in
First step is to stop relying on docs so much
They are old complicated and contain alot of useless info
Let docs be the last option
İn the meantime look at the os dev wiki
Or other forums
That means I should be getting mine soon
Or he got in front of line because verified server ownership
And I'm gonna need to wait a long time
Either one is possible
not really your account is 2017 and you have nitro
i'd say you are gonna get it in the next couple of days
My name is for sure gonna be taken tho
Jupe is way too common of a username
For Finns atleast
chatgpt
youre welcome
ive been reading docs for an hour and have done absolutely nothing useful
Told you
İf you truly hit bedrock
Aşk chatgpt
İt knows quite alot about OSs
İt can even give you example drivers
And even write filesystems and bootloaders
Very simple of course but it should give you an idea of what you ask
@orchid frigate I was being insanely dumb earlier, just randomly messing around and doing things- I snapped out of it and got a hello world
Kernel hello world?
Or still bootloader
Also now is time for full fledged VGA drivers
Few tips
- Use ports to move the cursor
- Don't spend too much time on them
200 lines maz
Hello
You will end up changing to vesa at some point so there is no point in going overboard
İ 👀👀👀👀👀👀👀👀
You though you could enter this channel without atleast 20k hours in vscode huh
What is that i bro
İ
TIRKISH KEYBOARD????!?!?!
ÖMĞ
Heres my knowledge:
Use python + chatGPT
İdk a friend added me a Turkish keyboard and the two merged
So now İ have English Turkish keyboard
The only words İ know are saaluk mudluluk i vaala
Does that sound like 20k hours in vscode plus 1k hours in all main languages to you
That's the minimum for joining this channel
Or 500 dollars
Who are you to gatekeep this channel
Dakata
I own this channel
İt's my username
Who owns you
İm so wealthy
İ bought myself
So i own myself
The banks say I'm crazy because I'm 20bil in debt
But İ say they don't understand my sigma grindset hustle
What work
Its python stuff are sure you wanna see it
Okay well that requires me opening discord on my browser
On my laptop
So u gotta wait
You have 3.52 minutes
Why dud they change discord
url = "https://folioscope.co/blank/" + str(id_)
soup = BeautifulSoup(requests.get(url).content, "html.parser")
username = soup.select_one(".username") or ""
if username:
username = username.text
userid = soup.select_one("#gif.borders") or ""
if userid:
userid = requests.get(str(soup.img["src"]))
userid = userid.text.split("<dc:publisher>")[0][-68:-32]
#userid = userid.text.split("</rdf:li><rdf:li>")[1][0:36]
return url, id_, username, userid
Data = []
Dic = {}
if __name__ == "__main__":
with Pool() as pool:
for url, id_, username, userid in pool.imap_unordered(
get_data, range(2228344, 2233230)#2092004(2066225,2066230)#(1778018,1778118)#1795484) #2040740)#(2081160,2081260) #2091890)
):
if username:
Data.append(url), Data.append(username), Data.append(userid)
Dic[username] = userid
#print(url)
def data():
for i in range(0,len(Data),3):
#print (Data[i], end= "\n")
print (Data[i+1], end= "\n")
print (Data[i+2], end= "\n")
def alts():
flipped = {}
for key, value in Dic.items():
if value not in flipped:
flipped[value] = [key]
else:
flipped[value].append(key)
#print(flipped)
disclaimer = ("new users (no id yet assigned):" + str(flipped["te><xmp:CreatorTool>1Button Foliosco"]))
del flipped["te><xmp:CreatorTool>1Button Foliosco"]
for i in range(len(list(flipped.values()))):
if len(list(flipped.values())[i]) > 1:
print((list(flipped.values())[i]))
file = open("dad.txt", "w")
a = repr(Dic)
file.write(a)
file.close()
def Merge(dic1, dic2):
res = dic1 | dic2
return res```
its a python library for parsing urls or something like that
what this does is
there is this site called folioscope
actually its an app but this is the site for it
this code goes through a number of post ids, checking posts and getting their data
and it takes the user id thats stored inside the headings of the gifs
then it matches those ids with the usernames it was taken from
when the script ends it shows me which accounts are connected alt accounts (by matching usernames with the same ids)
what do you think
of course this is literally not allowed and the developers of this app wouldnt like this
so i dont run this script anymore
less often at least
I'm thinking about apples rn
But the code is also good
İ don't know python or internet stuff but seems good
why would anyone code if not for web stuff
Which apples are you favorite
red
İ personally like green sour apples
ew
Bruh
You just insulted me
Even more now
Web coding is shit
games and web are only cool reasons to code
İt's so industrialized there is a library for every possible thing you can do
the rest is... just use ur brain
OSs are not important?
Graphics apis?
What do you games run on
Oh right game engines
graphic? sorry thats nsfw
İ have made those too
i count game engines as games
Nah you shouldn't
They are a completely different branch
A game engine is almost always bigger than the game itself
makes sense
İt has to handle all the other inside systems like the physics engine and the graphics engine
whats ur fav game engine then
İ used to do unity
unreal engine?
İ go pissed off because it was too simple and everything was already made for me
mine is unreal engine but not cuz i can use it or anything
Switched to making my own engine using a graphics api
and
İdk
did u make a game with it
İ didn't get to anywhere
bruh
But at least İ know how it worked
nerd nerd nerd nerd nerd nered enre denre rne renr enr enre nre rne
Define nerd

Damn you joining too
İ forgot how discord worked that people can just enter chats
For a second İ thought İ was in dms
dude will you explain how you got that uppercase İ
Turkish keyboard
its a turkish letter
İt's Turkish and English into one keyboard
A friend just added the Turkish keyboard and they merged
İdk
qwertghjköç
So they merged
no
Yea
no its just the turkish keyboard
No
there is no merge
wow thats so dumb
its litteralyy just a turkish keyboard
its like merging AB with B and getting AB and calling it merging
Adding 0 to 1 counts as merging
Even tho you get the same thing
So İ was correct
And you were wrong
🥱
cereal it is
Goddamn İ just opened vscode and İ have 453 errors already
nerd gaming
I'm gonna send you to the shadow realm
İ give up on dynamic memory management
Mm sucks İ hate it
İt's awful and rust makes it more difficult because of how safe it is
Time for acpi
In C, you hack compiler
In rust, compiler hack you
Fr İ can't do anything with pointers without rust complaining
Acpi seems chill for now İ just gotta find structures in memory
And chatgpt is mad useful
yea already found a problem
the exact memory region where the rsdp should reside isnt mapped
its the only unmapped region I can find aswell
nvm the bootloader I use specifically gives it to me
nvm Im forced to use an old version of the bootloader that doesnt provide it
I hate this
ah fuck it im starting from scratch
with C this time
and no bootloader because figuring out where everything is is more complicated than doing it myself
poop
🤓
Yes
Anyone here know ue4
İf so provide some good sources for learning
And also İ want to rely on c++ only so no blueprints
But İ hate unity
İ hate game engines in general
İ might just relearn opengl tbh
Atleast İ don't have to deal with overly complicated UI
thats worse
now try making it work both 2d and 3d, do networking with it
its worse than just learning existing engines
Oh hell nah İ ain't doing 3d with it
That would be a nightmare
İ will probably try but never actually do it
Also idc about networking
İ just wanna learn the concepts of game development not do anything with them
Also İ want to code something but i don't want to make a bootloader because it's hard and İ ran into a stupid problem
Unity is honestly great after you get used to the UI
it takes a couple of months but it's well worth it and makes unity actually quite enjoyable to use
and you need to read a lot and watch lots of guides because its easy to fuck up
not really just
just never do a string comparison inside an Update() function
and make sure your Update function has less than 10 lines
İ know the basics
And İ know the UI
But İ don't like working with it
Also İ have to learn unity c# which is nah
I'm good
İf İ gotta learn something like this it might as well be a graphics library
c# is not that far from c++
tbh
like uh
dynamic object = new { Name = "Gaming", ThisIsADynamicObjectSoWePutThings = 23 };

dont ever do that
again
please
why bro, just why?
I dont hate oop, I kinda like it for its simplicity
but everything about it is just done wrong
like every object has its own things and all that when it can be CALCULATED STATICALLY
bruh it just makes me mad at that point
the way they do OOP now is extremely wasteful
just look at java lol
mov rdi, 7E00h ; where the ELF header is
mov rax, qword [rdi+0x18] ; get the offset from ELF header of the entry point
add rax, rdi ; add the offset to the memory location
add rax, 64 ; skip the ELF header
jmp rax``` elf 64 bit quick loader
Oh god you are making an elf loader in assembly
Why do you inflict so much pain on yourself
Just switch to c already
Do it the simple way you are probably going to end up changing bootloaders at some point anyway
Also you may wanna look into UEFI
Bios is cool but UEFI is even cooler
Also look at limine
They are all interesting ways to boot that don't rely on you making your own bootloader because that's pain and suffering and without a memory map pre made for you you will realize why
this loads the C thing, plus its 5 instructions
I read through alot of the wiki, its easy to make your own memory map you just haved to know where to look
I want to setup uefi but its so fucking scary (osdev wiki explains it horribly)
ill switch to uefi later like you said I would end up doing
and it seems like UEFI was made so you could create bare metal programs, with the side benefit of being able to bootload operating systems - but its still confusing
in reality its high level proggraming when I wanted to escape to bare metal
bare metal = comforting
no workarounds
no hacks
NOOOOOOOOOOOOOO
ill try this https://github.com/LongSoft/UEFITool
I installed uefitool but it wont owrk
oh there we go it was just caps sensitive
Put the kernel in memory to begin with
And put it as a bin file instead
Don't waste time on something you won't even finish and you will switch to another bootloader anyway
Make the elf thing in UEFI as UEFI allows for disk IO with it's own drivers
And it has its own filesystem
Aleo consider limine
İt's amazing
İt's like multiboot but better
Does anyone know how to make a game
I have a degree in game development
not a useful degree ngl but I still do have it
Ĵ
Ok
FINALLY WORKING DOCS FOR BUILDING EDK2 https://github.com/tianocore/tianocore.github.io/wiki/UDK2018-How-to-Build#how-to-build-linux-like-system
its overly detailed.. These build instructions are copy pastable..
@orchid frigate I found a uefi cross compiler builder script for gcc```bash
sudo apt-get update
sudo apt-get install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo
mkdir ~/cross-gcc
cd ~/cross-gcc
wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
tar xf gcc-11.2.0.tar.gz
cd gcc-11.2.0
contrib/download_prerequisites
mkdir build
cd build
../configure --target=x86_64-w64-mingw32 --prefix=/usr/local/crossgcc/x86_64-w64-mingw32 --enable-threads=win32 --disable-nls --disable-shared --disable-multilib --with-system-zlib --enable-languages=c,c++
make -j4
make install -j4```
it tells make to make in threads also, so the build logs scroll by at quadruple the speed
Hey gang
It's me again, little baby coder man who barley knows python
My phone just got bricked so I needed a new one
And it's all thanks to dwarves
My boot logs were lost so I got stuck in a boot loop whenever my phone turns off
Wouldn't you know it I discovered this when a group of dwarves decided to make a new village, and the game crashed
Now the entire world has been deleted along with all my other worlds, so thanks dwarves
You ended the known universe
@orchid frigate do I need to do anything extra (except get headers, dll's, shit) to get a gcc cross compiler gcc-x86_64-w64-mingw32 to make uefi?
sudo
Honestly i don't remember
Lemme check something
Yes many things
İ could list them but it would take too long plus I'm sure you have already read UEFI bare bones countless times
İf you haven't read it
Also there are a couple of UEFI bare bones İ think and the thing is
They all do this differently
Some of them work
Others dont
İdk how that works
The one that İ remember working was this
UEFI App Bare Bones - OSDev Wiki https://wiki.osdev.org/UEFI_App_Bare_Bones
And make a fat image
İt's the easiest option and best in the long run
You could also do iso but İ don't really like iso so idk your choice
Wait this is the wrong bare bones uhhh
UEFI - OSDev Wiki https://wiki.osdev.org/UEFI
This is the right onr
İt's much fuller and it provides all the code with explantations
Ñ
Ğ
кто руский
Я
Hamza educate me. Why would I want to rethrow an error? I'm genuinely interested to know
Log it then let the app crash
some critical errors are too critical for the app to keep running
Ohhhhh actually smart
so you would catch them log them then rethrow
and in C# you just have to type throw inside the catch statement and it will automatically rethrow the same exception that was caught
try {
// Do Something
}
catch(Exception ex) {
// Log
throw;
}
Also explains why I've never seen it in any codebases as most of them have been at work and use azure applicationinsights which logs everything regardless
yeah its one way of doing things
@gray elk
Have been trying unity for a while now and the more İ do it
He more İ realize this shit isn't for me
İt feels so different from everything else İ have done that it almost feels like learning coding for the first time again
And there are waaay too many things to keep track of and there isn't a clear indication what you have to do just a lot options and menus and components which you gotta learn
I'm sticking to low level this is just too much
But like that's the best part of Unity
So many possibilities and you can try changing any setting and seeing live what it does
It just takes a lot of time and tinkering to get good at it
As there's just so many things
Relatable
Going from where you'd be lucky for standard library to help, to most things being done for you is fucking hard
I guess people who started on unity think the same thing
there should be a game engine designed to make the transition between normal programming to using game engines easy while providing the major benifits of a normal game engine
they would get tons of recommendation and traffic just by being a tool that is good for easing into a large industry
So essentially an easy to learn game engine?
essentially, yeah
Roblox and godot are good places to start