<immibis>
a low-pass filter might also be useful :P
<immibis>
put your talking piano in a padded room
<immibis>
so nobody has to hear the zillions of key presses per second
<immibis>
(btw this remix has a 2 minute intro so skip that far to hear what singing sounds like)
<kof13>
it just makes me think of a cartoon or something and a character who only speaks as https://chrono.fandom.com/wiki/Gato ♪♪♪♪♪♪♪ fly out of its mouth when it talks
<kof13>
on a fast enough system it could be a /dev/midifilter sound device :D although presumably with modern daemons/etc. that would be a better place for such a "filter"
vdamewood has quit [Quit: Life beckons]
torresjrjr has quit [Ping timeout: 248 seconds]
torresjrjr_ has joined #osdev
jjuran has joined #osdev
Gooberpatrol66 has joined #osdev
<kof13>
yeah that sounds similar
<kof13>
i really don't know this stuff, and not to get further off-topic, but i suspect you can simulate sounds with whatever other sound, akin to writing programming language x using/within y > no guitar samples were used for this tune... only synths.. https://modarchive.org/index.php?request=view_by_moduleid&query=59893
orccoin has quit [Ping timeout: 240 seconds]
<Hammdist>
ah I was saving spsr and it I now notice it has a copy of the processor flags in it. I see now, thanks
netbsduser` has quit [Ping timeout: 240 seconds]
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 255 seconds]
[itchyjunk] has quit [Remote host closed the connection]
vdamewood has joined #osdev
gog has quit [Ping timeout: 240 seconds]
Arthuria has joined #osdev
heat has quit [Ping timeout: 246 seconds]
heat has joined #osdev
Arthuria has quit [Ping timeout: 255 seconds]
elastic_dog has quit [Ping timeout: 255 seconds]
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
heat has quit [Ping timeout: 245 seconds]
elastic_dog has joined #osdev
<clever>
immibis: ive been doing PWM audio recently, and had a surprisingly hard time getting good quality, you happen to know anything that might help?
Burgundy has joined #osdev
<zid>
heh, cute series I just found on youtube, he's planning to 'start an ISP'
<zid>
by which I mean, a 1993 isp, he's bought a sparcstation and some dialup modems etc
<immibis>
how old is the series?
<zid>
brand new, not a lot of content yet sadly
<immibis>
is this a retro project or does he really think that is useful?
<zid>
huh
<zid>
yes, he's adamant that 14.4k baud internet serving 5 users is the future of ISPs, and has invested billions of dollars so far.
<immibis>
I mean is it just for fun using old worthless hardware or are we talking about a delusional person
<immibis>
some people are...
<zid>
and by extension me, for promoting it?
<immibis>
clever: wouldn't call myself an expert and would probably have to hear what you've made but - PWM frequency as high as you can set it, as much resolution as you can set it (sometimes those are contradictory, make a tradeoff but don't leave anything on the table), and make sure you have some lowpass filtering ability (this can come after the PWM)
Burgundy has quit [Ping timeout: 255 seconds]
<immibis>
not sure why I wrote the last part in parentheses... I meant to say the speaker can be part of the filtering
torresjrjr_ has quit [Ping timeout: 255 seconds]
torresjrjr_ has joined #osdev
<sham1>
hi
<zid>
His Ham.
Arthuria has joined #osdev
gabi-250 has quit [Remote host closed the connection]
gabi-250 has joined #osdev
<clever>
immibis: the issue, is that the refclk is basically just pwm_freq * resolution
<clever>
immibis: so a 44khz 16bit audio sample, would need a ~2.8ghz reference clock (44000 * Math.pow(2,16))
<immibis>
but you don't need 16 bit resolution
<immibis>
not for the PWM, anyway
<clever>
yeah
<clever>
a lower resolution makes the clocks reasonable
<immibis>
of course it would be bad apple. This is the normal raspberry pi audio port, and you are trying to diagnose why your firmware is worse than the official firmware?
<clever>
yeah
<clever>
also, i made a terrible mistake with the first audio test :P
<clever>
also, re-listening to that one again, it sounds ... better?
<clever>
but it doesnt have the same impulses from a drum
<immibis>
you are not making this project for silliness: https://youtu.be/3RFOd_rdbro - you are actually trying to get something that is designed to be used as an audio port to play audio
<clever>
yeah
<immibis>
that audio is recorded directly out of the UART port
<clever>
its a mix of many things, 1: a stress test of the whole stack, 2: 2d accel, 3: audio playback
<clever>
i had finished implementing usb-host, and ext4/msd support
<clever>
and then i got side-tracked, lets play bad apple from a usb stick :P
<clever>
it wound up revealing a few bugs in my usb stack
<immibis>
you could dump the PWM module registers while running official firmware and yours to see if there's any difference
<clever>
i do also have a forum post explaining how the official audio is configured
<clever>
its generating 7bit PWM samples, and clocked at 100mhz, giving a pwm rate of 781.25khz
<clever>
some vector math is then doing non-integer up-sampling, and dithering from 16bit->7bit, and applying EQ stuff to compensate for the analog filters
<immibis>
clicking like that might possibly be caused by integer overflow. Drums are sine-wave-ish with low frequency and often higher amplitude than everything else combined. They could trigger overflow.
<clever>
but i dont know enough to reproduce all of that math
<clever>
if i just drive the PWM directly at the audio sample rate, so its 1 pulse per sample, you get what you heard in the above recordings
<immibis>
dithering means add a random -1/256 to 1/256 before rounding to the nearest 1/128. You can do that to improve quality. I don't think not having it would cause this clicking
<clever>
with the OVERSAMPLE flag in the above code, i can increase the pwm rate to some integer multiple of the samplerate
<clever>
and just play each sample N times
<clever>
but thats not properly doing a linear interpolation between the previous and next sample
<clever>
and raising N makes it sound worse and worse
<immibis>
you have defined BITS as 8 but you say the PWM is 7 bits
<clever>
the part of the code i linked, is also responsible for converting the 16bit audio to 8bit audio
<clever>
the official firmware does 7bit at 781.25khz
<clever>
my code is doing 8bit at 44khz
<clever>
the PWM peripheral also has 3 modes
<clever>
in PWM mode, its 1 pulse per sample, where the pulse is N clocks long, and the period is always RANGE clocks long: https://i.imgur.com/EwLF1z1.jpg
<immibis>
by the way is this pin hardwired as PWM? if it supports some other high speed transfer mode like SPI you could get even better audio quality with higher processing power by using delta sigma modulation
Arthuria has quit [Read error: Connection reset by peer]
<clever>
in M/S mode, its randomly alternating between high and low, so its N highs out of RANGE, https://i.imgur.com/psihmB8.jpg
<clever>
which gets rid of the strong tone at the pwm rate
<immibis>
(M/S mode sounds the same as delta/sigma modulation)
<clever>
and then it just has serializer mode, where you give it a 32bit sample, and it shifts it out at $clock
<clever>
i cant hear any real difference between PWM and M/S
<clever>
serializer mode, would let you implement any custom thing you want
<clever>
you just have to generate an array of bits, and store them in ram
<clever>
and unlike SPI, it wont pause every time your transfer-size register overflows
<clever>
41 can act as MOSI, but 40 is MISO, so you would lose an audio channel
<clever>
and that plan would fail on the pi4b, where 45 is one of the audio channels, that can only do SPI CS or i2c SCL (ontop of pwm or gpio)
<clever>
immibis: the other major problem i can see, is that PWM mode, has each pulse starting at the same point, relative to a 44khz clock, so there might be some weird effects, where the offset from low to next high, depends on the volume, which could introduce unwanted frequencies
<clever>
but i M/S kinda complicates matters, and i cant predict what it would do then
<clever>
the other major difference, between the bad-apple sample, and the wear sample (the other song), is how i manage the data buffers
<clever>
wear, was a single .bin file, baked directly into the `.rodata` section, with dma configured to just copy the whole thing into the PWM FIFO
<clever>
so its kind of a set it, and forget it style of playback
<immibis>
the drum clicks still make me think of integer overflow. You could try a less complicated test file, just some drum by itself, or lowpass filter bad apple (audacity can do this) and then if overflow is right, it should be possible to look at the recording's waveform and see it
<clever>
but bad apple, is far more complex
<clever>
there is an array of 1024 samples (adjustable, line 81), which is split in half
<clever>
dma is configured to copy a,b,a,b,... into pwm, and fire an irq when each half is done
<clever>
a thread then blocks on an event from that irq, reads 4096 byte chunks from ext4/usb, and keeps the ringbuffer topped up
<immibis>
another mistake that would be easy to make is mixing endianness - if your audio file is really quiet so all the samples are under+/-128 except for the drum beats
gabi-250 has quit [Ping timeout: 246 seconds]
<clever>
hmmm, when i was using .bin format, i had to specify be vs le in ffmpeg args, and yeah it did sound way worse when that was wrong
<clever>
but some math, says that would have been clocked at 1048mhz, which seems a bit high
<clever>
not sure what numbers i last used
<clever>
i did try asking ffmpeg to output ~700khz audio, but then it changed some special header in the .wav, and it was too much data for usb2 to handle
<clever>
so i cant just pre-upsample it
goliath has joined #osdev
stux has quit [Server closed connection]
<clever>
immibis: i'll need to get the hardware wired up again, and get back to you tomorrow, its already 3am here
<immibis>
remember i'm no more an expert on this than you are - even if i did play bad apple on a uart
<clever>
yeah
GeDaMo has joined #osdev
xvmt has joined #osdev
woky has quit [Server closed connection]
woky has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
KidBeta has joined #osdev
gog has joined #osdev
orccoin has joined #osdev
CaCode has joined #osdev
CaCode has left #osdev [#osdev]
HeTo has joined #osdev
Burgundy has joined #osdev
Vercas has joined #osdev
nyah has joined #osdev
xelxebar has quit [Server closed connection]
xelxebar has joined #osdev
eau has quit [Ping timeout: 255 seconds]
Vercas has quit [Ping timeout: 246 seconds]
eau has joined #osdev
Vercas has joined #osdev
Left_Turn has joined #osdev
elastic_dog has quit [Ping timeout: 245 seconds]
eschaton has quit [Server closed connection]
eschaton has joined #osdev
elastic_dog has joined #osdev
netbsduser` has joined #osdev
sudden has quit [Server closed connection]
sudden has joined #osdev
orccoin has quit [Ping timeout: 252 seconds]
KidBeta has quit [Remote host closed the connection]
netbsduser` has quit [Ping timeout: 255 seconds]
zxrom has quit [Quit: Leaving]
netbsduser` has joined #osdev
pch has quit [Server closed connection]
DanielNechtan is now known as bombuzal
grumbler has joined #osdev
Arthuria has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
<netbsduser`>
drivers for windows' Storport framework (for fast storage bus adapters) turn out to be almost completely self-contained and depending only on storport routines
<netbsduser`>
i wonder whether i might be able to shim it and load these drivers for a lark
<gog>
windows NT has a good driver model fite me
goliath has quit [Quit: SIGSEGV]
<netbsduser`>
gog: it's profoundly asynchronous which is nice
<netbsduser`>
i stole an idea from some microsoft chap as well when i was implementing a streams-like framework for my kernel
<netbsduser`>
this guy invented something to do with filesystem filtering, and he suggested that in place of recursive calls up/down the driver stack as used in Windows, instead he would rather have an iterative mechanism where a driver returns information about what to do next
heat has joined #osdev
<netbsduser`>
it saves greatly on kernel stack this way (windows apparently has a mechanism whereby if the call stack is getting too big in an i/o codepath, it first tries to extend the kernel stack; if that fails, it executes the driver call that would overflow in a worker thread instead)
<Ermine>
heat: I'm looking at #85
<heat>
Ermine, nice! see the tty code for starters
<heat>
or pipe, pipe is probably simpler
<heat>
test for pipe should be "write(n bytes), readv({n bytes, 1 byte})", verify it blocks, then fix, then make sure it doesn't block
TheCatCollective has joined #osdev
<heat>
O_NONBLOCK is probably useful there
kpel has joined #osdev
<Ermine>
so 'verify it blocks' would be 'check if it returns EWOULDBLOCK' ?
<heat>
yeah sgtm
<heat>
you could add it to kernel_api_tests
apokryptein has quit [Quit: Leaving]
<Ermine>
Ok
bnchs has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
x8dcc has joined #osdev
<x8dcc>
Hello, does anyone know if the intel manual has a similar figure for the segment descriptor as the one in the GDT page of the osdev wiki? I found one for the gdtr (vol. 3, fig. 2-6) but none for the segment descriptors
Hammdist has quit [Quit: Client closed]
Hammdist has joined #osdev
<gog>
the AMD has better figures for the descriptors
<Ermine>
Anadia people have fun time with wine on the streets meanwhile
gildasio has joined #osdev
<x8dcc>
gog: Thanks, that's useful. I didn't even know AMD had a manual like that. Doesn't look as good as Intel, but the index at least looks cleaner :)
<x8dcc>
I would still like to know if the Intel Manual has a similar figure as the one on the wiki, though
<gog>
it does i just can't remember where
<x8dcc>
which is basically Figure 4-13 of the amd manual you sent
<gog>
the AMD manual is a little more condensed
<gog>
and i just like it better
<gog>
also RYYYYYYYYYYYYYZEN
<x8dcc>
gog: well, at least I can search for it now that I know the intel manual has one :)
bleb has quit [Server closed connection]
bleb has joined #osdev
<x8dcc>
found it: Vol. 3, Figure 3-8
kpel has quit [Quit: Leaving]
zxrom has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
joe9 has quit [Ping timeout: 240 seconds]
goliath has joined #osdev
flom84 has joined #osdev
sebastiencs has quit [Server closed connection]
sebastiencs has joined #osdev
<bl4ckb0ne>
what happened to the memory acquired through allocatepool time when getting the memory map?
<bl4ckb0ne>
is it omitted, or do I have to be careful not to overwrite it
<heat>
it's in the memory map
<heat>
assuming this is EFI AllocatePool you're talking about
<bl4ckb0ne>
yep
<mcrod>
hi
<bl4ckb0ne>
i also dont get that from the spec
<bl4ckb0ne>
>The AllocatePool() function allocates a memory region of Size bytes from memory of type PoolType and returns the address of the allocated memory in the location referenced by Buffer. This function allocates pages from EfiConventionalMemory as needed to grow the requested pool type
<bl4ckb0ne>
if PoolType is EfiLoaderData
<bl4ckb0ne>
will it still take memory from EfiConventionalMemory?
<heat>
yes
<heat>
all of DRAM is conventional memory, and you carve from it
<heat>
so AllocatePages for EfiLoaderData carves from conventional memory
<mcrod>
heat: i'm doing real embedded work today
<mcrod>
what say you
<heat>
(and allocatepool ends up in allocatepages or similar)
<heat>
mcrod, ew embedded
<bl4ckb0ne>
i see
<mcrod>
i actually am using an oscilloscope to
<mcrod>
o
<mcrod>
they are fun
<mcrod>
buy one
<bl4ckb0ne>
so EfiLoaderData is just a fancy name for some memory region that ends up being EfiConventionalMemory
dude12312414 has joined #osdev
<gog>
EfiLoaderData is the allocation type
<gog>
EfiConventionalMemory is the range type
<gog>
so when you look at the memory map for allocated blocks it'll tell you what the allocation type is
<bl4ckb0ne>
so EfiLoaderData and EfiLoaderCode memory type should not be used by the kernel past exitBootServices
<heat>
well yes because its *you* lol
* bl4ckb0ne
loves the smell of footguns in the morning
<bl4ckb0ne>
should've done that in C++
<gog>
EfiBootServices{Data,Code} and EfiLoader{Data,Code} become available for use after ExitBootServices()
<gog>
and data in a region may still be there, but if you need to pass data along to a kernel you may as well define your own EFI_MEMORY_TYPE > 0x80000000 iirc
<bl4ckb0ne>
not efiloaderdata/code
<gog>
what does the spec say
<bl4ckb0ne>
gah fuck i lost it
<bl4ckb0ne>
> On success, the UEFI OS loader owns all available memory in the system. In addition, the UEFI OS loader can treat all memory in the map marked as EfiBootServicesCode and EfiBootServicesData as available free memory.
<zid>
wonder how much extra it cost vs a reg game at the time
<gorgonical>
oh that's really cool
<gorgonical>
wow
<zid>
It came with a friend's computer I think, the pack in game, along with total annihilation
<zid>
I ended up with it cus he was never going to play it
<zid>
we played a fuck lot of total annihilation though
<gorgonical>
is that an rts?
<zid>
TA is yea
<zid>
The first one to use 3d models I think
<gorgonical>
hmm
<gorgonical>
I played loads of warcraft 3 as a kid
<gorgonical>
Never did play dota though lol
<zid>
wc3 was harrrd
<gorgonical>
I was actually pretty good at the game and played ranked and did reasonably well
<gorgonical>
certainly not top 10% but I was an excellent turtler as humans
<zid>
grubby, moon, and gorgonical.
<gog>
hi
<gorgonical>
hello hello
<gog>
wc3 was very hard i think it was a long time before i ever beat the campaign
teroshan97 has quit [Server closed connection]
teroshan97 has joined #osdev
<heat>
hi
<gog>
i'm making curry for dinner
<gog>
i have garam masala and turmeric and paprika
<zid>
paprika is just red dye
<gorgonical>
unless you use a lot of it
<gog>
it sort of has a flavor
<gorgonical>
that's what i had to learn, to use like three times as much as you think
<zid>
not that you'd taste through garam masala
<gog>
yes
<gog>
the turmeric and paprika are mostly for color
<netbsduser`>
gog: best wishes
<zid>
I bought some madras powder from ebay once, it was bad :(
<netbsduser`>
i'm british asian and my first summer job was at a bengali/indian restaurant
<netbsduser`>
give me a shout if you want advice
<zid>
netbsduser`: make me a madras
<gog>
nice ty :D
<gog>
there used to be an asian grocery downtown that i loved but they lasted like a year before closing down
<gog>
now it's a similar market but they don't have any of the imported snacks or spices
<zid>
oh, and enough popadoms so that when stacked the ones at the bottom start to break
<zid>
thanks
<gog>
i've neveer tried to make popadoms i should do that
<ripsquid>
Small question, How do I learn about debugging something I think is "triple fault?" or something that makes qemu close? How do I figure out what instruction that makes it happen? Could anyone lead me to any helpful resource?
<gog>
ooh or samosas
<zid>
-d int
<zid>
-no-reboot -no-shutdown
<gog>
ripsquid: -d int -no-restart
<gog>
yeah
<zid>
no something
<zid>
reboot or restart, try!
<heat>
what zid said
<heat>
--no-reboot --no-shutdown
<heat>
plus -d int
<gog>
yes
<zid>
-no-reboot
<heat>
plus the qemu monitor's info registers etc etc even gdb can help you there maybe
<zid>
I checked
<ripsquid>
What does -d int do? I have no-reboot and no-shutdown since before.
<zid>
traces interrupts
<zid>
aka exceptions
<gorgonical>
so if you have your output somewhere else than the monitor you'll be able to see what interrupts occurred
<zid>
you'll get like old 0xffff new 0xd <info about the exception> old 0xd new 0xe <info about exception> old 0xe new 0xe <info about exception> then -no-reboot will hang it
<zid>
and you have a lovely trace to look at for what caused your triplefault
<ripsquid>
Okay. I am trying to setup interrupts and exceptions. My "OS" just makes qemu pause even while I think I am successfully running lidt and related code. But I'll see what -d int gives me
<gog>
descriptor tables are annoying and a very common stumbling block
<gorgonical>
it took me a long time to make them work correctly too
<zid>
my lidt is the one thing that always worked
<zid>
gdt I've fucked up a few times
<gog>
idt is only one kind of descriptor really
<zid>
mainly because it has loads more fields
<zid>
and you load it way more often
<gog>
at least i think you can only have gate descriptors in the IDT and only ones that are traps, interrupts or faults
<zid>
imagine using anything but interrupt
<gog>
GDT stands for God Damn Table
<gorgonical>
i don't even really know what the other two do
<zid>
same
<gorgonical>
i never did figure out how to use traps
<gog>
they don't clear IF on entry
netbsduser` has quit [Quit: Leaving]
<zid>
disgasting
<gog>
or rather, teh CPU won't clear them when vectored to
<gog>
s/them/it
<gog>
idk
<gog>
i'm not a computer person really
<gog>
i just spend all day with computers and make money by touching them and entering arcane symbols and formula
<gog>
i should've been a dancer instead
<gog>
this sucks
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<mcrod>
that's ok
<mcrod>
everything is terrible
<gorgonical>
i'm definitely gonna be bald by the time i get my phd
<mcrod>
everyone i know is bald
<mcrod>
and i just turned 29
<mcrod>
.
<zid>
yes, everybody you know is bald
<zid>
and we all believe that
<mcrod>
you should
<mcrod>
i'm willing to bet you're bald
<zid>
my hair goes below my shoulders
<gorgonical>
it could be true if you live on that mountain in greece where no women are allowed
<gorgonical>
mt athos?
<mcrod>
also, "everyone" isn't so literal here
<gog>
i know a weird trick to prevent baldness but you probably won't like it
<zid>
no fair, bald women are hot
<gorgonical>
gog: lol
<zid>
gog: hrt?
<gog>
bingo
<zid>
I was about to ask actually
<zid>
if trans women dodged male baldness
<gog>
it actually depends
<zid>
(ngl it'd be kinda funny if they didn't)
<gorgonical>
genetically i never had a chance. there's not a man in my family that isn't bald
<zid>
my dad had hair when he died
<gog>
my hairline was receding a bit and is a little bit high but i got about 1cm of vellus hair back
<zid>
I should be okay enough
<zid>
and grandad on mother's side had *some* hair left in his 80s
<zid>
I've slowly been going grey for 15 years though
<zid>
I think it's exponentially ramping, but I am still at the 0.00000001 stage
zxrom has joined #osdev
<zid>
I'll just go FWOOMP at some point and be totally grey
<zid>
gog: when you go grey are you going purple rinse?
<gorgonical>
I didn't know the old lady hair dye had a name
<zid>
rip barry humpries
<gorgonical>
I finally have my two kernels communicating over IPI and trustzone boundaries on hardware
<gorgonical>
the value between them is not correct but that's probably a mmu/coherency misconfiguration
<gorgonical>
Fuckin qemu cost me so much time and caused me so much pain
<gorgonical>
:c
<zid>
you expected accurate trustzone emulation in qemu? O_o
<gorgonical>
no
<gorgonical>
i expected accurate memory behavior in qemu
<gorgonical>
worse
<zid>
yea that's a bit of a hard sell
<zid>
almost no emulators do that
<zid>
because it's just SO much slower and much more work
<gorgonical>
there is also some wildly inaccurate trustzone behavior on the board
<zid>
like, 100x slower a lot of the time
<gorgonical>
which qemu *did* implement correctly
ripsquid has quit [Read error: Connection reset by peer]
<gog>
i have too much red for purple rinse to work :(
<gog>
i tried this temporary color because i wanted some of the pink back but it didn't take4
<geist>
oh grats for finally getting that going
<geist>
what was the final problem you had to figure out?
<geist>
well, gorgonical is who i was asking, but hair color is interesting too!
<gorgonical>
geist: finally we resigned to the fact that the board is just not implementing secure/non-secure access correctly, and the behavior is seen with other secure oses
<gorgonical>
i built up op-tee from their whole stack and it also shows the same behavior on my board
<gorgonical>
so after that it was pretty smooth sailing honestly lol
<geist>
yah makes sense. at the end of the day the secure/nonsecure stuff is just a biton the AXI trasnsactino the hardware has to actually honor
<gorgonical>
the wacky thing is that linux can read the secure version but writes the non-secure version, but the bits that are supposed to be mapped between the two versions are not really
<gorgonical>
it is insane
<gorgonical>
like linux, running with scr_el3.ns==1, can just disable gicd security board-wide
Left_Turn has joined #osdev
Burgundy has joined #osdev
<gorgonical>
i lost so much time on this because it wasn't resolved by me recognizing some mis-set bit. I had to actually sit down and characterize the strange behavior to understand what was happening
Turn_Left has quit [Ping timeout: 252 seconds]
klange has quit [Server closed connection]
klange has joined #osdev
<gog>
geist: :P
<gog>
i know
netbsduser has joined #osdev
ripsquid has joined #osdev
foudfou has quit [Quit: Bye]
<sham1>
hi
<gog>
hi
<gog>
would you like some curry
<mcrod>
yes
<gorgonical>
I would really like some egg curry
<gog>
egg curry :o
x8dcc has joined #osdev
<x8dcc>
Hello, everyone
<gog>
meowdy
<gorgonical>
Just whole eggs cooked until the yolks are a little jammy, stirred into whatever curry you like to stain and flavor them. I use a coconut curry cause the original idea was from south indian cuisine
<gog>
nice
<gog>
sounds tasty
<gog>
my sauce base was coconut too
<gog>
i used to think i didn't like the flavor or smell of coconut but it actually doesn't bother me anymore. i still don't like the texture of flaked coconut
xenos1984 has quit [Read error: Connection reset by peer]
Vercas has quit [Ping timeout: 246 seconds]
joe9 has joined #osdev
mahk has quit [Ping timeout: 248 seconds]
Vercas has joined #osdev
xenos1984 has joined #osdev
bslsk05 has joined #osdev
ripsquid has quit [Ping timeout: 255 seconds]
sortie has quit [Quit: Leaving]
ripsquid has joined #osdev
cloudowind has joined #osdev
<zid>
welp, bookworm finally did it
<zid>
the thing it's about, happened
<heat>
>I am trying to run xv-6 on kali linux
<heat>
cheers mate
<heat>
who the fuck uses kali linux
<mcrod>
your mom
<cloudowind>
heat: a lot using that
<heat>
my mom does not use linux
<heat>
much less pseudo-hacker linux
<heat>
>With version 2020.3 in August 2020, the default shell was switched from Bash to ZSH
<heat>
holy shit wow please die
<mcrod>
i use zsh
<heat>
i respect people that use zsh
<heat>
but switching the default? fucking hell
<mcrod>
therefore I am obligated to do thi-
<mcrod>
okay, you have saved yourself from utter destruction
<kof13>
i know for a fact that guy uses kali linux <points at indiana jones rope bridge scene>
<heat>
it's like if i make a distro whose default shell is tcsh
<heat>
or mksh
<heat>
i'm really begging to get shot
<CompanionCube>
'Early versions of Mac OS X shipped with tcsh as the default shell, but the default for new accounts became bash as of 10.3 then zsh as of 10.15.'
<CompanionCube>
heat: could be worse, default shell could be fish, but wrong vibe
<heat>
yeah early versions of macOS shipped with tcsh because it's a netfreebsd ripoff
<heat>
netfreebsdmach ripoff
<heat>
fish being the default shell would however be funny as fuck
<mcrod>
i should figure out a way to lower my blood pressure
<mcrod>
before i stroke and die
<mcrod>
if I ever get around to an OS
<mcrod>
I would like to make it POSIX compliant
<kof13>
nextstep had zsh IIRC but it wasn't default of course
<mcrod>
as in, certified
<heat>
lmao
<mcrod>
that'll never happen
<mcrod>
but I can dream
<CompanionCube>
heat: microsoft should publish a distro with pwsh as the default, for the memes.
<zid>
I can't tell the difference between zsh and bash other than that portage has theme packs for zsh
<heat>
you realize the POSIX stamp is just something you basically pay for?
<mcrod>
is it?
<heat>
yes
<mcrod>
don't they have a fancy test suite
<heat>
horrendous test suite yes
nur has quit [Remote host closed the connection]
<mcrod>
how do you know
<CompanionCube>
hence why macOS is certified and linux isn't.
<heat>
i've poked many holes at le dear UNIX-certified macOS's path walking from a test suite I wrote in a few hours
nur has joined #osdev
<mcrod>
ah
<heat>
written based on the wording
<heat>
like, non-POSIX certified systems did better than macOS
<heat>
POSIX is also kinda the bare minimum of everything
<heat>
if you strive to be POSIX only you're like the vanilla of flavors
<moon-child>
zsh is great but there is a special place for people that 'juice'/'rice' (or whatever they call) it
<heat>
it's not really usable
<mcrod>
sure, but that's "unix"
<mcrod>
if you're fully compliant with SUS, you should be theoretically as usable as anything else
<heat>
no
<heat>
because anything else implements a boatload of extensions
<heat>
and /dev/poll for the solaris fans out there
<zid>
fine I'll fucking use epoll geez
<heat>
/dev/poll actually looks really ez to implement
<heat>
>The /dev/poll device, associated driver and corresponding manpages may be removed in a future Solaris release. For similar functionality in the event ports framework, see port_create(3C).
<heat>
:(
<CompanionCube>
funny quote from the illumos manpage: 'The /dev/poll driver does not yet support polling.'