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
gog has quit [Ping timeout: 240 seconds]
innegatives has quit [Quit: WeeChat 4.0.0]
goggers is now known as heat
Terlisimo has quit [Server closed connection]
Terlisimo has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
<zid> heat is playing eu4, muscovy of all things
<zid> bet he's invading ukraine
<sakasama> It's only natural.
<zid> He just doesn't have the balls to attack into nat^ the HRE
lainon has joined #osdev
riverdc has quit [Quit: quitting]
riverdc has joined #osdev
joe9 has quit [Quit: leaving]
lainon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
[itchyjunk] has quit [Remote host closed the connection]
<zid> You know what today needs?
<zid> FLCL OST.
joe9 has joined #osdev
joe9 has quit [Quit: leaving]
exark has quit [Server closed connection]
exark has joined #osdev
jjuran has quit [Server closed connection]
vdamewood has joined #osdev
jjuran has joined #osdev
Vercas4 has joined #osdev
Vercas has quit [Remote host closed the connection]
Vercas4 is now known as Vercas
gog has joined #osdev
nyah has joined #osdev
<heat> zid: doing the good old "russia can into lithuania" strategy, but just got my ass handed to me by ottos
<zid> never heard of it, also, lol
gog has quit [Ping timeout: 240 seconds]
<heat> their ability to shit out troops is impressive
<heat> mid-1500s and they have double my troops, and im fucking russia
<heat> *200k*
<zid> russia's ability to shit out troops is what russia's good at
<zid> how much manpower do they have
<heat> idk closed the game already
<zid> ..you didn't check?
<heat> not really
<zid> bro
<heat> i can only reasonably have like 80k troops without breaking the bank
<heat> and i have 90-something in manpower
<zid> That's russia's main strat
<zid> check how much MP they have, make them siege awful shit in the cold snow all day
<kazinsal> vlad, our front line is a stack of corpses! what should we do?
<kazinsal> nothing, pyotr. we call that a defensive wall
slidercrank has joined #osdev
heat has quit [Quit: Client closed]
slidercrank has quit [Ping timeout: 246 seconds]
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
slidercrank has joined #osdev
goliath has joined #osdev
GeDaMo has joined #osdev
gareppa has joined #osdev
zxrom__ has joined #osdev
zxrom_ has quit [Ping timeout: 246 seconds]
zxrom__ is now known as zxrom
SGautam has joined #osdev
frkazoid333 has quit [Ping timeout: 246 seconds]
<sham1> hi
danilogondolfo has joined #osdev
foudfou has quit [Remote host closed the connection]
lainon has joined #osdev
foudfou has joined #osdev
awita has joined #osdev
noeontheend has quit [Ping timeout: 245 seconds]
tommybomb has quit [Ping timeout: 245 seconds]
staceee has quit [Ping timeout: 245 seconds]
staceee has joined #osdev
tommybomb has joined #osdev
listentolist has joined #osdev
noeontheend has joined #osdev
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
vdamewood has quit [Client Quit]
zxrom has quit [Ping timeout: 252 seconds]
gog has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
lainon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
[itchyjunk] has joined #osdev
zhiayang has quit [Quit: oof.]
lainon has joined #osdev
gildasio has joined #osdev
lainon has quit [Quit: Textual IRC Client: www.textualapp.com]
gildasio has quit [Ping timeout: 240 seconds]
zhiayang has joined #osdev
gildasio has joined #osdev
zhiayang has quit [Ping timeout: 245 seconds]
zhiayang has joined #osdev
selfsigned has quit [Server closed connection]
selfsigned has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
zhiayang has quit [Quit: oof.]
innegatives has joined #osdev
edr has joined #osdev
goliath has quit [Quit: SIGSEGV]
heat has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
<gog> hi
<sham1> hi
<gog> hi sham1 how are you
<sham1> I'm good. I'll actually be going out with friends in an hour
mahk has quit [Ping timeout: 246 seconds]
<gog> nice nice
smko has joined #osdev
heat has quit [Quit: Client closed]
zxrom has joined #osdev
slidercrank has quit [Ping timeout: 240 seconds]
goliath has joined #osdev
goliath has quit [Ping timeout: 245 seconds]
heat has joined #osdev
<heat> eu4 is taking over my life again
<zid> when doing aragon into byz
<mjg> what is eu4?
<gog> map simulator
<heat> zid i can't even do byz into byz
<mjg> sounds like reich4 innit
<heat> i had ONE byz game taht was going well, in like 2016
<zid> byz into byz is fucking hard
<heat> then they nerfed the shit out of all the strats
<zid> aragon into byz is a cheat
<heat> also
<heat> i hate the ottomans i hate the ottomans i hate the ottmans
<zid> aragon into byz immediately neuters ottomans
<zid> that's why it's such a good strat
<heat> i had to get a poland - spain - timurids - russia alliance just to be able to ever stand up to those fucks
<zid> You get PU over spain after
<heat> oh yeah i got a PU over austria
<zid> earlygame ottomans suck, and late game ottomans suck
<zid> it's only around tech 12 that they're strong
<heat> guess what tech im at
<zid> their units (had?) one more pips than everybody else's
<zid> not my fault you let the disgusting turks breed
<heat> mjg: lets play eu4, im austria, zid is russia, gog is prussia, you're poland
<heat> historical roleplay yes??
<zid> I invade gog.
<zid> heat too pussy to defend.
<mjg> im not playing unless i can be hungary
<heat> what
<heat> why tf would anyone be hungary
<heat> that's somehow worse than getting partitioned
<bslsk05> ​preview.redd.it: Reddit - Dive into anything
<zid> I accept this trade deal.
<zid> ich bin een germensch
<zid> avec grameur terriblé
lainon has joined #osdev
<gog> zid: you cannot into prussia
<zid> who's going to stop me
<heat> Great Austrian Armies
<zid> You'd have to fight me though
<zid> AI austria would be scary
vdamewood has joined #osdev
<bslsk05> ​tumblr: image/jpeg (1000x1000) -- post https://memewhore.tumblr.com/post/182242040322
<zid> https://cdn.discordapp.com/attachments/362007975017316352/786541776281796648/unknown.png I can't find a picture from my arabyz games, found a random aragon game where I went nuts on PUs apparently though
<zid> athens, gascony, castile, navarra, naples
<zid> https://cdn.discordapp.com/attachments/362007975017316352/731945981205151754/unknown.png Here's a pope snake I made for an achi to get the teutonic clans owned by pope
<bslsk05> ​steamcommunity.com: Steam Community :: Screenshot :: Austrian empire bois
<heat> worst border gore i've ever done
<zid> lol
<zid> What the hell is that
<zid> why is it 1700
<zid> That entire austrian eastern europe bit has what, 200 development? :P
<heat> it took like 40-50 years to annex them all
<Ermine> Maybe I should install HoI4 back and finish turning Italia into communism
<zid> 1465, notbad
<heat> Ermine install eu4 and turn germany communist
benlyn has joined #osdev
<Ermine> No
eddof13 has joined #osdev
<Ermine> I bought HOI4 a long time ago
<Ermine> I can make Germany communist there
<heat> peasant republic >> karl marx's budget peasant republic
<gog> rosa luxembnurg and karl leibknecht die in every timeline it's impossible
<Ermine> Btw was it UE4 where some guy ate Pope?
<heat> what?
<heat> if you mean literally, probably crusader kings {2, 3}
<Ermine> s/UE/EU/
<Ermine> probably
<zid> oh found a later picture of that aragon game
<zid> They seem pleased.
<gog> no iceland smh
<gog> ísland er ekki til
<heat> i don't think i've ever had an army in iceland
<mjg> eki eki eki
<mjg> knights who say NI innit
<heat> and i've played as sweden and denmark before
<mjg> is this where the joke is from
<zid> iceland is formable
<zid> but nobody ever would
<zid> it's a joke nation
<gog> true
<heat> zid waz's the strat for arabyz?
<heat> no-cb byzantium and feed them?
<Ermine> Let the joke nation conquer the world
<zid> ally some people, nocb byz just before ottomans is not at war with anybody else
<zid> and hope they do their mission to reclaim constantinople
<zid> vassalize byz *after* ottomans declares war
lainon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<zid> and the war turns into a defensive war vs ottomans and you can call all your allies
<heat> hmm
<zid> win and return all of byz's cores
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<zid> use boats to cheese the strait if needed
eddof13 has joined #osdev
Left_Turn has joined #osdev
Terlisimo has quit [Quit: Connection reset by beer]
<bslsk05> ​preview.redd.it: Reddit - Dive into anything
<mjg> lmao i would buy that
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
frkzoid has joined #osdev
heat has quit [Quit: Client closed]
smko has quit [Ping timeout: 240 seconds]
zxrom has quit [Ping timeout: 245 seconds]
heat has joined #osdev
<heat> mjg does steam and wine and all that shit work on freebsd?
<mjg> i have no idea
<heat> or are you stuck with GPL-licensed vidya games
<heat> xonotic poggers
<mjg> they very plausibly do with linux emul
<mjg> well wine natively
<heat> the steam client may work, wine i dunno
<zid> calm down padraig it's only a bit of soup
<mjg> i know there is a port, i have no idea about its shaep
<mjg> shape
benlyn has quit [Remote host closed the connection]
xenos1984 has quit [Ping timeout: 240 seconds]
<heat> i'll take this as "freebsd users do not have fun"
<heat> freebsd devs do, because RHEL has top notch support for steam and wine
xenos1984 has joined #osdev
<zid> freebsd users suffer from anhedonia
<zid> it's just a fact
<mjg> heat: you mean ubuntu
<mjg> nobody uses rhel
<mjg> btw fbsd devs are mostly on macs :d
<heat> holy shit mac gaming
<heat> do they also use the magic mouse?
<mjg> can you imagine playing a fps game with one mouse button
<mjg> ye i was gonna ask if they evolved to more than one button
<Ermine> I've pulled Klee today
<heat> freebsd could be so much faster if freebsd devs didn't need to turn their mice upside down just to charge it
* mjg burps
<bslsk05> ​'It’s 2022 and the Magic Mouse still charges from the bottom' - 'Apple still wants you to flip the mouse over to charge it.'
<heat> haha ah ah ahaha aha ha hahahaha ha ha ha
<mjg> wut
<Ermine> Btw are there disk caches in freebsd? Freebsd removed block device support some time ago due to cache issues or something like this
<mjg> mate
<mjg> yes there is caching
<mjg> that block device removal is such a meme
<mjg> there is discussion about it, apart from the aforementioned claim
<mjg> and there was one thread on mailing lists responding to the commit making the change
<mjg> it talks about somethign completley unrelated with temporary mailing list issues
* mjg lolz
<mjg> all that said, if you dd of=/dev/loldev i'm unaware of any caching layer
<mjg> but if you use a filesystem like a normal person you participate in the page cache 'n shit
<heat> ah ok so you removed caching there
<heat> weird
<mjg> knowing the unix geezery
<mjg> 1. there was no good reason to *introduce* caching to begin with
<mjg> 2. there was no good reason to *whack* it either
<heat> do filesystems roll their own caching for metadata?
<mjg> at least in terms of their own justifications
<zid> I swear 80% of apple's decisions are people in a back room giggling to themselves "put the charging port underneath *trying not to laugh*"
<zid> "omg barry, genius! *bwahahaha*!"
<mjg> heat: afair yes
<mjg> zid: and then a pretend toast towards steve's picture
<mjg> i heard a story which is probably bullshit, but would fit here A+
<mjg> the story goes Steve visited people designing a new macintosh computer (stationary)
<mjg> they put speakers on sides, they play musikk and it sounds great
<mjg> consequentlyu they are happy with themselves
<mjg> but steve tells them to embedd speakers in the chasis facing the keyboard
<mjg> cause that will cause customers to pay extra money for external speakers
<mjg> :SSS
<mjg> anyhow the comment by the person telling the story was that jobs was a genius
<mjg> cause ^^^
<heat> and UNIX people would say "music? who needs that? all you need is a tty"
<mjg> rms plays porn using ascii art
zxrom has joined #osdev
<Ermine> put your music to tty indeed
<mjg> speaking of UNIX
<mjg> * Handle "..": five special cases.
<mjg> the list grew to 6, but someone worked around modifying the above claim by adding 0.
<heat> what?
<mjg> as in case 0
innegatives has quit [Quit: WeeChat 4.0.0]
<heat> context?
<mjg> * Handle "..": five special cases.
<mjg> * 1. Return an error if this is the last component of
<mjg> * the name and the operation is DELETE or RENAME.
<mjg> original
<mjg> patched
<heat> oh lord
<mjg> * Handle "..": five special cases.
<mjg> * disabled, return ENOTCAPABLE.
<mjg> * 1. Return an error if this is the last component of
<mjg> * 0. If doing a capability lookup and lookup_cap_dotdot is
<mjg> * the name and the operation is DELETE or RENAME.
<mjg> gg
<heat> BSD vfs poggers
<mjg> the comment dates back to 1939-1945
Turn_Left has joined #osdev
<heat> 1st september even
SGautam has joined #osdev
<mjg> 1st of never
<mjg> y u so asshole
Left_Turn has quit [Ping timeout: 264 seconds]
smko has joined #osdev
smko has quit [Ping timeout: 245 seconds]
eddof13 has joined #osdev
thinkpol has joined #osdev
smko has joined #osdev
thinkpol has quit [Remote host closed the connection]
thinkpol has joined #osdev
smko has quit [Ping timeout: 245 seconds]
nur has quit [Ping timeout: 258 seconds]
Left_Turn has joined #osdev
thinkpol has quit [Remote host closed the connection]
thinkpol has joined #osdev
Turn_Left has quit [Ping timeout: 246 seconds]
lainon has joined #osdev
heat has quit [Quit: Client closed]
nur has joined #osdev
Turn_Left has joined #osdev
Turn_Left has quit [Max SendQ exceeded]
smko has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 240 seconds]
Yoofie has joined #osdev
xenos1984 has quit [Ping timeout: 240 seconds]
smko has quit [Ping timeout: 264 seconds]
slidercrank has joined #osdev
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
danilogondolfo has quit [Quit: Leaving]
xenos1984 has joined #osdev
ih8win8 has joined #osdev
<ih8win8> Is there a better document to learn about USB, mostly on the software side, besides the official USB spec that is notoriously verbose and difficult to comprehend?
<ih8win8> Oh, this one looks good. https://beyondlogic.org/usbnutshell/usb1.shtml
<bslsk05> ​beyondlogic.org: USB in a NutShell - Chapter 1 - Introduction
mahk has joined #osdev
eddof13 has joined #osdev
gog has quit [Quit: Konversation terminated!]
Terlisimo has joined #osdev
duckworld_ has joined #osdev
<zid> duckworld is a great name
<zid> Is that local or would I have to fly
<sham1> I was chomping some fishy. It was good
<zid> fish should be left in their slime
<zid> or given to cats in secret
<sham1> Not giving expensive fish to cats
<sham1> expensive sushi
<zid> not my fault your overspent on your catfood
<sham1> It is your fault >:)
<zid> I baited you into it?
duckworld has quit [*.net *.split]
Left_Turn has joined #osdev
gog has joined #osdev
Turn_Left has quit [Ping timeout: 245 seconds]
smko has joined #osdev
smko has quit [Ping timeout: 260 seconds]
smko has joined #osdev
smko has quit [Ping timeout: 260 seconds]
nvmd has joined #osdev
nvmd has quit [Max SendQ exceeded]
nvmd has joined #osdev
nvmd has quit [Max SendQ exceeded]
PublicWiFi has joined #osdev
<PublicWiFi> Dumb question. Let's say you're running some major OS, and your system lacks any type of sound hardware. How is this usually handled by the kernel/OS? Most programs will run just fine anyways, do the progams usually still do syscalls for the sound stuff and the kernel just blackholes the requests?
nvmd has joined #osdev
TkTech has quit [Ping timeout: 258 seconds]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<zid> open("/dev/mixer") or whatever just fails
<zid> and it's up to them to have a 'no sound' route
<zid> plenty of hacked together games just die if DirectSoundCreate fails or whatever
<mjg> i would expect that to transparently work
innegatives has joined #osdev
<mjg> just all the syscalls failing without the prog even realising
smko has joined #osdev
vdamewood has joined #osdev
<geist> right
<geist> in something like windows you'd probably try to open some sort of sound channel and the calls would just fail, syscall or api call
<geist> and then the software would need to deal with it
<geist> perhaps the audio engine of the OS would set up some sort of null sink so you can still pretend to play audio and it just doens't go anywhere
smko has quit [Ping timeout: 245 seconds]
lainon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<bl4ckb0ne> isnt there always a beep thingy on the motherboard
<zid> not since the 2000s
<zid> and almost no OS hooks it up to the normal sound output API
<bl4ckb0ne> the future sucks
<zid> I'm much happier with my 7 segment displays
smko has joined #osdev
<geist> also beep thingy on PCs is nothing like modern audio hardware. it's basically just a clicker connected to a timer
<geist> so you have to manually bang it to generate music or whatnot
smko has quit [Ping timeout: 264 seconds]
<geist> ie, lots of software to try to make it look like a DAC
<zid> 1 bit sound is da best
<zid> Fun fact, 1 bit bitbanging is precisely how pokémon yellow does the 'pikachu' cry when you talk to him
<zid> the game otherwise has to entirely freeze while it'd oing it
<geist> on what hardware?
<zid> it's a gameboy game
<geist> ah the original. there was no DAC like hardware on that?
<zid> no PCM on gameboy
* geist nods
<zid> music/sfx are programmed saw/sine/etc
<zid> but the pikachu cry in yellow is special, it almost sorta sounds like a voice!
<geist> yeah i remember back in the day when anything had some sort of faked out PCM it was a revelation
<zid> You can modulate the audio hw at a few khz if there's few enough instructions between each register poke
gareppa has quit [Quit: WeeChat 3.8]
<zid> so it just sets up the phase/freq/etc it needs to get 1 sample out at the right loudness
<zid> and repeats
<zid> completely hardlocked into that routine, so the screen freezes, music has to stop, etc
<zid> https://www.youtube.com/watch?v=fooSxCuWvZ4 Oh hey there's a video about it
<bslsk05> ​'Pikachu's Cry in Pokémon Yellow Explained' by Retro Game Mechanics Explained (00:21:13)
<geist> yeah RGM is great
FreeFull has joined #osdev
joe9 has joined #osdev
smko has joined #osdev
<zid> 23kHz apparently, with delay loops, so presumably they could have gone harder for more PCM samples
valshaped742 has quit [Read error: Connection reset by peer]
<bnchs> it's impressive how they managed to program PCM samples into pokemon yellow
<bnchs> even though PCM support was only until the gameboy color
<bnchs> i think
valshaped742 has joined #osdev
<zid> oh hey he dives into that, and actually does the *one* optimization I know for gbz80 assembly
<bnchs> i always wondered about that
<bnchs> if the gameboy uses z80
<zid> ah not quite, I think mine is better here too
<bnchs> how come nobody has managed to make a gameboy emulator in a sega mega drive
<bnchs> (which has a M68K main cpu, and a Z80 sub-cpu)
<sham1> The Game Boy uses a CPU made by Sharp, which is based on the Zilog Z80, but simplified in many ways
<bnchs> sham1: yeah, i've heard
<sham1> Z80 on the MegaDrive is both for the sound system and for the MasterSystem compatibility
<bnchs> yeah, the YM2412 is connected to the Z80 bus
<bnchs> but the m68k can access the Z80 bus too
<zid> I never owned a mastergear, would have been useful..
<bnchs> the m68k main cpu takes control of the Z80 bus, writes code to the Z80 memory, and releases it, and makes it run the code
<bnchs> i think
<zid> I do still have my megadrive, but I'd have to play it through my capture card on my PC
<zid> if there are even w10 drivers for it, actually
<zid> nope
<zid> worked on first release, but not the modern one
<zid> or at least, people complained about that, maybe someone has a patched version
<bnchs> for display stuff on the Z80, it could signal to the m68k (maybe an interrupt or a register the m68k cpu checks on a loop), and the m68k could read the display params from the Z80 memory, and access the VDP accordingly
awita has quit [Remote host closed the connection]
smko has quit [Ping timeout: 246 seconds]
innegatives has quit [Quit: WeeChat 4.0.0]
<geist> someone here years ago i used to be able to trigger by saying the gameboy had a z80 in it
<geist> it was kinda fun
<bnchs> NO
<geist> heh i think it was you
<geist> sircmpwn or something
<bnchs> it was a SHARP cpu, NOT A Z80
<bnchs> aaaaa
<geist> yeah that good ol z80 in the gameboy
* bnchs explodes
<geist> teehee
<geist> as much as i'm not really into tormenting people, that was a good one
<geist> i guess the way to trigger me would be to call something like arm8 when it's armv8
<geist> or risk5
<bnchs> that's all good
<geist> rv5 is pretty bad
<bnchs> but
<bnchs> if you diss my boy m68k
<bnchs> i will kill you
<geist> oh man 68k is the bomb. i have one right here
<geist> even ported my silly OS to it
zid has quit [Read error: Connection reset by peer]
<geist> i sorta wish i kept the old NeXT slab i had, but it was not good to hack on
<geist> mostly just to look at
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 240 seconds]
heat has joined #osdev
zid has joined #osdev
<zid> Hrmph, machine died out of nowhere, I blame PGO so I lessened it off a bit and then made noodles
<sham1> Profile-guided noodles
<zid> POG? I forget what it's called
<zid> PBO!
<zid> Penis boost optimization, the tool gave me -25 on everything and -23 on one core, I just changed it all to -20, whatever that means
<zid> took a few days to crash so that should be *plenty*, assuming that's what caused it
<sham1> BOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOST
<Ermine> Meanwhile Iceland is considered to be the most peaceful country
<sham1> The nature is too pretty there
<zid> because there's no people there
<zid> hard to get into arguments when the density is 1 per km^2
gog is now known as pog
<pog> pog
<zid> pop
<pog> i just guided some noodles into my face hole
<zid> same
<pog> nice
<pog> what kind of sauce
<zid> I did noogle, then diced some onion + ginger, had some garlic puree, added soy sauce water and chili powder
<zid> just pushed it aorund a pan for a bit while noogles cooked
<zid> tossed noogles into pan when done, stirred through, ate
<zid> basically, I took what I found in the cupboard that was any kind of condiment or alum
<zid> allium
<PublicWiFi> sorry didn't mean to ask a question then ghost haha
<zid> well there's a lovely answer up there for you to read
<pog> i had broccoli and pene in garlic butter
<zid> hand crafted one
<PublicWiFi> yeah, I think with my kernel and OS (8-bit system though), I'm going to just allow programs to call the sound API and the kernel will jsut sinkhole them
<zid> pog eats pene
<zid> I knew it
<PublicWiFi> maybe returns some false acks and let the program keep running
<pog> it's the best-tasting pasta
<zid> oh, pasta
<zid> I thought you meant the other one
<pog> not currently, no
<PublicWiFi> then you don't have to write the program defensively and rely on something if it doesn't NEED it (like if the program isn't a sound player lol)
<zid> uses a bunch more cpu though
<PublicWiFi> no more than if it returned from a proper sysacll though right?
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<zid> Only if you *have* that fast path
<PublicWiFi> or you mean the program is calling APIs that do nothing for no reason, so using more CPU
<pog> you could write a little audio shim that has an interface and blackholes when it doesn't find an appropriate device
<zid> program may be *generating* audio
<pog> so you're not trapping into kernel
<zid> that it doesn't need to generate
<pog> also that
<PublicWiFi> right
<zid> and in a proper OS, you'd actually be mixing the audio
<zid> which is fairly computational
<pog> yes
<mcrod> hi
<pog> hi mcrod
<mcrod> hi pog
<PublicWiFi> in my case I'll be using a AY-3-8910 :D
<zid> "OS man, how many hw mixing channels do we have?" "Erm.. 0?"
<zid> "K I will software mix everything then deliver it"
<pog> dang all the little noise gremlins making the sounds will be overburdened with backlog of production
<pog> :(
<PublicWiFi> sound and video are proving to be the most difficult circuits to design haha
<PublicWiFi> im just trying to think about fun problems like this because i want to make this as "real" of an OS as possible
<PublicWiFi> kernel will be able to do threads and etc
<zid> actual sound apis are complicated
<PublicWiFi> dynamicly loaded drivers based on detected hardware
<PublicWiFi> z80 system might be a bit more simple though haha
<zid> Good news, you can just ignore having a proper sound api
<zid> because you're a z80, you can't do proper sound
<PublicWiFi> a byte in kernel RAM dedicated to seeing what kind of sound capabilities I have are woudn't be bad. Boot up, detect hardware, if no sound hardware is found then set sound byte config to 0, then system knows to blackhole all sound syscalls
<PublicWiFi> right lol
<PublicWiFi> "proper" sound
<PublicWiFi> when I say proper I mean syscalls and such like that
<PublicWiFi> the sound chip is square wave generator so that's sad :P
<zid> why would I want to do a syscall for that
<zid> as a developer
<PublicWiFi> well
<PublicWiFi> Im writing my kernel to be linux-like
<zid> Sounds like you're reinventing the like, playstation, which came with a whole bunch of routines in its firmware that takes up a bunch of ram and stuff, and *nothing* uses.
<PublicWiFi> everything is a file, so sorry 1 syscall
<PublicWiFi> VFS will handle the rest
<zid> Everything links against a static library that does it all bare metal by itself, and some games go out of their way to brick the firmware's routines so that they can reclaim its memory
<PublicWiFi> fill certain registers with data, syscall, vfs does the thing based on register data
<mcrod> ah, the playstation bios...
<PublicWiFi> lol wow
<mcrod> unstable piece of shit
<zid> Yea it's also dogshit, which doesn't help the case for using it :P
<mcrod> but hey
<zid> It's slow because syscalls, but then also just bad, or buggy, in a lot of cases
<heat> >everything is a file
<mcrod> it makes the nostalgic noise
<heat> ohno
<PublicWiFi> wattt
<PublicWiFi> xD
alexander has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
<pog> i support overriding the firmware of things that have bad firmware
<pog> what if we had a universal firmware solution
<mcrod> games were known to patch the BIOS of the playstation
<pog> an extensible one
<zid> Yea thankfully some of it lives in ram and you can neuter/modify it
<mcrod> to the worst, it's more efficient to just do the I/O directly
<mcrod> instead of using the BIOS calls to do so
<pog> i mean yeah
<pog> direct access good
<zid> https://github.com/zid/psx/blob/master/irq.asm my irq code for psx is lols
<bslsk05> ​github.com: psx/irq.asm at master · zid/psx · GitHub
<heat> pog: we could ask microsoft and intel to help out?
<mcrod> I'm actually not sure why anyone would use the BIOS calls
<zid> firmware syscall enters ram at 0x80000080, so I copy 'la k0, func; j k0' over it
<mcrod> maybe for portability reasons
<zid> then ask the bios to.. flush icache, because I can't do it
<zid> I'm running out of ram not firmware, so I'd crash
<heat> mips is very similar to riscv lol
<zid> then bios stops bothering me yay
<mcrod> i love mips I
<mcrod> dunno why some people hate on it
<zid> I mean, what's to like about it
<mcrod> it's not super deeply complicated
<zid> delay slots, load delay slots, slow syscalls cus risc register spam
<mcrod> what blows is there's no halt instruction
<zid> no hardware accel for.. anything
<mcrod> as far as I know you can't really put the processor to sleep
<zid> no halt, weird co-processors to implement interesting stuff so the assembly is both mandatory and unportable, etc
<Ermine> pog: may I pet you
<pog> Ermine: yes
* Ermine pets pog
* pog prr
<heat> how's there no halt?
<Ermine> zid: small bunch of people can be aggressive as well
<zid> too busy being MIPS
<heat> how can that support any sort of complex system?
<mcrod> low power
<zid> Ermine: can't have bunches in iceland, no trees
<zid> heat: while(1);
<zid> there, now it's EVENT DRIVEN
<zid> like a REAL CPU
<mcrod> I think he meant how does the CPU not explode
<mcrod> for the 90s, it *is* running a 3D game
<Ermine> At least there is a MIPS assembly course at our CS faculty
<mcrod> honestly
<mcrod> I view these consoles the same way as I would with embedded programming
<mcrod> except your program must work around the hardware, not "you can customize the hardware for your specific needs"
<zid> '3d'
<zid> btw
<mcrod> listen
<zid> psx is strictly 2d :P
<mcrod> I know the GPU is a dumb triangle rasterizer
<sham1> PSX very much does 3D
<mcrod> the 3D magic happens on COP2
<sham1> I've seen it
<zid> psx does not do 3D
<Ermine> Idk how boot works on MIPS devices
<zid> it has no z coordinates
<Ermine> Hence I cannot have a custom firmware on my MIPS router
<sham1> Well neither does your screen
<zid> It can *sort vectors on their third component*, that's as close as its gets to "being 3D"
<sham1> Just divide by Z
<zid> My gpu has *four* coordinates
<heat> mcrod: not even 3d stuff, but a whole UNIX system
<mcrod> can the playstation 1 run linux
<mcrod> find out tonight
<pog> unix is so cool
<mcrod> no it isn't
<sham1> yes it is
<heat> the r3000 was one of the main SVR4 ports
<mcrod> oh neat
<zid> Not only does it not have w, it doesn't have z, pathetic
<sham1> Holy hell, I'm in a combative mood tonight
<mcrod> it is lovely that the PS1 doesn't have a TLB
<pog> if unix was good enough for the kings of old then it's good enough for me
<zid> why would it need a TLB, it doesn't have paging
alexander has joined #osdev
<mcrod> yes dammit I know
<sham1> UNIX: If it's not broken, why fix it
<mcrod> there's no MMU at all is what I'm saying
<heat> it does have an mmu
<mcrod> no it doesn't
<Ermine> I guess I have to use vendor-provided kernel if I want to make my own firmware?
<heat> at least the SVR4 uses one
<zid> it has.. segmentation, but it's hard-locked to be 'shit'
<heat> i don't think they support nommu
<zid> Basically it has an MTRR
<mcrod> the playstation CPU is literally nommu, nofloat and an extra coprocessor for geometry calculations
<mcrod> fun fact: the BIOS has floating point calls, accordingly it will crash if you use them
<Ermine> But why does it need them?
<zid> floats are pretty useful for 3D
<mcrod> Ermine I'm talking stuff like atof()
<mcrod> the BIOS will crash as it tries to call a cop1 instruction, which isn't implemented
<zid> You have to do everything fixpoint, you ever try writing quaternions in 20.11 fixed point? :(
<pog> Basic Standard Library Operating System
<heat> mcrod the r3000 the book describes does have a TLB
<mcrod> yeah but you can shut it off by setting the TS bit in the SR register
<mcrod> I can definitely say that the playstation CPU that was shipped, TS is fixed to 1 from bootup
<mcrod> if you want to suffer, you could pull in softfloat but then I'd laugh at you
<Ermine> PS creators are geniuses
<mcrod> and so would the rest of your team members
innegatives has joined #osdev
<Ermine> They definitely used 100% of their brain
<sham1> I BLOODY LOVE UNIX
<Ermine> IMO Unix ttys are broken
<zid> I wonder how far into development they realized that 3D was actually viable
<zid> and not just a gimmick that title screens might use
<mcrod> what I want to get my hands on is an original PSX developer unit
<mcrod> they exist in fair abundance on ebay
<sham1> Many things in UNIX are, but they are also good enough clearly
<zid> can't you settle for a yaroze?
<zid> like a normal person
<mcrod> even if I could
<mcrod> i'd like to have the PC card that you had to install into your PC so I could use the fancy tools that sony has
<mcrod> and that is nowhere to be found
<Ermine> Like PS SDK?
<mcrod> the PS SDK software is readily available
<mcrod> hooking up a playstation to any of the SDK tools, that required you to install a card into a PCI slot
<mcrod> and getting that card is _rare_
<bslsk05> ​www.retrogames.co.uk: PSY-Q Playstation Development System from Retrogames
<zid> Out of stock sadly :P
<Ermine> Ah
<mcrod> fun fact
<mcrod> psyq was gcc I think
<zid> yea like gcc.. 3
<mcrod> this is what I'm talking about
<zid> I like how that was just an inhouse thing for psygnosis btw
<mcrod> was it?
<zid> the one I linked is
<mcrod> ah
<bslsk05> ​platypuscomix.com: Things you can't ever have
lainon has joined #osdev
<sham1> At some point I've felt like I'd like to write an OS with pure Assembly, probably in the x86 family. To try and capture the magic of DOS, but 64-bit probably makes it a bit tedious and probably not worth it
<sham1> Even if I had some very nice macro assembler
<zid> That ultimate dev part
<zid> doesn't have the PCI version
<zid> oh yes it does derp
<zid> ignore me I am dumb and smell
<zid> nic has a htl 2000 and 2500 if you wanna make a bid, mcrod :p
<mcrod> nah
<mcrod> more important priorities than blowing my money is using it for moving purposes in august
<zid> so no buying me a new controller so I can beat heat at rocket league? :(
<mcrod> i'm afraid not my friend
<sham1> I bought a steam deck
<mcrod> maybe not yet :')
<sham1> For myself though
<zid> I don't have any paypal monies and I found a controller that doesn't look like ass and is £15 instead of the £60 sony/mcirosoft want
<zid> so I need to idk, suck a dick or something
CryptoDavid has joined #osdev
<zid> okay done
<bslsk05> ​www.openwall.com: oss-security - StackRot (CVE-2023-3269): Linux kernel privilege escalation vulnerability
<zid> I knew maple trees were a bad idea
[itchyjunk] has quit [Ping timeout: 246 seconds]
SGautam has quit [Quit: Connection closed for inactivity]
[itchyjunk] has joined #osdev
smko has joined #osdev
smko has quit [Ping timeout: 250 seconds]
edr has quit [Ping timeout: 264 seconds]
ih8win8 has quit [Ping timeout: 245 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #osdev
elastic_dog has quit [Ping timeout: 258 seconds]
ih8win8 has joined #osdev
ih8win8 has quit [Client Quit]
Turn_Left has quit [Read error: Connection reset by peer]
elastic_dog has joined #osdev
mcfrdy has quit [Ping timeout: 264 seconds]
<heat> haha
<heat> mjg: see, scalability bad
mcfrdy has joined #osdev
<mjg> what
<mjg> lul maple syroup strikes back
foudfou has quit [Ping timeout: 240 seconds]
foudfou has joined #osdev
innegatives has quit [Quit: WeeChat 4.0.0]
lainon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
carbonfiber has quit [Quit: Connection closed for inactivity]
nyah has quit [Quit: leaving]
<heat> funny how it has nothing to do with maple trees
<heat> just lockless fuggery
<zid> well if you need to take a new lock that you didn't have to take previously
<zid> because someone updated the type of data structure
<zid> without auditing all the callsites
<zid> then it's definitely to do with maple trees
<heat> but that wasn't the case
<heat> the page fault path is endlessly duplicated, but you always had to formally lock the mmap sem before touching shit
<heat> that worked by chance, because expand_stack previously just touched vm_start and you didn't need to touch any other data structures
<zid> The problem is that abutting regions in the maple tree can't exist you *have* to merge them, or something, I thought
<zid> and merging needs the lock taking
<zid> and nobody had taken it in the stack grow path, so stack grow should never had done anything that could cause two regions to touch
<heat> yeah, you need the lock now, but AFAIK the rules were always "if touching regions, lock_write"
<heat> it was just a giant hack that Worked and made things faster
<heat> Worked until it didn't, and cuz logic is all duplicated everywhere...
<heat> maybe that's just me, but all the logic should be heavily shareable...
<zid> It's just one of those not very solveable CS things
<zid> (The need to keep unrelated things semantically related, so that changes to one break/update the other automatically)