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
<netbsduser> sdl 1 would have had to stay a long time because i think sdl 2 became poorly portable
<netbsduser> they lost the ports to the likes of DOS, mac os classic, atari stos, symbian, risc os, os/2, etc
<netbsduser> and that's half the appeal of using a retro library
<zid`> yea, they're just different projects, rather than 'newer versions' imo
<zid`> I'd still use SDL1 for certain things
heat has quit [Ping timeout: 260 seconds]
<zid`> SDL and the number is how technical you want to be about your output device :P
orccoin has quit [Ping timeout: 260 seconds]
<zid`> sdl1 = I don't care, software is fine I guess? SDL2: I want to ask for an opengl context, SDL3: I want to ask for a vulkan command list
hwpplayer1 has joined #osdev
Gooberpatrol66 has quit [Quit: Konversation terminated!]
Gooberpatrol66 has joined #osdev
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
hwpplayer1 has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
pog has quit [Ping timeout: 252 seconds]
Dead_Bush_Sanpa1 has joined #osdev
Dead_Bush_Sanpai has quit [Ping timeout: 252 seconds]
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
hwpplayer1 has quit [Quit: bye]
alpha2023 has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
alpha2023 has joined #osdev
craigo has joined #osdev
<_ngn> using ATAPI with AHCI, is there a way to check if the device is write-protected (read-only)?
<_ngn> i checked out some of the SCSI commands but none of them seem to deliever this information
edr has quit [Quit: Leaving]
_ngn has quit [Quit: WeeChat 4.4.2]
_ngn has joined #osdev
pabs3 has quit [Quit: Don't rest until all the world is paved in moss and greenery.]
pabs3 has joined #osdev
<zid`> ASC 27h?
<_ngn> do i get that by sending MODE SENSE?
hwpplayer1 has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
_ngn has quit [Quit: WeeChat 4.4.2]
Gooberpatrol_66 has joined #osdev
<kof673> > became poorly portable > the number is how technical you want to be well, what can you do, simulate vulkan on dos? opengl for atari? provide a base "lowest common deniminator" and let people optionally use more if available?
Gooberpatrol66 has quit [Ping timeout: 260 seconds]
<kof673> *denominator. not sure there is a good answer here if they want to also implement modern stuff
<kof673> > what's there has been battle-hardened in Steam and DOTA2 and CS2 for over a year now those people would arguably not like a lowest common denominator version :D split it into 2 libraries, a lite and a "modern" ?
<kof673> > like things breaking out of their order in heirarchy of names of things? firefox and seamonkey, this happens all the time :D
<zid`> til shm_open on linux is just a wrapper that prepends /dev/shm
<zid`> I assume it's that way so that people could... not implement it that way
<zid`> proper handles not filesystem handles
randm has quit [Remote host closed the connection]
randm has joined #osdev
Stary has quit [Quit: ZNC - http://znc.in]
CompanionCube has quit [Quit: ZNC - http://znc.in]
Stary has joined #osdev
CompanionCube has joined #osdev
hwpplayer1 has joined #osdev
CapEnt has quit [Quit: KVIrc 5.2.4 Quasar http://www.kvirc.net/]
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
vdamewood has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
hwpplayer1 has joined #osdev
rlittl01 has quit [Ping timeout: 264 seconds]
m5zs7k has quit [Ping timeout: 276 seconds]
kfv has joined #osdev
kfv has quit [Client Quit]
emntn has joined #osdev
kfv has joined #osdev
kfv has quit [Remote host closed the connection]
m5zs7k has joined #osdev
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
mavhq has quit [Ping timeout: 246 seconds]
ThinkT510 has quit [Quit: WeeChat 4.4.2]
ThinkT510 has joined #osdev
karenw has joined #osdev
spareproject has joined #osdev
kfv has joined #osdev
mavhq has joined #osdev
GeDaMo has joined #osdev
kfv has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
elderK has joined #osdev
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
heat has joined #osdev
kfv has joined #osdev
kfv has quit [Client Quit]
<heat> zid`, yeah but otoh it's very much tailored towards "this thing just wraps open"
kfv has joined #osdev
<heat> has a file mode, O_* flags like open, etc
goliath has joined #osdev
pog has joined #osdev
jedesa has joined #osdev
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
kfv has quit [Client Quit]
netbsduser has joined #osdev
gioyik has joined #osdev
Dead_Bush_Sanpai has quit [Ping timeout: 246 seconds]
elderK has quit [Quit: Sleep]
Dead_Bush_Sanpai has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
spareproject has quit [Remote host closed the connection]
craigo has quit [Quit: Leaving]
craigo has joined #osdev
craigo has quit [Remote host closed the connection]
marcopolo2 has joined #osdev
karenw has quit [Ping timeout: 252 seconds]
gioyik has quit [Ping timeout: 260 seconds]
steelswords94 has quit [Read error: Connection reset by peer]
steelswords94 has joined #osdev
gioyik has joined #osdev
gioyik has quit [Ping timeout: 260 seconds]
gioyik has joined #osdev
Left_Turn has joined #osdev
gioyik has quit [Ping timeout: 260 seconds]
_ngn has joined #osdev
gioyik has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 264 seconds]
Turn_Left has quit [Ping timeout: 244 seconds]
marcopolo2 has quit [Quit: Connection closed for inactivity]
fedaykin has quit [Quit: leaving]
gioyik has quit [Ping timeout: 260 seconds]
fedaykin has joined #osdev
goliath has quit [Quit: SIGSEGV]
<immibis> it's a cross-platform library that on linux uses /dev/shm
<immibis> cross-platform interface*
<immibis> on windows, wrapping open is probably not the way to do it. there's probably some way to create a named file mapping or so.
<immibis> a named mapping of an anonymous file*
<heat> shm_open is not a cross-platform interface
<heat> unless you count all different UNIX variants as different platforms
<nikolar> I do
<nikolar> POSIX is a cross unix platform
<nikolar> But unices themselves are different platforms
<heat> unices themselves are slightly different variations of the same shit
<heat> i can't count linux and freebsd as two separate platforms
<immibis> have you ever used freebsd
<heat> yes, unfortunately
<nikolar> Sure, run a random piece of software for Linux on freebsd that wasn't written with portability in mind
<nikolar> Let me know how it goes
<immibis> sudo killall firefox. oops i shut down my system.
<immibis> because killall kills all processes and ignores its arguments (or was that a different bsd?)
<immibis> i remind you that you can run the 'dir' command on linux therefore linux is basically windows
<heat> you're thinking about killall5
<heat> oh yes, the only similarity between freebsd and linux is 'ls', you're right
<heat> it's sooooooooo different
<heat> when i jump from freebsd to linux i feel like i'm on a totally alien system
<heat> completely different interfacs
<nikolar> Different platforms doesn't mean completely alien systems
<pog> linux is basically windows
<nikolar> It just means you can't reliable write code for one and expect it to work on another
<nikolar> Without specifically attempting to do that
<pog> that's why god invented autotools
<heat> are windows 10 and windows xp two different platforms then?
<pog> depends on what subsystem you're writing for imo
<heat> god invented autotools because all of these shitty unices are basically the same shit but slightly different
<heat> heck, even internally in the implementation there's almost A Single Way Of Doing Things
<pog> for win32 apps you can target xp and still run fine on 10
<pog> that's obviously not going to work for graphics drivers or smth
<zid`> I can target a subset of posix and run on freebsd too though
<heat> but you can't target 10 and run on xp
<heat> well, depends on what you use
<zid`> linux and freebsd are *largely* compatible, to the same extent 10 and xp are, imo
<pog> windows 10 and xp are the same platform still tho
<zid`> only if freebsd and linux are
<pog> ehhh
xenos1984 has quit [Read error: Connection reset by peer]
<zid`> They're highly compatible platforms with shared history
<immibis> all
<pog> again it depends on the scope of your categorization
<immibis> all of them have things like shells and C compilers, which are totally different
<zid`> pog: lumper or splitter?
<immibis> your criteria for "different platform" is that windows doesn't have a C compiler?
<immibis> i say windows and linux are the same platform because they both run code. Discrete digital logic, now that's a different platform.
<heat> as if BSD hasn't used gcc for 30 years?
<heat> and commonly zsh because no one uses csh
<nikolar> Actually they are using clang generally
<heat> that's fairly new
<pog> it really really depends on what you mean by platform
<nikolar> Netbsd is still on GCC
<pog> Windows NT had a conformant subsystem for POSIX
<nikolar> Do you mean wsl
<zid`> no
<zid`> it has select
<zid`> and stuff
<pog> no i mean the NT subsystem for posix
<pog> SFU
<pog> way older
<immibis> well every linux i've ever had used bash or dash as the default shell, while zsh is something the user has to explicitly opt into. So that's a difference.
<zid`> xp literally has select() and so does w11... but it only supports MAX_FDS of 32 :D
<nikolar> Yeah that was a joke pog
rlittl01 has joined #osdev
<pog> oh lol
<immibis> actually is the default login shell ever dash? i know debian replaced sh with dash but you still log in with bash by default right?
<pog> so platform is a fungible term
<zid`> pog: Can I get that in the form of a non-token?
<immibis> windows select works differently
<heat> zid`, are you talking about the winsock select or are you thinking of a different select?
<pog> zid`: yes
rlittl01 is now known as rlitt
<immibis> it doesn't have file descriptors, just emulates something like select to make porting easier. It really wants to use IOCPs or at least async window messages.
<zid`> yea it's part of winsock2 apparently
rlitt is now known as rlittl01
<immibis> popular opinion: IOCP > select/poll/epoll
<zid`> but open is part of msvcrt
<immibis> msvcrt emulates an API similar to file descriptors to help with porting. so does winsock. two different but similar modules
<zid`> the most annoying thing about windows is that its fopen is C not POSIX, ngl
<heat> io completion ports aren't even the same thing as select/poll/epoll
<immibis> no, they're better
<heat> no, they're not the same thing at all
<zid`> means you have to throw in random fseeks everywhere
<zid`> immibis can't decide if he's a lumper or a splitter
<immibis> yes, they're not the same thing and they're better
<zid`> he's splitting unices but lumping io
<pog> i'm lumping while i split
<immibis> zid`: sounds like your lumper and splitter categories need to be split more
<pog> and splitting while i lump
<zid`> pog: You always struck me as the type to lump a lot
<pog> yeah it's a false dichotomy
<zid`> all over the carpet
<heat> zid`, is it that one thing where you need to seek after fread/fwrite?
<zid`> heat: ye a
<immibis> pog: i split open your mom's lump (the more i ponder that sentence the more i wonder wtf does that even mean)
<pog> lmao
<zid`> C says file pointer isn't valid if you write then read, posix says it is
<pog> she's lump, she's lump
<heat> the trick is to not use the C file io api
<zid`> use open and OpenFile?
<zid`> with ifdefs?
<pog> MapViewOfFile
<heat> 'tis life
<immibis> you mean CreateFile
<bslsk05> ​learn.microsoft.com: OpenFile function (winbase.h) - Win32 apps | Microsoft Learn
<immibis> OpenFile is an obsolete variant of CreateFile
<heat> actually microsoft has open
<zid`> and open is an obsolete variant of open(7) or whatever
<zid`> heat: yea, _open
<immibis> _open is just part of msvcrt's posix simulation module
<heat> ok so lets all use posix IO because it's based
<immibis> let's port windows io to linux
<heat> would rather die
<immibis> think about it: you can submit an operation, and then the thread can continue while the disk does the operation!
<pog> implement IRPs
<pog> yes
<immibis> and then later, you can find out if it succeeded!
<immibis> this could be an amazing advantage for programs that do a lot of disk operations
<zid`> Thank god
<zid`> I can't wait to write() before I've opened
<pog> we stan windows nt
<pog> native api
<immibis> that changes every version
<zid`> I actually really like winapi
<heat> linux also has that kthxbye
<immibis> io_uring uses a kernel thread pool
<heat> actually linux has like 2 or 3 versions of it
<zid`> win32 best api suite created, given linux still hasn't got one
<heat> yeah and what do you think win32 AIO uses? lol
<immibis> kernel aio just doesn't work
<immibis> heat: windows IO is async all the way through
<heat> sure it is, unless you need to block
<immibis> and you can't select on a file in linux
<pog> simple solution: don't block
<immibis> blocking is only at the user level. you can submit an IO then immediately wait for it. that's on you.
<heat> or, uhh, you need to copy from the page cache
<pog> if you need to block you fucked up
<immibis> if the program is trying to actually do something, there are I/O operations that need ot happen before the something can be done
<immibis> not every program is a highly concurrent web server
* pog lets her inner ASP.Net Core enjoyer out
<pog> they _should_ be
<pog> web dev webd ev
<pog> where's mjg to insult me
<immibis> webd ev is the event library of the web daemon
<pog> evweb
<pog> signalr is kinda tha
andydude has left #osdev [#osdev]
xenos1984 has joined #osdev
Gooberpatrol_66 has quit [Ping timeout: 260 seconds]
Gooberpatrol_66 has joined #osdev
Left_Turn has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
theyneversleep has joined #osdev
youcai has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
hwpplayer1 has joined #osdev
xenos1984 has quit [Ping timeout: 272 seconds]
xenos1984 has joined #osdev
xenos1984 has quit [Ping timeout: 252 seconds]
xenos1984 has joined #osdev
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
hwpplayer1 has quit [Quit: bye]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 265 seconds]
Dead_Bush_Sanpa1 has joined #osdev
Dead_Bush_Sanpai has quit [Ping timeout: 264 seconds]
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
theyneversleep has quit [Remote host closed the connection]
Left_Turn has joined #osdev
steelswords94 has quit [Read error: Connection reset by peer]
Turn_Left has quit [Ping timeout: 245 seconds]
steelswords94 has joined #osdev
Gooberpatrol66 has joined #osdev
Gooberpatrol_66 has quit [Ping timeout: 260 seconds]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 248 seconds]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
goliath has joined #osdev
kuan has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
kuan has quit [Ping timeout: 265 seconds]
<the_oz_> "immibis> not every program is a highly concurrent web server" this sounds like a dare
<the_oz_> ">not everything is a file" ">not everything is a CSP tasklet" ">not everything is web aware"
<the_oz_> quick, hide, it's rob pike
<the_oz_> russ cox, kernighan and crew
<the_oz_> and they have taken that personally
jedesa has quit [Read error: Connection reset by peer]
<kof673> > But as for the first person to mention lumpers and splitters in the same breath, the credit is due (as far as I can tell) to Edward Newman (1801–1876) > “The time has arrived for discarding imaginary species, and the duty of doing this is as imperative as the admission of new ones when such are really discovered. The talents described under the respective names of ‘hair-splitting’ and ‘lumping’ are unquestionably y
<kof673> ielding their power to the mightier power of Truth.”
<kof673> it is likely based on misunderstanding truth and Truth, which was always double
<kof673> people capitalize "Truth" as singular, when it meant double
jedesa has joined #osdev
<kof673> p1: let me show you this amazing new invention, it is known as an automobile. p2: great, let me get my horses and donkey and hook them up to this amazing new wagon. what a wonderful new stagecoach!
<kof673> confusion of tongues is eternal :)
Turn_Left has quit [Read error: Connection reset by peer]
<kof673> looking at other newman quotes, this is almost certain
rlittl01 has quit [Remote host closed the connection]
wrd has joined #osdev
wrd has left #osdev [#osdev]
wrd has joined #osdev
<the_oz_> Newman.
goliath has quit [Quit: SIGSEGV]
cow321 has quit [Ping timeout: 276 seconds]
wrd has quit [Ping timeout: 244 seconds]
<kof673> yes i was thinking that too. :D