klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
<zid> face
<zid> (I am the clear winner here)
<heat> no, de_mirage >>
slidercrank has joined #osdev
<zid> 1.6 but on face
<zid> in quake3
<zid> dm1.6_face
<zid> https://assetsio.reedpopcdn.com/facing-worlds-unreal-tournament-3.jpg face does look kinda like a quake3 level tbh
<heat> geist, ah okay so a "null pointer constant" can either be an int rvalue constexpr that evaluates to 0 (i.e #define NULL (1 - 1)) or a std::nullptr_t
<geist> i guess so, yeah. dunno if C++ more strictly defines it
<heat> yes, this is the C++ definition
<heat> actually GCC doesn't seem to accept 1 - 1, so maybe it's literally just "0" as an expression
<geist> hm, maybe 1-1 implies it's an integer
<geist> but 0 itself doesn't yet have a type?
<geist> what happens if you do something like 0UL or whatnot
<heat> just works
<heat> also fun fact: C++ posix:: is reserved to POSIX
<heat> "An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant."
<heat> maybe a constant expression in this definition is literally just a constant
<heat> (straight from ISO C, C++ doesn't seem to define this explicitly)
<zid> C<=23 doesn't have a concept of const expressions really
<zid> Just some handwaving that compilers can decide to do some math to figure out if an array dec is valid or not
<zid> int a[17*4+2]; or whatever is compiler defined if it compiles
<moon-child> I'm pretty sure it has a pretty expansive list of things that are guaranteed to be constants
<moon-child> including 17*4+2
<moon-child> though compilers are allowed to add on their own extras, yes
nyah has quit [Quit: leaving]
Matt|home has quit [Quit: Leaving]
[itchyjunk] has quit [Ping timeout: 250 seconds]
[itchyjunk] has joined #osdev
slidercrank has quit [Ping timeout: 268 seconds]
vin has joined #osdev
averymt has joined #osdev
elastic_dog has quit [Remote host closed the connection]
elastic_dog has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
CapEnt has quit [Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/]
[itchyjunk] has quit [Read error: Connection reset by peer]
heat has quit [Ping timeout: 256 seconds]
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
benwaffle has joined #osdev
<benwaffle> Hi everyone. I've switched from Bare Bones x86 tutorial to using the Limine bootloader, but now I can't write text on the screen at 0xB8000. Anyone know why this happens or how to debug this?
<Mutabah> It depends on how limine is booted, or how it reconfigures the system.
<Mutabah> I believe it supports booting into a paged environment, so you need to account for that...
<Mutabah> and if it's an EFI app, then the legacy VGA interface will likely not exist
<benwaffle> I didn't request 5-level paging, not sure if it does anything by default though. It does load my kernel into the higher half, and long mode I think. I'm not booting via EFI, using legacy BIOS (qemu default).
<Mutabah> Have you mapped the VGA text area such that you can write to it properly?
<benwaffle> no, how would I do that?
<Mutabah> Since you've enabled paging (by asking for a higher-half load), you now need to deal with paging.
<benwaffle> So I need limine to map 0xB8000 into some virtual address?
<Mutabah> Or, you need to write code that edits the page tables to do that mapping
<benwaffle> ok, let me read the paging wiki page
osmten has joined #osdev
<dh`> realistically you want to map the whole ISA hole or probably the whole low 1M
<zid> disregard memory below 1MB it doesn't exist
<zid> what are we, DOS
gog has quit [Ping timeout: 256 seconds]
<sham1> You can't disregard it since you need it to boot your APs
<zid> Disregard.
<benwaffle> I think limine is setting the VBE to a graphical mode, I'd need to set it back to text mode, right?
<zid> if it's graphical mode you would do yes
<zid> might wanna just use the vbe, and log to serial instead of text mode console
<zid> serial is like 4 outs to set up
<benwaffle> good idea
<sham1> Here's a nickel kid, go buy yourself a font renderer
<benwaffle> Not sure it's even worth getting all this set up on BIOS, I should switch to UEFI
<Mutabah> serial debugging and a graphical terminal are good ideas
<Mutabah> You can fit a LOT more text on a graphical terminal (even at VGA resolution)
<benwaffle> graphical terminal = render text myself to a framebuffer?
<Mutabah> (640x480 w/ 8x16 characters is 80x30, while legacy text mode is 80x25)
<Mutabah> Yep.
<zid> you're not using the bios either way if you're using lumines
<Mutabah> Bitmap fonts are pretty easy
bgs has joined #osdev
<sham1> 8x8 font glyphs fit snuggly to a uint64_t
<Mutabah> That they do, although they're a little small
<sham1> True
<zid> lea rdi, [vbe]; mov rcx, char; mov rax, [rsi+rcx*8]; mov byte [rdi+0], al; shr rax, 8; mov byte [rdi+160], al; ...
<zid> should work okay I guess
<zid> oh wait nobody actually has that video mode do they :p
warlock has joined #osdev
goliath has joined #osdev
lav has quit [Ping timeout: 250 seconds]
sinvet has joined #osdev
lav has joined #osdev
bgs has quit [Remote host closed the connection]
awita has joined #osdev
osmten has quit [Ping timeout: 245 seconds]
nyah has joined #osdev
jjuran has quit [Ping timeout: 264 seconds]
jjuran has joined #osdev
jjuran has quit [Remote host closed the connection]
jjuran has joined #osdev
<klange> Limine's titular boot protocol does not support handing control to the booted OS with VGA text mode.
<klange> It supports it for mb1, mb2, and Linux boot protocols. For mb2 I even contributed support for forcing it; previously it would only do it as a fallback. And, in all those cases, of course, it only supports them under BIOS.
slidercrank has joined #osdev
<klange> There is/was a built-in framebuffer console that acted as a sort of runtime service, but it's deprecated - anyone using it I think was recommended to grab the library that implements it and embed it in their kernel.
Burgundy has joined #osdev
GeDaMo has joined #osdev
Brain__ has joined #osdev
<ddevault> I spent three miserable days getting an EFI stub to work with Hare on aarch64
<ddevault> I got a reasonably pleasant EFI environment working in C using mingw in like 10 minutes
elastic_dog has quit [Read error: Connection reset by peer]
elastic_dog has joined #osdev
<ddevault> (for x86_64)
<ddevault> anyone know of any tools ala readelf to poke at PE/COFF objects
awita has quit [Ping timeout: 250 seconds]
<ddevault> ah objcopy for mingw does reasonably okay
pkal has left #osdev [Killed buffer]
awita has joined #osdev
gog has joined #osdev
bauen1 has quit [Ping timeout: 248 seconds]
<Ermine> Why mingw and not clang?
<Ermine> And, I guess, now helios can be booted as EFI application?
<ddevault> not exactly
<ddevault> mingw because I'm using GNU toolchain for everything else, e.g. binutils
<ddevault> helios has its own little boot protocol
<ddevault> there is an EFI bootloader for aarch64 written in Hare, and a multiboot bootloader for x86_64 also written in Hare
<ddevault> but Hare for x86_64 does not support PIC, so I'm now working on a new EFI bootloader for x86_64 in C
<ddevault> (not in the mood to implement PIC for the x86_64 backend)
<ddevault> helios itself is just an ELF binary whose entry point accepts a pointer to some environment details in the first ABI register, i.e. is not bullshit like every other boot protocol
<Ermine> Ah, now I see, thank you for explanation!
<ddevault> np
<ddevault> new bootloader https://git.sr.ht/~sircmpwn/hboot
<bslsk05> ​git.sr.ht: ~sircmpwn/hboot - Helios EFI bootloader for x86_64 - sourcehut git
awita has quit [Ping timeout: 268 seconds]
awita has joined #osdev
<gog> hi
DanDan has quit [Ping timeout: 260 seconds]
bauen1 has joined #osdev
awita has quit [Ping timeout: 240 seconds]
pmaz has joined #osdev
Left_Turn has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
bauen1 has joined #osdev
pmaz has quit [Ping timeout: 260 seconds]
osmten has joined #osdev
awita has joined #osdev
Brnocrist has quit [Ping timeout: 246 seconds]
osmten has quit [Ping timeout: 245 seconds]
* sham1 yawns
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
osmten has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
d5k has joined #osdev
d5k has quit [Client Quit]
<gog> i might be a competent developer
<bnchs> i may not be
Brnocrist has joined #osdev
<nikolar> good for you gog
<gog> i needed to intercept a cookie value for a few different pages and i didn't want to modify each action
<nikolar> and not good for you bnchs
Brnocrist has quit [Read error: Connection reset by peer]
<gog> so i found out that action filters stay in scope until the method is done
osmten has quit [Quit: Client closed]
<gog> you can keep a property in them
<gog> so now i just use the filter on all the actions that need to intercept the value
<gog> no modifying the action code at all
<gog> this is something we could make much better use of, especially with our edge caching
osmten has joined #osdev
<gog> but this is #osdev not #aspnetcore
<nikolar> lol ture
<nikolar> true
<nikolar> but that's neat
<gog> the question is whether my boss is going to like it or not
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<nikolar> ¯\_(ツ)_/¯
Ali_A has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
goliath has quit [Remote host closed the connection]
goliath has joined #osdev
osmten has quit [Quit: Client closed]
Ali_A has quit [Quit: Client closed]
Brnocrist has quit [Read error: Connection reset by peer]
heat has joined #osdev
<heat> gog, haf u tried nodejs
Brnocrist has joined #osdev
<heat> its like aspnet but javascript and open source!!!1111!!!!111!!!!111
Brnocrist has quit [Read error: Connection reset by peer]
<sham1> Except for the aspect where they are not similar, which is most of them
Brnocrist has joined #osdev
DanDan has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
awita has quit [Ping timeout: 260 seconds]
Brnocrist has joined #osdev
awita has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
[itchyjunk] has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<heat> aha finally! found out what nd@arm.com means
<heat> fun remark: I see you cc'ed nd@arm.com'; that's not a real person, it's what our IT folk asked us to add on cc so that the Exchange server doesn't append the legal disclaimer; most lists are covered already without such cc but I guess people feel safer to add it, just in case
<gog> heat: we use node.js
Brnocrist has joined #osdev
<nikolar> so it's a fake address to silence a bot
<heat> yeah its to silence the shitty exchange server
<heat> it's the best worst hack
<heat> i think those legal disclaimers aren't even legally binding? just sillyness
Brnocrist has quit [Read error: Connection reset by peer]
<nikolar> Lol
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
<gog> it's like those boomer facebook posts saying that they don't have permission to use your data or smth
Brnocrist has quit [Read error: Connection reset by peer]
<gog> but when you register in the T&C it says very clearly that use of facebook is implied consent for data use
<Ermine> gog: may I pet you
<gog> yes
* Ermine pets gog
* gog prr
Brnocrist has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
<mrvn> every time you see such a disclaimer just add an opposite disclaimer to your answer. "By accpeting this post FB agrees to share all their data with the sender."
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
Brnocrist has quit [Read error: Connection reset by peer]
antranigv has joined #osdev
ia64developer has joined #osdev
<ia64developer> why do i see "err_needreggednick" in order to join the channel from Matrix?
<zid> because we've got that channel mode set
<ia64developer> And why is that?
Brnocrist has joined #osdev
<zid> it stops drive-by shootings
Brnocrist has quit [Read error: Connection reset by peer]
<ia64developer> For context, all of the other IRC channels I use dont have that channel mode. I'm sure theres a good reason, but just think its a little strange. Just my honest opinion, thats al
xenos1984 has joined #osdev
<ia64developer> Especially since the channel is logged anyway
<zid> A significant fraction of the people who join ##osdev are having a mental break and wish to talk about how the NSA has hidden code in their motherboard to download the radio stations out of their fillings
<ia64developer> Oh ok that makes a lot more sense now
<gog> it's not that many
<ia64developer> Thanks for explaining
<gog> it's more than one would expect
<mjg> you mean significant number of nicknames
<gog> (R.I.P. Terry)
<mjg> not to be confused with number of peope;
<mjg> people
<zid> At least 10 people in the past couple years, some of which who ban evade heavily
<mjg> 10? solid
<mjg> i thught liek 3
<zid> In the 90s it used to be astromony professors
<zid> they've moved to tech now
<mjg> you are triggering me by mentioning academics
<ia64developer> Which is better: Limine or Bootboot?
<zid> better for what?
<ia64developer> Just in general
<zid> grub is better than both of them for being useful to me personally
<zid> I've never heard of bootboot
<ia64developer> I dont know much about them either. I just stick to grub
<gog> uefi
goliath has quit [Quit: SIGSEGV]
<nortti> surely, as an ia64 developer, you should use EFI
Brnocrist has joined #osdev
<zid> I thought as an ia64 developer they'd use some giant bootloader by HP that needs 40 litres of petrol an hour
Brnocrist has quit [Read error: Connection reset by peer]
<zid> more server hw should have pull starts
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
dude12312414 has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
antranigv has quit [Quit: ZNC 1.8.2 - https://znc.in]
frkzoid has quit [Ping timeout: 256 seconds]
antranigv has joined #osdev
<gog> i should get a generator attached to pedals to power my computer
<gog> burn some kcals too
* mjg spotted a non-american
<bslsk05> ​'Human Power Shower - Bang Goes The Theory - BBC One' by BBC (00:03:16)
Brnocrist has joined #osdev
<Ermine> gog: if you stop, your work is gone
<gog> nah i have battery
<gog> i can pedal to charge the battery while i work
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<heat> <gog> it's like those boomer facebook posts saying that they don't have permission to use your data or smth <-- IMA SOVEREIGN CITIZEN
<lav> gog: get a dogboy to run on a threadmill to power your puter
linearcannon_ has joined #osdev
<gog> dogboy eh
linearcannon has quit [Ping timeout: 256 seconds]
bgs has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<kof123> darn gubmint tracking me who do they think they are <voluntarily pulls out cellphone with gps> <voluntarily hops in car with gps> <voluntarily goes on fb and tells them all my likes> <voluntarily goes on twitter to tell everyone> ...
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
joe9 has joined #osdev
morgan has quit [Ping timeout: 240 seconds]
<nortti> gps doesn't really require tracking tho, you can build a fully receive-only GPS system
<nortti> you probably don't want to, my DMR radio takes a couple minutes to get a fix, but it's possible
<kof123> thats good because i forgot to ask alexa
<ia64developer> kof123: Alexa? I'm still on Samsung Bixby
linearcannon_ is now known as linearcannon
<heat> bixby works about as well as ia64
goliath has joined #osdev
<ia64developer> y'all are funny
awita has quit [Ping timeout: 248 seconds]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
goliath has quit [Quit: SIGSEGV]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
goliath has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
just_testing11[m has joined #osdev
bauen1 has joined #osdev
just_testing11[m has left #osdev [#osdev]
xenos1984 has quit [Ping timeout: 265 seconds]
xenos1984 has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
zxrom has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gog has quit [Quit: Konversation terminated!]
xenos1984 has quit [Ping timeout: 260 seconds]
Brnocrist has joined #osdev
bauen1 has quit [Ping timeout: 265 seconds]
Brnocrist has quit [Read error: Connection reset by peer]
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<sham1> Bixby? It's all about Sam now
xenos1984 has joined #osdev
Brnocrist has joined #osdev
Mutabah has quit [Ping timeout: 250 seconds]
Brnocrist has quit [Read error: Connection reset by peer]
gog has joined #osdev
<gog> hi
<bnchs> may i pet gog?
<gog> yes
* bnchs pets gog
* gog prr
<bnchs> how are you?
<sakasama> May I be unpetted?
* bnchs pets sakasama more
Brnocrist has joined #osdev
* sakasama clicks and whirs.
<bnchs> no unpetting
* sakasama weeps mechanically.
<gog> hi i'm well
<bnchs> good
<gog> i have to re-learn what little i know of reactjs from scratch because apparently everything needs to be functions now
Brnocrist has quit [Read error: Connection reset by peer]
* lav throws a coin into gog
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
<gog> :o
<gog> toss a coin to your gogger, oh osdev of plenty
<heat> 🪙
<zid> Top tip: strippers do *not* appreciate it if you try to fill their underwear with pound coins
<bnchs> zid: is it british pound coins?
<bnchs> or coins that literally weigh a pound
<lav> gogger sounds like a british slur
<zid> It is
<bnchs> i would be sad if someone told me i lost pounds :(
<zid> But then again, anything -er/-ed can be used as an insult, or to mean drunk
Brnocrist has joined #osdev
<gog> poggers
<zid> I drank so much last time, I'm still poggers the morning after
Brnocrist has quit [Read error: Connection reset by peer]
<zid> s/time/night
<bnchs> oooo
<bnchs> did you get hungover
<bnchs> reminder to replenish your electrolytes
<zid> Completely poggered
bauen1 has joined #osdev
* sham1 fills Sid's computer with coins
<sham1> Fuck
<sham1> Autocorrect is dumb
<zid> sham1: sick, ty
n0nesense has joined #osdev
morgan has joined #osdev
n0nesense has quit [Quit: issued !quit command]
frkazoid333 has joined #osdev
Turn_Left has joined #osdev
Brnocrist has joined #osdev
Brnocrist has quit [Read error: Connection reset by peer]
Left_Turn has quit [Ping timeout: 256 seconds]
goliath has quit [Quit: SIGSEGV]
awita has joined #osdev
awita has quit [Remote host closed the connection]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<zid> help, nobody has pirated my novel chapter yet this week
<zid> I am having withdrawl symptoms
<moon-child> write fan fiction
<zid> I don't know how
<nortti> why do you want people to pirate chapters of your novel?
<zid> It's up!
<FireFly> linky?
<FireFly> I mean uh
<zid> 'my' as in the royal my
<zid> (as in, relating to me, rather than posessed by me)
<zid> as in, 'my god'
<nortti> >doesn't even possess their god
* moon-child pets god
nyah has quit [Quit: leaving]
bgs has quit [Remote host closed the connection]
<zid> I got my fix, need a nice 7 day coma now
* sakasama possesses god.
* nortti repossesses god
<zid> stop trying to possess me
<sakasama> Delusions of grandeur have surfaced again. :/
* averymt repossesses god's car
mcrod has joined #osdev
* gog prr
Burgundy has quit [Ping timeout: 256 seconds]
<zid> we said god not gog
biblio has joined #osdev
<gog> i don't understand the distinction
<bnchs> they're 3 letter gap
<zid> typical cat behavior
<heat> gog, gazinga
<gog> zanzibar
<heat> nambia
<heat> namibia
<heat> sorry cant type its late
<heat> oh wait nambia was a real fake country lol
gildasio has quit [Remote host closed the connection]
foudfou has quit [Remote host closed the connection]
gxt__ has quit [Remote host closed the connection]
gxt__ has joined #osdev
gildasio has joined #osdev
Mutabah has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
slidercrank has quit [Ping timeout: 250 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev