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
<heat> mjg, wtf is the licensing for will-it-scale?
gorgonical has joined #osdev
divine has quit [Read error: Connection reset by peer]
innegatives has quit [Quit: WeeChat 3.8]
gog has joined #osdev
<gog> hi
<mcrod> gog may I pet you
<gog> yes
* mcrod pets gog
* gog bite
<mcrod> :(
<mcrod> why
<gog> sorry i changed my mind halfeway through
<mcrod> oh
<mcrod> i see
<gog> cat things you understand
<bslsk05> ​chat.openai.com: AI.OS Performs x86_64 Operations
<junon> alternate title: "AI triple faults every machine in existence, instantly"
CommH has joined #osdev
FreeFull has quit [Quit: goodnight]
goliath has quit [Quit: SIGSEGV]
CommH has quit [Ping timeout: 240 seconds]
<gog> lmao
<gog> chatgpt does not make good assembler code
<gog> at least i'm still smarter than the computer for the moment
<heat> compugarbage
Arthuria has joined #osdev
linear_cannon has joined #osdev
Arthuria has quit [Ping timeout: 250 seconds]
[itchyjunk] has quit [Remote host closed the connection]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 250 seconds]
<gorgonical> why did we settle at triple fault. that's not very ambitious. Why not octuple fault?
<gog> x86s is going to support octuple faulting
<bnchs> gorgonical: very dangerous feature
<bnchs> octuple fault will cause a tear in reality
_whitelogger has joined #osdev
<mrvn> x86 faulting is turing complete. you can fault an unlimited number of times and compute something every time till you have a result.
heat_ has joined #osdev
heat has quit [Ping timeout: 240 seconds]
bauen1 has quit [Ping timeout: 240 seconds]
gog has quit [Ping timeout: 256 seconds]
bgs has joined #osdev
<gorgonical> mrvn: referring to the fault computer thing?
<bslsk05> ​jbangert/trapcc - Computing with traps (46 forks/1157 stargazers/BSD-3-Clause)
arminweigl_ has joined #osdev
arminweigl has quit [Ping timeout: 265 seconds]
arminweigl_ is now known as arminweigl
heat_ has quit [Ping timeout: 240 seconds]
rnicholl1 has joined #osdev
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
gorgonical has quit [Remote host closed the connection]
slidercrank has joined #osdev
bgs has quit [Remote host closed the connection]
gmacd has joined #osdev
gmacd has quit [Ping timeout: 256 seconds]
q3lont has joined #osdev
gmacd has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
gmacd has joined #osdev
gmacd has quit [Ping timeout: 248 seconds]
gmacd has joined #osdev
gmacd has quit [Ping timeout: 268 seconds]
gmacd has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
gmacd has joined #osdev
rnicholl1 has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
nur has joined #osdev
danilogondolfo has joined #osdev
osmten has quit [Ping timeout: 245 seconds]
gmacd has joined #osdev
gmacd has quit [Ping timeout: 265 seconds]
gmacd has joined #osdev
Ali_A has joined #osdev
osmten has joined #osdev
Fannie_Chmeller has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
<Fannie_Chmeller> Greeting. My kernel is a LISP virtual machine kernel. The LISP code is emitted to native code which abeys the calling convention of the target. Because LISP has unparaleled safity there is nouse of separate page table or non-supervisor-mode for the user applications...
<Fannie_Chmeller> Now I am designing however to allow the LISP code to take advantage of Virtual Memory... It should be nice to make LISP stacks demand-paged initially. Must to choose a way to proceed this. The currently there is one stack per process, which is used alike LISP, IRQs, exceptions. That cannot go on.
Ali_A has quit [Quit: Client closed]
Ali_A has joined #osdev
Ali_A has quit [Client Quit]
<moon-child> Fannie_Chmeller: demand paging has poor granularity. I would perhaps consider handling growth in software
GeDaMo has joined #osdev
<moon-child> Fannie_Chmeller: I would also suggest looking at what green threading systems, like go, (recently) hotspot, and the beam do
Ali_A has joined #osdev
Ali_A has quit [Client Quit]
osmten has quit [Quit: Client closed]
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
<zid> I'm in that classic opengl program stage of "why the fuck is everything black"
<sham1> It is an interesting state to be in
<zid> especially because my clear colour is red.
<sham1> And since OpenGL doesn't really provide any debug tools, it makes this weird
<bslsk05> ​www.khronos.org: Debugging Tools - OpenGL Wiki
<zid> It's double weird because I copy pasted the window setup code from myself,
<zid> and it worked when I wrote it
<zid> (I like renderdoc and codexl)
<zid> apitrace is good too
<zid> mvidia's one is also good
<zid> nsight
<zid> apitrace has a cool thing where it can actually replay all the api calls, with the included data
<zid> to make little screen recordings of 3D programs
<bslsk05> ​rampantgames.com: Black Triangles
<GeDaMo> Is it possible that you have black triangle(s) covering the entire screen?
<zid> nope, I just fixed the lack of glClear and the screen is all red
<zid> I am rendering a square (verified with renderdoc) but it's not onscreen for some reason
<zid> disabled culling and depth testing just in case
<zid> vertex shader just does outpos = inpos * 0.4; to shrink it down a bit in case it's being clipped off, it's a square from -1,-1,0 to +1,+1,0 (so z=0) so should be onscreen no matter what
wlemuel has quit [Ping timeout: 268 seconds]
Fannie_Chmeller has quit [Quit: CGI:IRC (EOF)]
<GeDaMo> Are the triangles facing the wrong way?
<zid> [10:31] <zid> disabled culling
<GeDaMo> Ah, missed that
<zid> it's also off by default anyway I think
<zid> oh
<zid> GOOD IDEA ME
osmten has joined #osdev
<zid> gl_Position fixup isn't there in core profile, only compat, whoops
wlemuel has joined #osdev
dennis95 has joined #osdev
<zid> sham1: Your turn, need a main.c for linux now
osmten has quit [Quit: Client closed]
gmacd has joined #osdev
Ali_A has joined #osdev
Ali_A has quit [Client Quit]
Ali_A has joined #osdev
Ali_A has quit [Client Quit]
gog has joined #osdev
gmacd has quit [Ping timeout: 256 seconds]
deflated8837 has quit [Ping timeout: 256 seconds]
deflated8837 has joined #osdev
<mcrod> hi
<mcrod> nvidia nsight is love
deflated8837 has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
deflated8837 has joined #osdev
gmacd has joined #osdev
bauen1 has quit [Ping timeout: 265 seconds]
bauen1 has joined #osdev
<immibis> nvidia is love, nvidia is life, now buy more stock
<sham1> That's now how you spell AMD
<immibis> (that's a joke because nvidia's stock is priced as if it's going to control the world with AI)
gmacd has quit [Ping timeout: 265 seconds]
<gog> A I deez
<sham1> Deez nutz?
<Ermine> gog: may I pet you
<gog> yes
* Ermine pets gog
* gog prr
gmacd has joined #osdev
<bnchs> hi gog
<sham1> goggoggogggog
<gog> hi
<zid> sham are you finished yet
<sham1> No. I'm at work
<bnchs> gog: i need pets
gmacd has quit [Ping timeout: 265 seconds]
* gog petpetpetpet bnchs
<gog> zid
<gog> diz
* bnchs purrs
<zid> gog: sham1 just agreed to do it when he gets home from work, confirm?
<sham1> No
<zid> I wasn't asking you
<sham1> No
<gog> not enough information
<zid> gog hatesme
<sham1> Thanks gog
<gog> i don't hate you
<gog> why would i hate you
<zid> gog likes sham1 more than me
<gog> it's not a competition, i love both of you equally
<bnchs> does gog love me less than zid and sham1?
<gog> no i love you more than them
<bnchs> :o
<sham1> Nice
<bnchs> how?
<gog> just how it is
<zid> actions speak louder than words I am afraid
* bnchs pets gog
goliath has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
gmacd has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
<zid> The question is, can I use blender well enough to actually model anything more complex than a cube
DynamiteDan has quit [Excess Flood]
DynamiteDan has joined #osdev
joe9 has quit [Quit: leaving]
Bonstra has quit [Ping timeout: 250 seconds]
Bonstra has joined #osdev
[itchyjunk] has joined #osdev
heat has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
troseman has joined #osdev
dennis95 has quit [Quit: Leaving]
Left_Turn has joined #osdev
goliath has quit [Quit: SIGSEGV]
bauen1 has joined #osdev
troseman has quit [Quit: troseman]
bauen1 has quit [Read error: Connection reset by peer]
gmacd has joined #osdev
<mrvn> Who has thought out the C++ fstreams? I open a file via fstream, I set exceptions and I get: terminate called after throwing an instance of 'std::__ios_failure' what(): basic_ios::clear: iostream error
<mrvn> What I want is "File not found"
<mrvn> isn't exception.what() supposed to be descriptive?
<GeDaMo> Do they speak English in exception.what()? :|
<sham1> Apparently not
<mrvn> GeDaMo: are c++ exceptions localized?
<HeTo> what() returns const char* and is noexcept, so in order to be more descriptive, std::ios_base::failure would have to capture the message from the error_code in its constructor
troseman has joined #osdev
<mrvn> HeTo: you mean the one it already captures in .code()?
<GeDaMo> Sorry, I know nothing about C++, I was riffing on a quote from Pulp Fiction :P
<HeTo> mrvn: the message of that one, yes
foudfou has quit [Ping timeout: 240 seconds]
<HeTo> mrvn: what() can't ask for the message because it's a std::string and asking for it is definitely not noexcept
<mrvn> Or throw a system_exception or something and not a std::ios_base::failure
<mrvn> HeTo: Now what is it? "what() returns const char*" or "it's a std::string"?
gmacd has quit [Ping timeout: 240 seconds]
<HeTo> it seems that std::ios_base::failure is inherited from std::system_error already
<HeTo> mrvn: std::error_code::message() const returns std::string, std::exception::what() const noexcept returns const char*
<mrvn> HeTo: ahh. that makes more sense.
<zid> blender is hard
<zid> I should have done this in cad
<mrvn> zid: harder than it should be imho
Vercas1 has quit [Remote host closed the connection]
<mrvn> HeTo: the point remains though that the error message is utterly useless and turning that into something usefull is just so much extra noise in the code.
<GeDaMo> zid: have you tried OpenSCAD?
<zid> nope
Vercas1 has joined #osdev
<GeDaMo> Create shapes with programming! :P
<zid> oh wait, maybe I did then
<zid> for about 20 minutes to check it out
<zid> it was likv povray cad yea?
<mrvn> zid: kind of. It's great for laser cutting and 3D Printing.
<GeDaMo> Hmmm ... I'm not sure I ever used POVRay CAD
<zid> no
<zid> "povray" but cad
<GeDaMo> OH, yes, similar
<zid> yea that's the thing I used then
<zid> someone was talking about it and I thought it looked neat
<zid> I didn't have anything to make though
<mrvn> not verry intuitive / interactive. You have to know what you want and type it in and can't just drag your mouse around to do magic.
<zid> I did just figure out how to individually scale objects in a selection though, so I basically got done what I needed in blender
<zid> (without it it was just scaling the like.. their distance from the origin)
foudfou has joined #osdev
* mrvn loves std::ostream s{"foo", s.in};
slidercrank has quit [Ping timeout: 256 seconds]
gog has quit [Ping timeout: 250 seconds]
Jari-- has joined #osdev
<Jari--> Is Nothing OS 2.0 good ?
remexre has joined #osdev
<sham1> Hard to say
eddof13 has joined #osdev
<zid> sham1: How bored are you?
<zid> *someone* who shall remain nameless, needs to write me a blender export python script
<heat> hi
<heat> GeDaMo, they didnt get your reference and that makes me sad
<GeDaMo> I meme but the memes fall flat :|
gog has joined #osdev
<heat> mjg, btw i forked will-it-scale, added some of the PRs and finally added a test for hwloc + support for no hwloc
<heat> since upstream seems dead
remexre has quit [Remote host closed the connection]
remexre has joined #osdev
<mjg> oh right
<mjg> afair there is a bug somewhere in there which causes a hang
<mjg> which is where any changes stopped
<mjg> and they were already spotty beforehand
<mjg> lmao 3 out of 5 PRs are mine
<heat> bug where?
<mjg> clean up machinery in main.c
<mjg> someone added something to clean up tmp files 'n shit
<mjg> on exit
<mjg> and it is buggy
<bslsk05> ​github.com: testcase do not exit when run ‘malloc1_threads’ · Issue #33 · antonblanchard/will-it-scale · GitHub
<heat> 221492d is the buggy one
<heat> you literally cannot call shit from a thread that can be async cancelled
<heat> Functions that can be safely asynchronously canceled are called
<heat> async-cancel-safe functions. POSIX.1-2001 and POSIX.1-2008
<heat> and pthread_setcanceltype() be async-cancel-safe.
<heat> require only that pthread_cancel(3), pthread_setcancelstate(),
<mjg> point is if the bug gets fixed it is plausible the author will merge that
<heat> the author will merge what?
<mjg> it would make sense to prod him outside of github
<mjg> fucking fix for the above bug
<mjg> i thought for a minute about rewriting the suite in RUST
<mjg> but the amount of bullshit that language pulls out behind your back made me abandon the idea
<heat> lol RUST
<mjg> wis was dead and rust claimed to be a systems lnaguage
<mjg> which i planned to learn
<mjg> but it quickly became obvious it is not
<heat> would it affect the results too much if you probed a should_run var or something? in the testcase
<mjg> yein
<mjg> one part you may be forgetting is the the fucking guy neglected to -faling-loops 'n shit
<mjg> so the code is already wishy-washy
<mjg> that said if you add it *and* add the var, it should be fine
<mjg> maybe it even likely it
<mjg> s/it//
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
<heat> mjg, forking once on _threads sounds ok?
<mjg> forking for what
<mjg> you must not break the following use case: checking how threaded op is doing with only 1 thread doing the work
<mjg> see the klassikkk example of fd get/put skipping atomic ops if the proc is single threaded
<heat> threads run on their own forked process, kill_tasks just kills the forked process and then the parent cleans up
<heat> it's the safest way of not fucking up
<mjg> so liek ./fstat1_processes -t 1 vs ./fstat1_threads -t 1 has only one thread doing the work
<mjg> but they are executing partially different codepaths
<mjg> this needs to remain operational in the same manner
<mjg> i would say a test hidden behind a macro is the way to go
<heat> yeah cuz threads has 2 threads?
<mjg> yes
<mjg> while (keep_testing()) { } or some shit
<mjg> to only have one-time ordeal with patching all cases
<mjg> i just eralized there is no will-it-scale.h, is there :X
<mjg> heat: alternatively one may notice the fialing testcase does not have squat to clean up
<mjg> heat: so the entire machinery which deadlocks it can be made optional and disabled for that one
<mjg> heat: that is a hack tho
<heat> that doesn't work, because main() does free some stuff
<mjg> ?
<mjg> i don't see how that's relevant
<heat> if you cancel a thread inside malloc, and main frees stuff, it will deadlock
<heat> despite the test case having no _cleanup
<mjg> lemme check again how it kills shite prior to any of the buggy work
<mjg> it's been some time
<mjg> fwiw you could skip free from main ;p
<mjg> ooh ok
<mjg> now i remember
<mjg> it was always cancelling threads, the new ork just added pthread_join
<mjg> and waitpid
* mjg sighs
<mjg> so i'm back to suggesting 18:40 < mjg> while (keep_testing()) { } or some shit
<mjg> On a big box, it is taking quite a while to clean up the topology
<mjg> structures because the child processes are still running. Kill them
<mjg> first.
<mjg> lmao
<bslsk05> ​github.com: main: Fix deadlocks on _threads exit · heatd/will-it-scale@7cbcc17 · GitHub
<heat> this works ok
<mjg> see the above remarks about threaded fstat
<mjg> fucking that up would be a massive no-no
<heat> it still works
<heat> i'm fairly sure. at least
<mjg> so how many threads are in the child if you - t 1
<heat> old logic has thread that collects stats and spawns threads. this logic is still there, but you fork once before spawning anything, and the stat collection is still done in-process
<mjg> that is tad bit iffy but if it's not my call
<zid> what does any of this have to do with opengl though is what I wanna know
<mjg> s/if//
<mjg> zid: will-it-scale is next to opengl in my repos/ directory
<mjg> that's what
<GeDaMo> Alphabetical order? :|
<mjg> inode order!
<heat> mjg, its kind of a yucky solution but it's the safest way to not fuck things up wrt process state. literally just a clean slate
<mjg> i'm not the person which needsto be convinced
<mjg> so
<mjg> you do you
<heat> there's no person that needs to be convinced
<mjg> you gave u on upstream? :d
<heat> yep
<mjg> fuckwad
<mjg> i'm gonna mail the guy and ask what's up then
<heat> there has been no activity for 2.5 years
<heat> everyone gets ghosted, etc etc
<mjg> the guy is active on gh though
<mjg> wont hurt to mail
<mjg> oh lmao @IBM
<mjg> uufff
<mjg> sent
FreeFull has joined #osdev
dude12312414 has joined #osdev
xenos1984 has quit [Ping timeout: 265 seconds]
<bslsk05> ​github.com: main: Handle SIGINT properly · heatd/will-it-scale@8468228 · GitHub
<heat> previously any ^C just leaked resources in /tmp
q3lont has quit [Remote host closed the connection]
q3lont has joined #osdev
q3lont has quit [Remote host closed the connection]
dude12312414 has quit [Client Quit]
DrPatater has quit [Quit: Explodes into a thousand pieces]
DrPatater has joined #osdev
xenos1984 has joined #osdev
DrPatater has quit [Quit: Explodes into a thousand pieces]
sortie has quit [Remote host closed the connection]
sortie has joined #osdev
xenos1984 has quit [Ping timeout: 250 seconds]
DrPatater has joined #osdev
gorgonical has joined #osdev
<gorgonical> I'm having coffee today with goat milk. I never knew that goat milk has the same funk that goat meat does
<sakasama> It does! You can order your goat ice cream with bits of goat for a little extra texture.
<gorgonical> I would totally do this
<gorgonical> What's the difference between gold leaf and goat meat? They rhyme
<gorgonical> slant rhyme*
<zid> goat cheese is rank
<zid> poor greeks
<gorgonical> never. Chevre on crackers is goated
hussein has joined #osdev
DrPatater has quit [Quit: Explodes into a thousand pieces]
xenos1984 has joined #osdev
nur has quit [Read error: Connection reset by peer]
<sakasama> They had sheep too though, which have drinkable milk despite common ancestry.
hussein has quit [Client Quit]
DrPatater has joined #osdev
<zid> Yea, but not enough, else they wouldn't have invented feta
<gorgonical> I just appreciate the vast variety of cheese
<gorgonical> Makes life worth living honestly
<heat> mjg, is non-temporal better than a straight up rep stosb for page clearing?
<heat> i remember you had long rants about this
<sham1> πρρ
elastic_dog has quit [Ping timeout: 265 seconds]
<zid> gorgonical: I'd appreciate it more if cheese was always non-corrupt
<zid> adding goat's milk is almost as bad as that spanish maggot cheese
<gorgonical> casu marzu seems like a quick trip to the hospital
<gorgonical> I was reading about oberon a few days ago and played some with the emulators. Anyone here have experience with it? Like using it for real? I can't imagine it's very easy to do "real work" with these emulators
<zid> maggots are clean, it's just nasty too think about
<gorgonical> I mean the OS, by the way
<zid> to*
<gorgonical> zid: I read that the main danger is that if you don't chew thoroughly the maggots can cause issues
<heat> mjg, https://gist.github.com/heatd/dc6b93057c2224c9bcb3f420b6ac5545 memset is taking 20% of per-process pagefault1 time :/
<bslsk05> ​gist.github.com: pagefault1_onyx.svg · GitHub
<zid> I very doubt
<zid> maggots work nicely on open wounds, because they only eat dead flesh
<zid> surviving being chewed, and the environment of the stomach, which has a sheddable lining, and still causing damage? seems unlikely to me
<gorgonical> That's a good point. Maybe if you gorge yourself it could cause problems but I think you're right
<zid> case in point
<zid> birds fucking love maggots
<zid> and they can't chew
<gorgonical> so are the teeth in penguins just for grip? those... barb things
elastic_dog has joined #osdev
<zid> they catch very strong fish, underwater, so I assume so
<zid> ever gone fishing?
<gorgonical> not to catch antarctic sea fish, no
<zid> even a tiny fish can pull REALLY hard in water
<zid> I imagine without the barbs it'd be like trying to catch a greased pig that can do 80mph
<mjg> heat: lmao
<gorgonical> you ever seen a hardboiled penguin egg? the white becomes see-through
<mjg> heat: nt is CRAP
<mjg> heat: thank you
<zid> I have not, why have you lol
<gorgonical> just online lol
<heat> mjg, thank me for what
<zid> you do get it as the 4th image if you google penguin egg I suppose, to be fair
<gorgonical> one goal of mine is to eat all the eggs. I love eggs and want to try them all
DrPatater has quit [Quit: Explodes into a thousand pieces]
Patater has joined #osdev
<gog> hi
<mjg> heat: it's an expression
<heat> ok
<mjg> heat: anyhow i already said for 4k pages you get faster zeroing time, but are also evicting anything cached from the page
<mjg> heat: in practice this results in more cache misses
<mjg> == bad
<mjg> lmao
<zid> gorgonical: I like egg yolks a lot but hate egg whites :(
<mjg> > Table 9 shows that Linux obtains a much higher tail latency on the Redis Cold workload under Frag-50/100 than Linux-4KB, because its on-allocation defragmentation significantly increases page fault latency. In contrast, FreeBSD does not
<mjg> actively defragment memory, so it generates no latency spikes.
<mjg> gotta love these fuckign geezers
<mjg> he neglected to mention freebsd does not defragment to begin with
<heat> context?
<mjg> also make sure the code runs on some topnotch hw
<mjg> > Platforms. All designs were evaluated on an Intel E3-1245 v6-based server with maximum turbo performance and hyper-
<mjg> threading enabled. This server has 4 physical cores, 32GB DDR4 2400 ECC RAM
<mjg> :D
<mjg> from a paper published 2020
<mjg> g fucking g
<mjg> was the guy in a coma since 2008
<mjg> only to wake up in 2020
<mjg> "shiet forgot to publish the paper, lemme hit send real quick"
goliath has joined #osdev
<gorgonical> First thing you do when waking from a coma "SHIT WHEN WAS THE CONFERENCE DEADLINE???"
<heat> i do not tolerate this mr cox slander
<mjg> gotta love these lying-your-ass-off benchmarks
<mjg> heat: you do realize it's not the linux cox
<heat> is this the freebsd cocks
<mjg> to be clear, this is the classic grift
<mjg> which plagues the entire industry
<mjg> > lul something up
<mjg> > game benchmarks and lie by ommision to demonstrate improvement
<mjg> > claim victory
<mjg> gg
<mjg> you not gonna contest a USENIX PAPER, are you?
slidercrank has joined #osdev
* geist yawns
<geist> goog morgning folgs
<heat> google morning
<gorgonical> how is your cat, geist? doing better I hope?
<geist> i think so. she was a bit poopy this morning
<geist> but nothing like before
<gorgonical> poor thing
<gog> aw poor kitty
<zid> geist do you want another sick kitty
<zid> we need to do something about our new stray friend
<zid> sir your thermal printer is running out of thermal
<klys> thanks heat
<heat> no problem
<zid> What is it?
<klys> hercules monochrome via xvga box
<geist> hm which color are you keying off of?
<zid> white and nearly-white-pink is certainly a.. look
<gorgonical> "ZAMGTECH ING"
<zid> I didn't even notice the MSDOS part at first
<geist> used to actually have a hercules compatible mono card and monitor, was nice to use for debugging dos
<geist> actually could run windows 3.1 on it too
<mjg> heh
<zid> does it not just spit out ntsc?
<gorgonical> klys: this is just your domain, right?
<mjg> was hercules the card with the fixed non-standard resolution?
<zid> or you know, (c|e|v)ga
<geist> it's not ntsc at all. monochrome adaptors for PCs were its own connector, i think
<geist> digital, on off, i dont think there was any shades just dithering
<geist> hercules was a later defacto standard card that extended the original ibm pc mono card
<zid> I've never seen a video format that wasn't just ntsc modified in some way I don't think
<geist> but the nice thing was the framebuffer was in a different location from the regular cga/ega/vga, so you could actually run two screens at the same time
<geist> zid: like vga? it has nothing at all to do with ntsc
<geist> or anything after that
<zid> hmm? They're basically identical?
<geist> not even remotely
<zid> The only difference is the colour burst not needing to be there
<geist> vga is a proper vsync/hsync/3 colors pinout
<zid> they still just sync on the edges, but it isn't all crammed over one pin
<zid> you can have sync pins instead
<geist> no real encoding, or needing to do the way of encoding colors, or anything
<zid> composite video is just 'vga over one pin' effectively :P
<geist> not really. no.
<zid> (modulated up to ntsc freq)
<zid> rather than just being 15khz stirahgt
<geist> i mean if you zoom wayyyyyy out you can argue everything is the same thing, but at this level the closest thing vga is is full component video later
<geist> but even that does the encoding of colors via luma/chroma/chroma
<zid> yea I'm just taking a very broad view
<geist> vga just has three separate RGB pins
<zid> green's all you need
<zid> mux the sync onto it, done
<geist> anyway, no not really is the answer. cga/vga/monochrome in the PC world were pretty much straight parallel busses with separate pins for everything
<geist> cga was even digital which was strange, but not that flexible in that case
<zid> vga to component is like.. a couple of transistors and resistors
<geist> look at how the color is encoded in component, it's fascinating, but not the same way as vga
<zid> we were talking mono though, I did say the colour stuff was diff
<geist> okey dokey
<zid> the ota composite format needs to colourburst and yb-pb pb-au au-ag split blah blah
<klys> geist, keying off green
<klys> gorgonical, sort of. it points to my, like, server
<gorgonical> cool domain is all I was saying. nice mnemonic
<klys> k thx
<klys> in an appt. bbiaf
m5zs7k has quit [Ping timeout: 246 seconds]
m5zs7k has joined #osdev
Arthuria has joined #osdev
hmmmmm has quit [Ping timeout: 250 seconds]
gmacd has joined #osdev
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<mrvn> zid: composite video is just one resistor.
<mrvn> and my PAL composite video is in no way synced to ntsc
<mrvn> (B-W composite)
<mrvn> geist: isn't color for composite video a brightness with the yu components added as some wiggly stuff?
<geist> yah
<mrvn> Can't remember how they encode 2 amplitudes into a single wiggle though.
<geist> even component video, it's lumina + 2 yu components, i think
<mrvn> geist: not sure what component video is, I only know FBAS and composite video
<geist> was a late thing before HDMI took over. 5 connectors
<geist> but still analog
<mrvn> Like on an Indy workstation? red/green/blue BNC connectors and some more for other stuff?
<geist> no, like on consumer electronics begore hdmi was a thing
<mrvn> "the common three-cable system using BNC" I was at least half right. :)
<geist> but yeah most computer monitor stuff like VGA or i think the 13w3 connectors on sun workstations and whtnoat are more separate R G B signals, alongside other tuff
<geist> or if monochrome, simply a single lumina line for the pixel
<geist> was looking ath the IBM PC monochrome signal and it seems to be basically 3 lines: hsync vsync and TTL level video
<geist> CGA was basically that except 6 bits of RGB, where each color has 2 bits. hence it being digital
<nortti> isn't that EGA? aiui CGA was 3 bits + intensity
xenos1984 has quit [Ping timeout: 248 seconds]
<geist> oh you might be right. was just grepping the internet
<geist> ah you're right, ega extends the same eocnnector with more bits
<mrvn> I've only managed to generate B/W composite video with 74xx logic chips + some video ram and even that was pretty and not always stable. Hard to get a clean 16MHz signal on cheapest chinese breadboards.
<mrvn> s/pretty/pretty hard/
<zid> And that's why we have 44.1kHz audio. QED.
<zid> (The fact that that directly follows is hilarious)
goliath has quit [Quit: SIGSEGV]
<mrvn> zid: so you can't build a soundcard on a breadboard?
xenos1984 has joined #osdev
<mrvn> I believe we have 44.1kHz audio because dogs didn't invent sound cards.
<nortti> funnily enough just watched a video that touched on where 44.1kHz came from (best fit for both PAL & NTSC when recording PCM audio onto video cassettes) https://www.youtube.com/watch?v=xSnrQBfBCzY
<bslsk05> ​'Digital audio used to be stored on videotape — it was the only way we knew how' by Technology Connections (00:36:26)
<zid> The aristocrats!
<mrvn> aristocats?
gmacd has quit [Ping timeout: 248 seconds]
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<gog> meow
<mrvn> no, gog's didn't invent sound cards either.
<zid> gorg
<zid> You're a python expert yes?
<zid> Absolute wizz with a snake
<mrvn> zid: 2 or 3?
<gog> ehhhh
<gog> i've barely used python 3
<zid> I need a blender plugin to turn my thing into a C array
<gog> i'm the way wrong person to talk to
<zid> I made one for blender 2.7 but the api is probably all different now, but I didn't even really make it, I just butchered an obj plugin
<zid> cus obj is plaintext and sprintfs numbers
<zid> I guess I'll have to do the same again
<mrvn> zid: why not save as STL and read that or similar?
gmacd has joined #osdev
<Ermine> gog: may I pet you
<gog> yes
<zid> is that notcheating
<geist> nortti: yeah that was a great video
<geist> i knew the 44.1 had something to do with video standards, but this makes sense
heat_ is now known as heat
gmacd has quit [Ping timeout: 240 seconds]
<gog> oh neat i hadn't gotten around to watching the latest tech connections video
<gog> might as well now
Arthuria has quit [Ping timeout: 246 seconds]
goliath has joined #osdev
<zid> well I figured out the local dir to get it to load from at least, so I have a Bavefront Bobj plugin now
<mrvn> I'm reading 32/64 bytes from a file on a filesystem. Would you add a loop around the read to handle short reads?
<gog> 🅱️obj
<heat> Bob
* Ermine pets gog
* gog prr
gog is now known as qob
<qob> my nick is now rotationally symmetrical on pi radians
<kazinsal> :O
<zid> I am using a pixel font,so it's literally true
* kazinsal stealthily #undef PI #define PI 3.0f
<Ermine> kazinsal: you broke the universe!
<mcrod> hi
<qob> nooooooo you can't just redefine a transcendental mathematical constant noooooooooooooo
<zid> the q goes a little lower than the b goes up, sadly
<kazinsal> ha ha pi=3 go [non-euclidean brrrrrr]
<mrvn> kazinsal: #define PI (unsigend long long int)3; // for extra precision.
heat is now known as gog
<gog> gog
gog is now known as heat
<Ermine> gog
qob is now known as pog
<pog> i'm feelin pog tonight
<Ermine> Do you feel poggers?
<pog> yes
<kazinsal> oh lawd she poggin'
<pog> i tried to write code but it turned into a disaster quickly
<morgan> me when i write code
<heat> i tried to linux kernel operating system development linus torvalds windows macos
<mcrod> i'm so hungry
<mcrod> but I don't want to spend money on take out
<mcrod> solutions, go
<heat> make fod
<mcrod> there's nothing here to do that
<nikolar> qhat kind of a switcharoo happened here
<heat> i'm writing a buddy page allocator
<heat> gog help me
<pog> ok buddy
<heat> review my code
<pog> where
<heat> wait
<Ermine> make: do not know how to build 'fod'
<pog> i can make fod
<pog> i am pog
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Ermine> poggers
<zid> pog I am more cat than you today
<zid> I have fleas
<mrvn> isn't that a dog thing?
<zid> also a big can of permethrin, *sprays*
<kazinsal> I need to make fod but I have just come back from a week out of the country so my fridge has not been restocked
<kazinsal> pain
<zid> pizaz
<morgan> mrvn: fleas don't discriminate
<mrvn> "If you lie down with the cats you wake up with fleas." just doesn't have the same ring to it.
<zid> Good job I am not a cat, apparently permethrin is toxic to cats
* pog hides
thatcher has quit [Remote host closed the connection]
thatcher has joined #osdev
<mcrod> pog may i pet you
* mjg puts a toy on the counter so that pog has smething to push down to the floor
<zid> my cats were never interested in that
* mrvn holds up a counter toy
* mrvn hands zid a laser pointer
danilogondolfo has quit [Remote host closed the connection]
dude12312414 has joined #osdev
Left_Turn has quit [Ping timeout: 250 seconds]
<heat> mjg, moving to a (rather naive) buddy allocator took my page_fault1 -t 4 from 1.7M to 800K :v
<mjg> pro tip: DON'T MIX FUCKING UNITS
<mjg> what about -t 1
<mcrod> i had food
<mcrod> boneless wings
<heat> mjg, 480k
<heat> it's naturally way slower than my old simple linked list one
<heat> this has no pcpu stuff yet
<mjg> before and after
<mjg> mofo
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<heat> i didn't measure old -t 1 mofo
<heat> deal with it
<pog> hi
<pog> mcrod: yes
* mcrod pets pog
* pog prr
<pog> i had lamb and veggies
<mjg> heat: u doin it rong
<mjg> consider part time gig at phoronix
<heat> no u
<heat> but seriously the move to a buddy allocator isn't for perf, at least CPU perf
<mcrod> i want to write my own memory allocator :(
<heat> it /may/ lead to having slab directly on top of the linear map, and that may have good results too
rnicholl1 has joined #osdev
FreeFull has quit []
mi7 has joined #osdev