<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?
<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
<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
<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