<bslsk05>
github.com: boros/virtio.c at master · zid/boros · GitHub
kaitsh has joined #osdev
<sham1>
> u8
<zid>
Yes.
<heat>
yes.
<zid>
unsigned char is hard to type
<heat>
uint8_t is a bruh moment
<heat>
unsignedintegerof8bits_type
<zid>
also makes you need -std=c99 for no reason
<zid>
all of this code is C89
<heat>
WG14 mofos were this close to that
<sham1>
> c89
<heat>
> sham1
<zid>
Yea found the cringe part
<zid>
> sham1
<sham1>
Nah, I think the cringe part is using C90
<Ermine>
what's wrong with uint9_t
<zid>
github now having a caret is the cringe part of this
<sham1>
It's pessimal
<Ermine>
uint8_t*
<zid>
die ermine
<sham1>
And yeah, GitHub is also cringe
<sham1>
The Ermine
<phoooo>
oh, okay thanks!
<heat>
np
<zid>
also github megacringe
<zid>
[class] virtio_pci_cap
<heat>
CLASS??? IN MY C CODE??
<zid>
100% sure I don't have any fucking classes, github
<zid>
it means [type] struct virtio_pci_cap
<heat>
what git web interface isn't cringe?
<heat>
gitiles?
<Ermine>
zid: one day your request will be fullfilled?
<zid>
gititties?
<heat>
im not sure gititties exists
<heat>
yet
<zid>
Ermine: I'm patient, I can wait, see you in 2080
kaitsh has quit [Client Quit]
<Ermine>
see you too
<sham1>
heat: souecehut
<heat>
sourcehut is mega cringe
<zid>
This code needs co-routines but I refuse to dirty it up by using them
<heat>
there's literally no git web interface cringier than sourcehut
<sham1>
GitHub
<Ermine>
srht is fine
<Ermine>
yes
<heat>
im a google shill
<heat>
give me gitiles and gerrit
<qookie>
zid: RIIC++20 and use the new language-provided coroutines :^)
<Ermine>
heat: join minix, we have gerrit
<qookie>
they're great
<sham1>
The meme is RIIR
<heat>
Ermine, we?
<heat>
are you a minix now?
<zid>
qookie: what the fuck is a RIIC
<zid>
or a ++20
<sham1>
Rewrite it in C++20
<zid>
why would I do that
<sham1>
Coroutines, obviously
<heat>
C++20 has coroutines if you feel like randomly allocating things on the heap
<Ermine>
heat: I send patches there from time to tume
<zid>
hire someone to rewrite my own code, in a language I can't maintain, to make the code less good?
<zid>
Not sold
<heat>
mjg, motherfucker minix patchen when
<sham1>
Anyway, C++ is pessimal
<Ermine>
Last time was well before idea of bootloader
<heat>
C++ and the p in plus means pessimal
<sham1>
Anyway, C90. Imagine having to declare variables at the top of the scope
<sham1>
Smh my head,
<sham1>
What is this, Pascal?
<heat>
no one is using C90 here
<heat>
why would you use an ISO C standard?
<heat>
ANSI >>
<sham1>
ISO >> ANSI
<sham1>
Does ANSI have a standard for brewing tea?
<Ermine>
I used to hate having to declare variables at the top, but now I used to do like this
<sham1>
I thought not
<mcrod>
hi
<zid>
ISO is infact > ANSI
<zid>
maybe I will switch to C90
<heat>
mcrod, hi rich american husband
<heat>
ANSI > ISO right
* mcrod
hug heat
<Ermine>
sham1: IETF has coffeepot management protocol
<mcrod>
i thought we could go to japan for our honeymoon
<heat>
> weeb
<zid>
Ermine: I vastly prefer it, imo it's just bad code if you feel the need to suddenly declare some random variable later on, means you meant to write two functions but crammed them into one.
<heat>
goodbye rich american husband
<mcrod>
:(
<zid>
I'd rather die than use an ANSI keyboard for example
<sham1>
Yeah, I can't use an ANSI layout keyboard. Just feels weird
<heat>
how many of yall use dvorak
<zid>
it
<zid>
's great
<heat>
i bet there are some dvorak users here
<zid>
you never ever hit enter instead of apostrophe, because you can
<zid>
't make your fingers adapt
<sham1>
Dvorak? I don't fall for scams, sorry
<mcrod>
i can never use anything other than qwerty
<Ermine>
heat: it's the part of making super secure computer, since only you will be able to use it
<zid>
I got to like, 1wpm on dvorak
<zid>
in 15 mins
<zid>
My friend had a DAS KEYBOARD (no letters printed on the keys) with his layout set to dvorak
<zid>
the police were so annoyed that it was reported in the press
<zid>
when he was arrested
<mcrod>
I used to have a keyboard with no letters printed
<mcrod>
but then everyone got mad at me when they needed to use it
<mcrod>
so, i stopped that.
<sham1>
Why would you need letters on the keys
[itchyjunk] has joined #osdev
<zid>
My keys are slowly turning white
<heat>
btw linkdd cool game
<zid>
because I couldn't find a keyboard without *any* RGB
<heat>
kernal job hard :(
<zid>
I linked it first heat
<Ermine>
linkdd
<zid>
he copied me and he gets the rewards, fml
<Ermine>
?
<heat>
btw zid cool game
<zid>
thanks heat
<mcrod>
of course you would want a keyboard without RGB
<mcrod>
you don't like anything fun
<sham1>
I've just given up on getting stuff without RGB. My keeb has them but I don't have them on
<heat>
RGB is cringe, not fun
<mcrod>
et tu, sham1?
<zid>
because I couldn't find a keyboard without *any* RGB. It has white transparent keys, with black paint, and a hole in the paint for the letter, so the light goes through.
<zid>
Which just mean the paint slowly rubs off
<heat>
it's like MSI GAMING EPIC MEGA GAMER GAMING DRAGON GAMER motherboards
<bslsk05>
github.com: running stress-ng on Minix 3.4.0-RC6 on amd64 assert in vm/region.c:313 · Issue #333 · Stichting-MINIX-Research-Foundation/minix · GitHub
<zid>
you get the benefit of the doubt
<mcrod>
i have a ducky keyboard
<mcrod>
and I was told they were the best keyboards money could buy
<mcrod>
the most important key to me, the left ctrl key, is janky
<linkdd>
zid: i saw the game because a coworker gave me the link
<mjg>
Ermine: :p
<linkdd>
i did not bother to backlog the channel
<zid>
I also type in morse using ctrl, mcrod
<mjg>
Ermine: lmao
<linkdd>
my bad
<zid>
I said it's fine
<zid>
I just wanted to punish heat
<linkdd>
:)
<zid>
for his blatent disregard for me
<mcrod>
do you realize how annoying it is to copy and paste or open a new tab or anything
<zid>
I think 'e' being broken would be the worst.
<zid>
mcrod: I use shift-insert for paste
<mcrod>
wtf
<mcrod>
well I guess it's not a big deal
<kof123>
i use c89 because i need it to rot and become reflective: for all corruption is generation, and therefore ought blackness to be much disired; for that is the black sail with the which the Ship of Theseus came back victorious from Crete, which was the cause of the death of his Father; so must this father die, to the intent, that from the ashes of this Phoenix another may spring, and that the son may be King.
<zid>
shift-insert's kinda nice
<mcrod>
right shift and insert are close enough
<zid>
eww right shift
<zid>
I've never pressed right shift ever
<mcrod>
you use left shift for that?
<mcrod>
okay now you're just weird
<zid>
ISO keyboard means you hover top right of right hand side
<zid>
not middle right
<heat>
i dont use right shift either
<linkdd>
i use "select text with mouse" + "middle click" to copy/paste
<zid>
on the line between backspace and enter
<zid>
ANSI has a fucking # in the way
<zid>
or / or whatever it is
<linkdd>
or in windows terminal, select+right click = copy, right click again to paste
<heat>
portugeese keyboard better than whatever garbage you type in
<heat>
çççççççççççççç
<zid>
ééééééééééééé
<heat>
º
<zid>
windows' uk layout is gastly, the linux one is decent
<zid>
altgr+letters gives you greek/whatever versions
<zid>
on windows only like, 4 keys do anything with altgr
<heat>
i've complained about this a bunch of times before but macs have a different unified portugeese layout so i cant use their hardware
<zid>
you can buy ANSI macs in the UK
<zid>
WHY IS THIS A THING
<heat>
i also cannot type with any other layouts (US included)
<sham1>
Because Apple is, you guessed it, pessimal
<zid>
I don't mind other layouts as much as I mind other physical layouts
<zid>
I physically cannot do ANSI
<heat>
Apple and the p stands for pessimal
<zid>
wrong keys and in the wrong spots
phoooo has quit [Quit: Client closed]
<zid>
I can't just learn to type lik`e this or whatever as though it were portugal
<zid>
I have to type using different fingers
<zid>
sort of like, I don't care how many gears as long as it's a manual, vs having to change gear with your chin
<heat>
línúx
<Ermine>
compose ftw
<heat>
emacs ftw
<zid>
can emacs move the keys on an ansi keyboard
<mjg>
Ermine: lmao that's on top of 1 cpu
<Ermine>
mjg: smp is still not supported, yes
<mjg>
:DD
<mjg>
lol
<mjg>
ok
<heat>
see mjg
<heat>
it scales perfectly
gildasio has joined #osdev
<heat>
1:1 to the number of CPUs enabled
bauen1 has joined #osdev
<zid>
I only support AMP
<mjg>
heat: MINIX IS WINNER
<zid>
If your cores are the same speed I don't want them
<mjg>
my search is finished
<zid>
My OS requires a z80 and an i9
<zid>
on the same bus
<mjg>
z80 being the high perf core
<heat>
SAPPHIRE SLOWS
<zid>
basically, a modern intel
<zid>
z80 + i9 = i7 12th gen
<mjg>
heat: do you know abut big rig racing
<nortti>
i9 being an abbreviation for intel i9601;5D
<heat>
mjg, why did you ask me if i was similar with a racing type and then just "aight"ed the fuck out
<heat>
am i some sort of social genz test subject
<sham1>
Yes
<mjg>
heat: that was just after i said MINIX IS WINNER
<mjg>
heat: would you reevaluate being familiar with big rig racing
<mjg>
one of the worst games ever made
<heat>
oh, the video game
<heat>
yes
<heat>
i am also familiar with that big rig racing
<mjg>
sounds like minix is the big rig racing of systems innit
<mjg>
eh heh
<mjg>
do you beat minix in single-threaded perf tho mofer
<heat>
probably
<heat>
its a fucking microkernel
<heat>
hard not to
<mcrod>
when i was like 14
<mjg>
heat: obsd likely does not
<mjg>
:d
<mcrod>
i watched an ast video
<mcrod>
and i was convinced that microkernels were the future
<mcrod>
then i grew up
<mjg>
who told you that, Tod Roller?
<mcrod>
not saying that they don't have their place certainly, but
<mcrod>
who the hell is that
<mjg>
a known troller
<heat>
i dont know if microkernels are the future
<mcrod>
i don't believe they are
<linkdd>
the future was yesterday
<heat>
but you can probably get a fast microkernel if you so try
<mcrod>
it entirely depends on the use case
<heat>
the thing is that no one gets into microkernels for speed
<mcrod>
safety-critical, high security oriented shit? microkernels
<heat>
so no one ends up trying
<mcrod>
isn't zircon a microkernel
<heat>
but like, the switch is a microkernel and works fine, high perf stuff
<heat>
yes
<heat>
the switch's kernel is also one
<mcrod>
ah neat
<heat>
while PS4 and 5 are bastardized FreeBSD, xbox is bastardized windoze
<mcrod>
i'm still in the camp of monolithic kernels
<sham1>
Microkernels are the future
<mcrod>
despite the legitimate security issues with them
<linkdd>
what about nanokernels?
<mcrod>
but, I want speed
<mcrod>
speed is all I care about
<heat>
nano is too small
<linkdd>
or picokernels
<mjg>
are microkernelz a sensible choice if you were to rewrite stuff in RUST
<sham1>
Well nanokernels
<heat>
even smaller pal
<mjg>
(not a joek qustion)
<heat>
mjg, yes
<heat>
rust still crashes
<mjg>
well ofc
<heat>
rust did not fix crashing
<sham1>
I'd ideally have nothing in kernel space
<heat>
nor bugs
<linkdd>
mjg: the real question is, is rust a sensible choice if you were to make a microkernel?
<heat>
the real question is
<heat>
is rust
<linkdd>
sham1: emptykernel?
<mjg>
linkdd: mate i'm not going to rant about rust
<sham1>
Yes. Voidkernel
<heat>
Linuxkernel
<sham1>
Is rust a sensible choice? No
<heat>
no thats not the question
<heat>
my question is: is rust?
<sham1>
No
<mjg>
i'm saying, unless you are aiming for maximum reliability, it may be something like rust moves the line between making micro vs mono
<linkdd>
heat: only if you apply water on metal long enough
<mcrod>
i think rust would help if you were writing a monolithic kernel if only to reduce some types of bugs
<mcrod>
but nothing beyond that
<nortti>
< sham1> I'd ideally have nothing in kernel space ← iirc the amigaos kernel mostly ran in user mode, though that is a more reasonable setup when you don't have memory protection
<mcrod>
i don't believe in the whole promise of rust at all
<mcrod>
no language is going to stop you from being stupid
<linkdd>
mjg: the language should have nothing to do with the architecture design
<linkdd>
it's an implementation detail
<heat>
mcrod, boring ass embedded dev take
<mcrod>
eat me
<heat>
you're just sad your AVR chip doesn't have rust
<heat>
else you'd be importing all sorts of shit crates
<mcrod>
pfffff
<heat>
tokio
<sham1>
Well, in some sense I'd say that it's less that there's nothing in kernel space, but that there'd be no difference between the kernel and any other program
<mcrod>
i remember when AVR was hot shit
<mcrod>
before ARM killed them
<mcrod>
as it should have
<linkdd>
sham1: a unikernel then
<sham1>
Well not that either
<heat>
linkdd, wrong
<mjg>
linkdd: if the argument for micrkernels is that *C* monolithic kernels can crash too easily, and a claim is that rust makes crashing less likely, it very much is an argument
<heat>
microkernels are only relevant cuz 1) C is unsafe af 2) bugs
<linkdd>
mjg: badly written C can crash too easily
<mcrod>
I really really want to play with INTEGRITY
<nortti>
what's up with seL4 nowadays actually? can they do SMP now?
<mjg>
so you are in the "just write good c bro" camp
<sham1>
Like you could do "single address space" stuff, especially if you used something like Lisp or whatever, but for C stuff? Eh
<linkdd>
you can write safe C, we have sanitizers, formal verification, etc...
<heat>
no one does SMP except onyx and linux
<mcrod>
linkdd: sanitizers don't catch everything
<heat>
C formal verification is LULZ
<linkdd>
where do you think rust came from if not from the work on "safe C" that has been done in the last 40 years ?
<nortti>
outside of seL4, are there "big" formally verified C codebases?
<sham1>
Mozilla having NIH syndrome and not having heard of Ada
<bslsk05>
github.com: ASAN not reporting out of bounds access in a global array · Issue #1553 · google/sanitizers · GitHub
<heat>
nortti, my friend has a formally verified PE loader for UEFI firmware
<heat>
but thats about all I know
<nortti>
nice
<linkdd>
mjg: point is, the language, being safe or not, is an implementation detail
<linkdd>
rust is not more suited for microkernels than C
<heat>
and ofc not many people use it because the borked unsafe crap is needed for random garbage and vendors dont want to risk it nor do they care
<linkdd>
nor C is more suited for it than rust
<heat>
no
<mcrod>
i don't believe that
<zid>
mainly because it isn't true
<mjg>
i'm bailing frmo this convo
<linkdd>
mcrod: facts don't need you to believe in them :)
<heat>
anyway VIM VS EMACS
<mjg>
TABS VS SPACES
<mcrod>
2 space indentation
<mcrod>
that is the holy grail
<heat>
SOLARIS VS LINUX SPARC
<mjg>
what
<mjg>
SOLARIS
<mjg>
there is no competition
<nortti>
teco is pretty nice editor, and indentation should use record separator
<heat>
DAVE MILLER VS BRYAN CANTRILL
<mcrod>
have you ever kissed a girl?
<linkdd>
you could argue there are safer languages than rust, then why not considering them for your microkernel?
<sham1>
Why would you need to make it a microkernel for those languages
<sham1>
You could just run in one address space and let the language handle the safety
<linkdd>
answer: because it's an implementation detail that have very little to do with the architecture design
<sham1>
You'd also get the benefit of stuff like your "system calls" being the same as any other function call
<heat>
mjg, BSD open-source class traitors vs GNU proletariat software
<mcrod>
sham1: that's what I'm saying
<heat>
AT&T vs University of California
<sham1>
It's not really an implementation detail in that sense. Some languages don't let you express unsafe stuff as such
<mcrod>
if the language can natively guarantee things, your requirements for security/safety that you have to implement go down
<mcrod>
read: that does not mean that you don't think about those things
<linkdd>
mcrod: it's still an implementation detail. yes you can have better tools to build your house, but the tools you use do not define "the house"
<sham1>
For example, if I'm implementing a kernel in Lisp, I'd need some unsafety, but I can hide that such that the other programs don't need to see it, and then I could just run the programs next to the kernel
<mcrod>
linkdd: i never said it wasn't an implementation detail
<heat>
>I'm implementing a kernel in Lisp,
<heat>
found the bug
<mjg>
OOH
<mcrod>
i'm simply saying that some languages have better traits than others; while C is an extraordinarily powerful language it is also easily prone to writing buggy code
<linkdd>
mcrod: the question was "should i make a microkernel if i'm doing osdev in rust"
<linkdd>
which is irrelevant
<linkdd>
should i make a house if i have a hammer?
<heat>
if FreeBSD were GPLv2 we'd have access to glorious upstreamed sony PS4 system calls
<heat>
automatic eyebleach
<sham1>
More like Sony would have implemented their own stuff
<linkdd>
choose the design, then the tools.
<heat>
what no
<sham1>
Copyfree > copyright
Brainzman has quit [Quit: Brainzman]
<sham1>
And with copyright I even include copyleft
<heat>
do you realize how hard it is to write a good operating system?
<sham1>
I know
<sham1>
And I'm sure sony knows
<heat>
there's a reason why most companies do not try
<mjg>
it is super easy, barely an inconvenience
<sham1>
Since they've done it
<heat>
it's a money pit
<heat>
no they have not
<mcrod>
the playstation 1 kernel might've been licensed from someone else
<nortti>
what kernel?
<heat>
whatever shitsoftware was in older sony products has nothing to do with mega entertainment high performance gaming software thing for many threads and high powered gpus
<mcrod>
well I wouldn't call it a kernel
<mcrod>
but it sorta kinda has POSIX interfaces kinda barely
<gog>
we love a unix
<heat>
believe it or not, the problem with upstreaming things is that its hard and sometimes legally costly
<gog>
or a thing pretending to be unix and implementing its system calls
<heat>
if linux is cheaper, people generally use linux
<mcrod>
we use FREERTOS
<mcrod>
embedded linux would make absolutely zero sense for what we do at work
<mcrod>
z e r o
<heat>
this is so embedded its making me sick
<mcrod>
it's beautiful
<Ermine>
gog: may I pet you
<heat>
anyway sony uses freebsd because then sony does not have to even try to release the code
<gog>
yse
gildasio has quit [Remote host closed the connection]
<nortti>
< mcrod> but it sorta kinda has POSIX interfaces kinda barely ← are you talking of the libraries you get with the SDK that are included on your game disk?
* Ermine
pets gog
* gog
prr
<heat>
not that anyone wants to see that shit
<mcrod>
nortti: besides those
<Ermine>
Minix could support smp if there was anyone to put effort in this
<gog>
freebsd freebsd freebsd
<sham1>
Open
<heat>
netbsd!!!
<mcrod>
I could be totally wrong and talking straight bullshit but I seem to recall the BIOS having a unix like interface - one sec
<nortti>
honestly I did not realize there was anything that stayed resident pre-ps3 once the game booted up
<Ermine>
dragonfly dragonfly dragonfily
<gog>
i think kernel is a cool guy eh implements system calls and doesn't afraid of anything
<mcrod>
most games often patch BIOS functions because that BIOS is an incredibly inefficient unstable piece of shit
<heat>
kernel was invented by mr. linus kernel
<sham1>
gog: get your 2000s memes out of here
<mjg>
there is only one kenrel
<mjg>
kernel.org
<gog>
sham1: no u
<heat>
good point mjg
<mjg>
everyone else is trying to run on the hype
<Ermine>
There's only KERNAL
<mcrod>
ok yes I'm wrong, the BIOS basically just implements a buggy libc
<heat>
if freebsd kernel so kernelw hy not kernel.org but freebsd.org
<mjg>
for curious why even bother. things liek syzkaller are NOT exhaustive and short of writing your own fuzzer, it is a cheap shot to try and old one
<mjg>
as for why bother with any of this, for lulz, that's why
<zid>
There is only one anime worth citing ofc
<zid>
actually make that two
<mjg>
> anime
<mjg>
> worth citing
<zid>
May your journey overflow with curses and blessing.
<heat>
mjg, syzkaller is a lot more exhaustive than those shit fuzzers
<heat>
shtizzers
<mjg>
wold you like to restart your life
<heat>
yes
<zid>
Let's eradicate them all, sosu.
<mjg>
heat: of course it is. the point is the hsitters may happen to be doing something syzkaller is not
SGautam has joined #osdev
<heat>
well, yes, the shitters will be more direct to certain problem points
<heat>
like bad pointers, etc
<mjg>
back in the day it was a classic that you would tweak a fuzzer
<mjg>
and suddenly bugs come out
<mjg>
even tho the kernel seemed rock solid
<mjg>
that's after years of already fuzzing
<heat>
no kernel is solid
<heat>
except onyx
<heat>
onyx kern good
<sham1>
Gpl
<sham1>
Not even on e
<heat>
genunix > vmonyx > vmlinux > bsd kernel
<mjg>
you don't give justice to genunix
<mjg>
also you may want to insert minix before vmonyx
<heat>
genuni >> vmonyx
<heat>
x
<heat>
no microkernel is good
<mjg>
geunix > NOTHING FOR IN THE OBSERVABLE UNIVERSE > minix > vmonyx
<mjg>
i would use minix every day over onyx
nvmd has joined #osdev
<heat>
bad choice
<mjg>
1:1 scalability
<heat>
...
nvmd has quit [Max SendQ exceeded]
<heat>
good point
<heat>
i cant beat that
<mjg>
fucking linear scalability up to 1 cpu
<mjg>
literally can't do better
<heat>
O(1) scalability
<heat>
it's always FAST no matter how many cpus you throw at it
<heat>
lonely manager looking for a group goal around lisbon
troseman has quit [Ping timeout: 252 seconds]
eddof13 has joined #osdev
zxrom has joined #osdev
dude12312414 has joined #osdev
bauen1 has quit [Ping timeout: 245 seconds]
phoooo has joined #osdev
Brainzman has joined #osdev
phoooo has quit [Ping timeout: 246 seconds]
phoooo has joined #osdev
phoooo has quit [Client Quit]
phoooo has joined #osdev
phoooo has quit [Quit: Client closed]
<mcrod>
hi
<mcrod>
i'm going to have a talk with stmicroelectronics tomorrow
* mcrod
dance
<zid>
stm icroelectronics? neat.
<mcrod>
by the way zid
<mcrod>
for audio bullshit, ring buffers are indeed useful but
<mcrod>
consider SDL audio pull mode
<mcrod>
what if content is overwritten in the ring buffer before the pull mode callback is called
<heat>
it skips
SGautam has quit [Quit: Connection closed for inactivity]
<mcrod>
thanks.
<mcrod>
i figured that much
<mcrod>
_but_
<heat>
that's how a ring buffer works hubby
<mcrod>
i... i get that
stolen has joined #osdev
<mcrod>
I guess my question is why would I not always want to use push mode
<mcrod>
also, I could be overthinking this but I don't want a thread
<mcrod>
because what will happen is the `gen_sound()` function might take a while, and the audio callback is going to be called
<heat>
push method requires a thread right?
frkazoid333 has quit [Ping timeout: 248 seconds]
<heat>
or at least you need to actively push data semi-regularly
<mcrod>
i don't know what it requires
<mcrod>
all I know is that I do SDL_QueueAudio and let it fuck around
<mcrod>
so basically I would do
<mcrod>
float samples[some_amount]; gen_sound(&samples); SDL_QueueAudio(samples); or some shit like that
<mcrod>
however, if I'm using the pull model
<zid>
yea audio either works by push and you block, or pull and you get a callback
<mcrod>
this would look like: gen_sound(); void callback(uint8_t* samples) { get_shit_from_ringbuffer; }
<gog>
hi
<mcrod>
but it won't get to the callback ever if gen_sound takes fucking forever
<zid>
so basically write(10 seconds); and 10 seconds later the write ends, or callback(void *data){ memcpy(data, 1 second of data); } and it happens every second but the buffer is 100ms long so you have some wiggle room
<mcrod>
hm I see
<mcrod>
because basically, I have... let's see
<mcrod>
need to switch to lemix
<zid>
more realistically these buffer sizes will be like 200ms and every 100ms you get a callback to top it back up to 200ms from 100ms remaining
<zid>
which is why audio dropouts happen during lag
<zid>
smaller buffer sizes are harder to keep full, but give lower latency (for things like sound effects)
<zid>
internally that 200ms buffer is probably a ring buffer, once the head and tail are within 100ms it'll fire off a callback interrupt to get more data to play before it's too late
<mcrod>
i'm calculating the worst case size
<mcrod>
as in, how many samples will be generated at max
<mcrod>
one sec
<zid>
samples should be generated monotonically..
<zid>
less or more samples makes the sound effect longer or shorter only
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 245 seconds]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 240 seconds]
<mcrod>
well I'm thinking in terms of the maximum theoretical size
<mcrod>
otherwise I would've just thrown all of this into a simple array
<mcrod>
which I know I can't do
<mcrod>
and it looks like in the worst case ~1.3MB worth of samples will be generated
<heat>
thats so cute
<heat>
so little data
<heat>
very kawaii desu
<sham1>
no
<mcrod>
i wonder how big the ring buffer should be...
<zid>
you don't need a ring buffer, the hw audio needs one
<mcrod>
i don't know what you've been suggesting to me this entire time then
<zid>
you need a static one that's the same size as the audio hw asks for
<zid>
I haven't been suggesting anything
<zid>
I explained how audio works
<zid>
however large the audio buffer on the hw is set to, you can do fine with a static buffer no larger than that, you have 100ms or whatever to load the samples and hand them over, it /should/ tell you how many samples it wants
<zid>
if the interface is non stupid
<mcrod>
well i'm thinking in terms of bare metal
<zid>
so was I
<zid>
because the only difference is whether you're in an irq or a callback
<zid>
between bare metal and hosted
<mcrod>
ok I see what you're saying
<sham1>
An irq is a hardware-accelerated callback
<zid>
yup
Jari-- has joined #osdev
<zid>
a software callback is an emulated irq ;p
<sham1>
Well more signals, but those are also callbacks
xenos1984 has quit [Ping timeout: 245 seconds]
<zid>
what are signals
<zid>
are they one of those awful unix things
<zid>
that I am too high minded to understand
<Jari-->
zid i.e. sigsegfault
xenos1984 has joined #osdev
<gog>
hi
<zid>
goog I am having chicken
<zid>
dw, it deserved it
<gog>
we're having bratvurst und sauerkraut
<zid>
sauerkraut is the most disgusting thing I've ever seen passed off as food
<zid>
that wasn't rancid fish
<zid>
rancid cabbage, woo
<gog>
delicious rancid cabbage
<mcrod>
sauerkraut is amazing
<gog>
i suppose you hate kimchi too
<mcrod>
reubens are life
<gog>
yes
<zid>
"What if I filled a carrier bag with discarded AA batteries, left it in a damp cellar for a month, then drained the juice into a glass?"
<zid>
germans, trying to find ways to improve sauerkraut
m3a has joined #osdev
<sham1>
Hakal Vs sauerkraut, go
<zid>
is hakal some disgusting found fish dish?
<sham1>
Icelandic fermented shark
<zid>
so yes
<zid>
lose fish, find it 8 months later, rotten, decide to eat it anyway
<kof123>
i thought mcrod was going with anubis: In the hieroglyphics a headless dog is a Khen, a conductor without exterior vision, therefore a type of interior perception are you mocking his logo?
xenos1984 has joined #osdev
<mcrod>
wut
<mcrod>
i named my cat anubis because anubis was also the weigher of souls
<mcrod>
even though anubis has the head of a jackel
Brainzman has quit [Ping timeout: 256 seconds]
m3a has quit [Ping timeout: 246 seconds]
<kof123>
you still need a logo, just throwing that out there
<sham1>
Also a cute animal mascof
<sham1>
Mascof
<sham1>
MASCOT
<sham1>
Stupid pessimal keyboard
<sham1>
This is why phones suck
phoooo has joined #osdev
<Jari-->
sham1 its trying to be "intelligent"
phoooo has quit [Client Quit]
phoooo has joined #osdev
<sham1>
Well, it fails
<phoooo>
hi! what is the usual way of loading a ramdisk in riscv, assuming there's no bootloader? virtio?
<zid>
memcpy
<zid>
it's a ramdisk, specifically *not* a device filesystem
<Jari-->
phoooo you cant use tmpfs?
<phoooo>
well, how can I load the ramdisk file?
<phoooo>
assuming it's, say, a tarball
<zid>
usually the bootloader does it
<zid>
because it knows about the filesystem enough to get the kernel off
<zid>
so it either gets the ramdisk off too, or you do a gross and concat the kernel to the ramdisk
<Jari-->
phoooo mount -o size=1G -t tmpfs none /mnt/tmpfs
<Jari-->
add at start up
<zid>
initrd (hd0,0)/initrd in grub, etc
<phoooo>
forgot to mention that I'm using the qemu virt board
<phoooo>
for my osdev project
<zid>
pretty sure qemu just has -kernel and -initrd
<phoooo>
will look into it
<zid>
failing that, cat and just -kernel
<zid>
failing that that, -device blah.iso and install a bootlaoder that can do it
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<zid>
failing that that that, cry
<phoooo>
or just write a normal disk driver
<phoooo>
tbh
<zid>
I'd prefer cry.
<phoooo>
or treat a tar file as a disk
<gog>
hi
<phoooo>
and read it using virtio block
<phoooo>
hi gog
<gog>
hi gog
<zid>
bloog
gildasio has quit [Ping timeout: 246 seconds]
gildasio has joined #osdev
phoooo has quit [Quit: Ping timeout (120 seconds)]
<mcrod>
hi gog
<gog>
hi mcrod
* gog
pets mcrod
gildasio has quit [Remote host closed the connection]
<bslsk05>
www.amazon.co.uk: WENCY 21cm Anime Made in Abyss Figure Faputa PVC Action Figure Collectible Model Toys Kid Gift : Amazon.co.uk: Toys & Games
<kazinsal>
oh man tech youtuber fight, get your popcorn
<kazinsal>
linus tech tips went after gamers nexus for some stupid reason and gamers nexus fired back with a goddamn expose
<heat>
jayz two cents 4life
<zid>
Anyone who *wasn't* aware that LTT was like this was asleep, so it's nice to see them being *professionally* called out for being bad at their job
<zid>
(but good at being youtubers)
<zid>
quirk, dirty, incorrect
wblue has joined #osdev
<kazinsal>
pretty much anyone who ever bought PC parts in the late 2000s/early 2010s in vancouver knew the kind of dude he was, what with having been the face of NCIX for a while
<kazinsal>
the retailer so shady that when it went bankrupt they abandoned their leases and liquidated servers that still had employee PII on them before their CEO disappeared into the aether never to be heard from again
<geist>
yeah i have to admit i occasionally watch some of the secondary LTT vids, but anything with Linus in it just comes across as pure clickbait
<childlikempress>
does it even count as clickbait? I feel like the whole point is to be vapid infotainment
<zid>
I liked the scrapyard wars thing, suddenly they were like "5 year old i7 second hand? more than plenty for gaming" etc
<zid>
it was both more factual *and* more entertaining than everything else
<zid>
the rest of the channel was actually superfluous :P
childlikempress is now known as Mondenkind
<Ermine>
gog: may I pet you
guideX has left #osdev [Leaving]
<Ermine>
nortti: x86 instruction?
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<gog>
Ermine: yes
heat has quit [Ping timeout: 246 seconds]
<mcrod>
i'm building qt
<mcrod>
and cmake appears to be hung at 100% CPU
<mcrod>
to be clear, I'm just _configuring_
heat has joined #osdev
* Ermine
pets gog
* heat
ermines gog
* mcrod
mcrod's heat
<heat>
thanks mcrod
<heat>
i feel blessed
<mcrod>
no, thank YOU
<mcrod>
holy shit
<mcrod>
it looks like the qt cmake scripts are just appending every fucking translation file it can fucking find in all directories?
<mcrod>
to a list
<mcrod>
according to cmake --trace
elderK has quit [Quit: Connection closed for inactivity]
<zid>
gog: you like sport, who's going to win alliance tournament XIX?
<mcrod>
this is unbelievable. LLVM didn't even fucking take this long to configure
<zid>
> compiles C++
<zid>
> complains that it's s low
<mcrod>
what'd I say
<mcrod>
i'm not even COMPILING yet
<mcrod>
this is CMake
<mcrod>
it took 15 minutes to configure
* gog
prr
<gog>
zid: i'm not heat
<zid>
no but you are iceland, it should be a point of national pride :p
<zid>
they're flying sleipnirs, my favourite ship
<zid>
in match 1
<gog>
who
<zid>
CCP, gog, CCP's tournament.
<gog>
i'm not a tankie i don't support china
<zid>
Communist-gamer Control-and-flying-spaceships Party of Iceland, wrong socialists
<gog>
breh i play factorio
<zid>
smh, deported from iceland is always sad to see
<Ermine>
Why I begin figuring out how to do stuff only at 2 AM
<zid>
You have to support THE PARTY
<kazinsal>
sleips are great
<zid>
sleipnir <3
<kazinsal>
recently we've been using sleips/HFIs as a mainline doctrine
<zid>
neat
<zid>
nobody flew sleips and I had nobody to fly one with, last time I played
<zid>
I just really liked the ship
<kazinsal>
until someone escalates then it's DREADBOMBDREADBOMBDREADBOMB
<zid>
so much so I was doing missions with it just to get to fly it
<zid>
you can make it craaazy tanky and still do dps
<gog>
smh tankies
<zid>
people undocking fed navies to do L4s in all day out of dodixie and there's me in a sleip
dutch has quit [Quit: WeeChat 4.0.2]
dutch has joined #osdev
<Burgundy>
marauders, always marauders!
<zid>
I tried the kronos andreally didn't like it
<kazinsal>
the kronos has fitting issues unless you go with bonkers implant sets
<kazinsal>
or go blaster kronos, and the bronos is kind of a meme
<zid>
I owned a vargur but never flew it, might not have had the skills for it at the time
<zid>
I was much better with drones than guns anyway
<kazinsal>
vargur and paladin are probably tied for best marauder
<Burgundy>
I'm old school, missiles for pve, guns (read projectiles) for pvp :)
<zid>
when I was playing nobody used missles for anything ever :P
<kazinsal>
but recently one of my favourite ships has been the redeemer
<Burgundy>
but yeah, specialists would swear on the paladin for pve
<zid>
what was the sentry ship I loved?
<zid>
quickly guys
<Burgundy>
gotta the the dominix, can't resist the looks
<zid>
the badly mauled potato
<zid>
what's the t2 vexor called, the hull shape may have been that..
goliath has quit [Quit: SIGSEGV]
Left_Turn has quit [Read error: Connection reset by peer]
<Burgundy>
well, I don't fly it, but dominix's got a special place there for me, first bs ever built, first bs I ever encountered :)
<zid>
ishtar
<kazinsal>
ishtar ultimate ratting boat
stolen has quit [Quit: Connection closed for inactivity]
<kazinsal>
also 90% of ishtars you see are bots
<zid>
yea I was super sad when they made rats target sentries
<zid>
err ogres*
<kazinsal>
why yes I will happily drop a whole blops fleet on a single ratting ishtar
<zid>
so I switched to an ishtar
<kazinsal>
because I am a dickhead
<zid>
I undocked a dominix in 'safe space' and it was titan dropped within 20 minutes, I am still salty
<zid>
people have too much money
<zid>
must have cost em 10x what the ship was worth to do that, and collectively tens of hours of time
<Burgundy>
hey, causing a titan drop is something to be proud of :)
<zid>
I didn't really cause it, I just happened to be what they found, I get the feeling they'd have done it to a rifter
<zid>
if I play eve again I will just fit up an ishtar or sleipnir and do L4s to get my isk back
<zid>
for the plex
<zid>
just to derust and get some blat in
<Burgundy>
don't get to play it often enough myself
<Burgundy>
they do have a 10 plex for 10 days of omega thing for a few more days, iirc
<zid>
I have a moros parked somewhere I can sell if I want a plex and start playing again
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<zid>
oh, and 14B in plex apparently
<kazinsal>
join goosefleet
<Burgundy>
well, you know how it goes, just wanna log in for a bit and then you're hooked full time :)
<kazinsal>
shoot your foes and honk in local
<zid>
how do plex work now
<zid>
they multiplied them by 100 or something
<zid>
do I still have to redeem 30 days worth
<kazinsal>
1 old plex = 500 new plex
<zid>
oh I can buy 10 days for 10 centiplex cus of XIX it seems? maybe I will go shoot some rats
<kazinsal>
yeah
<zid>
so I had 6 plex and they're over 2B each now, ouch
<Burgundy>
the "official" ratio was 500:1, but there are way too often offers these days
<Burgundy>
as of right now, 10 plex for 10 days going on
<zid>
when I was actively playing they were 300M and rose to 500M over the duration
<zid>
maybe shooting rats won't be enough lol
<kazinsal>
moongoo is where the real money is at
<Burgundy>
much more expensive nowadays, around 5M for the deluted PLEX, so around 2.5B for a month
<kazinsal>
but the LP -> faction mods -> ISK pipeline is still good
<Burgundy>
diluted*
<zid>
Burgundy: you're about 40 seconds slow on everything you just said :P
<kazinsal>
a lot of LP items that sell frequently are around 1200LP/ISK conversion rate
<Burgundy>
zid: I am? you know how it goes, time and space bend together
<zid>
fucking adored the rattlesnake, such a badass hull, and that's a shipyard custom one so it has a BUNNY ON IT
<zid>
I think drake was doctrine when I played
<zid>
which was odd, cus everybody hated missiles, I guess that's what webs are for..
<kazinsal>
missiles are fine, you just gotta actually put some damage application mods on
<kazinsal>
going full HMs or HAMs and full BCS and not doing anything like putting some damn guidance computers with tracking scripts on means you have high DPS against stationary targets and zero DPS against anything smaller than a battleship
<zid>
people hated them cus they just didn't apply any of their damage
<zid>
you could just fit medium autocannons and kill whatever you wanted
<zid>
it was explosion_velocity-ship_velocity as a factor in the damage
<zid>
so they did approximately 0.4 dps to anything moving over 200m/s
<zid>
and there wasn't much you could do to fix it, with guns you can always get further out, or counter-rotate them, to lower the rotational velocity