<heat>
klange, in the release notes, the strawberry theme link is dead
srjek has quit [Quit: Leaving]
<heat>
also clang 15 doesn't like bim much
<heat>
warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a subsequent definition [-Wdeprecated-non-prototype]
<heat>
warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
nick64 has joined #osdev
<heat>
for BIM_ACTIONs
<linkdd>
regarding multitasking, i see most resources on osdev describe a model where a process (with a PID) have a reference to a page directory, and a list of threads. each thread have a reference to a kernel task (one per thread in opposition to one per cpu). what are other models?
air has joined #osdev
<heat>
what do you mean with "each thread have a reference to a kernel task"
<heat>
tasks /are/ threads
freakazoid332 has quit [Ping timeout: 244 seconds]
<heat>
anyway, processes don't necessarily have their own address space in lots of models
<heat>
also, it's frequent in older/unixy systems for threads == processes that share a lot of stuff
<heat>
which has its own set of advantages: really flexible and there's a lot you can share/unshare
<heat>
so you could have something that shares the address space but not the fd table for instance
<heat>
otoh, conceptually stupid
StoaPhil has joined #osdev
moberg has joined #osdev
epony has joined #osdev
heat has quit [Ping timeout: 250 seconds]
lentement has joined #osdev
vin has joined #osdev
vin has quit [Remote host closed the connection]
saltd has joined #osdev
lentement has quit [Remote host closed the connection]
gildasio has joined #osdev
lentement has joined #osdev
freakazoid332 has joined #osdev
lentement has quit [Ping timeout: 244 seconds]
nick64 has quit [Quit: Connection closed for inactivity]
lentement has joined #osdev
lentement has quit [Remote host closed the connection]
freakazoid332 has quit [Ping timeout: 244 seconds]
lentement has joined #osdev
lentement has quit [Ping timeout: 265 seconds]
[itchyjunk] has quit [Read error: Connection reset by peer]
lentement has joined #osdev
kof123 has quit [Ping timeout: 268 seconds]
lentement has quit [Remote host closed the connection]
gildasio has quit [Remote host closed the connection]
frkzoid has joined #osdev
gildasio has joined #osdev
frkzoid has quit [Ping timeout: 244 seconds]
StoaPhil has quit [Quit: WeeChat 3.6]
gog has quit [Ping timeout: 244 seconds]
SpikeHeron has joined #osdev
<kazinsal>
it is the year 2022. I am digging through esoteric documentation from eons past trying to figure out how the hell to write an EMS 3.2 driver. I have not yet taken a step back and analyzed the life choices that brought me to this point
<kazinsal>
fiddling with the idea of implementing it for my little XT unix
<geist>
cute. yeah it's interesting if nothing else to see how it worked
<geist>
also a fun thing to do: boot dos on qemu with and without himem.sys and whatnot, and then break in and see how the cpu is set up
<geist>
how page tables are configured, etc
<geist>
pretty educational
<kazinsal>
yeah
<geist>
also fun booting windows 3.1 and really fun to look at what OS/2 does
<kazinsal>
I found a neat emulator that's mostly cycle-accurate for everything 386 and earlier and it supports emulating an 8-bit EMS board for 8088s
ThinkT510 has quit [Quit: WeeChat 3.6]
<kazinsal>
I've gone down a rabbit hole with this silly little project and found all sorts of neat stuff about different IBM ISA cards that I never knew existed or never knew had specific features
<kazinsal>
eg. the IBM RS-232 card has a jumper block that you can flip around to turn it into a 20mA current loop card
ThinkT510 has joined #osdev
<geist>
ah interesting
[itchyjunk] has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
tarel2 has joined #osdev
saltd has quit [Remote host closed the connection]
saltd has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
vin has joined #osdev
vin has quit [Ping timeout: 268 seconds]
SGautam has joined #osdev
GeDaMo has joined #osdev
gog has joined #osdev
gog has quit [Ping timeout: 265 seconds]
gog has joined #osdev
_xor has quit [Quit: bbiab]
lentement has joined #osdev
lentement has quit [Remote host closed the connection]
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 265 seconds]
netbsduser has joined #osdev
saltd has quit [Remote host closed the connection]
<carbonfiber>
I am trying to understand "El Torito". Is it required for the image pointed to by "load LBA" to exist as file entry in a iso9660 directory? or can I just place it anywhere I want without the iso9660 filesystem knowing anything about it?
<carbonfiber>
are there any BIOSes that only work if the image is listed in a directory?
<saltd>
and no gonner
<saltd>
carbonfiber yout question is related to chip makers, i do not know any excep TSMC&Samsung. They program bioses, although uefi is very customizable
vin has joined #osdev
<kazinsal>
curious as to what the context for the question is
<kazinsal>
what the relevant spec pages are
<carbonfiber>
saltd: I don't think my question is related to chip makers. My question is about what is required for an "El Torito" cd to be compatible and conformant with most BIOSes found in the wild.
<saltd>
okay, i do not known any
<carbonfiber>
And whether it is required for the image to be listed in a iso9660 directory. Or what the common behavior for "El Torito" CDs are.
<carbonfiber>
kazinsal: the relevant spec pages is just the El Torito specification. It is only about 20 pages long.
<carbonfiber>
but it of course assumes knowledge of the general iso9660 spec.
<carbonfiber>
So let my try to ask differently. Do most "El Torito" CDs (windows, linux, etc) list the image in an iso9660 directory on the CD, and if so, then why do they do that?
<zid>
bioses are pretty fecking liberal
<zid>
my bios will load iso9660 filesystems off usb flash sticks and stuff just fine
<zid>
and weird hybrid versions at that
<carbonfiber>
wut :D
<zid>
where the empty 32kb has a fat12 in it
tarel2 has quit [Ping timeout: 252 seconds]
vin has quit [Remote host closed the connection]
vin has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
saltd has quit [Remote host closed the connection]
ornitorrincos has joined #osdev
[itchyjunk] has joined #osdev
saltd has joined #osdev
saltd has quit [Remote host closed the connection]
vin has quit [Remote host closed the connection]
kroney has joined #osdev
vin has joined #osdev
vin has quit []
saltd has joined #osdev
nyah has joined #osdev
Matt|home has quit [Quit: Leaving]
zid has quit []
lentement has joined #osdev
<geist>
I suspect there's no reason to expose the boot image in the iso9660 fs
<geist>
Or at least no requirement
lentement has quit [Remote host closed the connection]
FreeFull has joined #osdev
gog has quit [Ping timeout: 250 seconds]
kroney has quit [Remote host closed the connection]
<zid>
Looks like my guess was correct, and bad 3.3V rail = crashed ME = 0xBADB001
<carbonfiber>
I have done some more research now. The image does not have to exist in the iso9660 fs. The windows vista DVD only lists a readme.txt in the iso9660 fs (if the DVD is mounted as an iso9660).
<carbonfiber>
The Vista DVD uses UDF for the contents.
<carbonfiber>
but it could have used something else. there is nothing special about UDF when it comes to El Torito.
dennis95 has joined #osdev
<zid>
vista will have eufi stuff too
<zid>
and be UDF cus dvd
<heat>
doesn't windows notoriously not use el torito?
<carbonfiber>
It doesnt have to be UDF just because it is a DVD
<zid>
might wanna though, if you expect to have annoying things like filenames
frkzoid has joined #osdev
FreeFull has joined #osdev
saltd has quit [Remote host closed the connection]
<carbonfiber>
heat: I don't think so. How else would windows do it? (talking pre-UEFI).
<heat>
I may be talking out of my ass here but windows ISOs aren't dd'able to a usb drive
<zid>
my bios doesn't give a fuck, but you're supposed to use rufus
<zid>
to create a proper image using the files on the iso
<carbonfiber>
El Torito doesn't have anything to do with usb drives. But most ISOs are hybrid ISOs which contain both a valid El Torito format and a valid USB format.
<carbonfiber>
because the two formats can coexist in the same ISO.
<carbonfiber>
El Torito is only relevant for optical discs.
<zid>
or the microsoft usb creation tool, which is hard to find now
<carbonfiber>
heat: so if windows ISOs are not dd'able, then it is because the ISO is not a valid HDD/USB-flash image. Which is independent from it being a valid optical-disc image.
andreas303 has joined #osdev
<zid>
heat: I fixed my ME, i'm sure you're pleased.
<heat>
zid, i am pleased
<clever>
last i looked, a valid optical disk image, has something like a 32kb or 64kb hole at the front where it doesnt expect antyhing, and yeah, youu can then shove mbr/gpt into that hole, and claim the iso9660 region is a partition
<clever>
and setup pretty much any bootloader you want
<zid>
so yea, if you ever have a machine where the *only* thing you can do is fastboot it, and it's pre-integrated-ME, test your 3.3v rail
<zid>
clever: 32k
<carbonfiber>
clever: yeah exactly.
<zid>
yea I already mentioned it, btw
<carbonfiber>
however I think it is kinda ugly to use the ".iso" extension for non-optical-disc stuff.
<zid>
iso is a crappy format for cd-roms ironically
<zid>
bin/cue is 1000x better
<clever>
what makes bin/cue better? ive seen it sometimes when ripping, but never looked into what they are
<clever>
does it deal with sessions?
<carbonfiber>
zid: ohh, I thought you were talking about some crazy bios that could actually boot from iso9660 usb sticks. (and not the 32k system area).
<zid>
it dose
<zid>
my bos will boot fucking *anything*
<zid>
it doesn't give a flying fuck
<clever>
ahh
<zid>
cue knows about tracks, and sector sizes
<zid>
cd-roms have like 11 data layers, iso only gives you 1, cue can do 3-4
<zid>
Try making an iso of a psx cd-rom, it's not possible
<zid>
it's a totally valid red book cd though
Andrew is now known as WaxCPU
<zid>
TRACK 01 MODE2/2352
<zid>
TRACK 02 AUDIO
<clever>
i assume that if i was to just `cat /dev/sr0 > foo.iso`, it would basically just capture the data track, as the last session claims it should be?
<zid>
isos are only mode2/2048
<zid>
single track
<clever>
and any coverups done by sessions would be invisible, along with audio tracks?
<clever>
oh, i just remembered a neat trick somebody did on records, that would uterly confuse a cdrom drive
<clever>
they put 8 seperate spiral tracks, interleaved together on one record
<zid>
pregap for the first track contains a bunch of info about the actual media too, like max write speed etc
<clever>
so if you drop the needle down on the record, it plays a single song from inner to outer
<GeDaMo>
I have a Monty Python record with two grooves on one side
<clever>
GeDaMo: now imagine 8! lol
<zid>
(which is the thing the psx co-opted for its drm, it encoded an FM modulated 'sony entertainment of x' ascii string instead)
<GeDaMo>
It was confusing because the first few times I played it, I got the same groove then I got the other :P
<zid>
as they were pressed, not cd-rs, so they didn't need "max write speed, max read speed, etc" metadata
<zid>
clever: horse racing at home betting game?
<clever>
ah, that was probably it, i saw it on techmoan on YT
<clever>
zid: oh, something else i heard about, the cdrom laser receiver, has some extra photo-diodes, to detect the laser being off left/right, and a control loop and speaker coils to keep it aimed correctly
<bslsk05>
'Sony's Clever but Flawed PlayStation Copy Protection--And How They Might Have Fixed It' by Technology Connections (00:14:15)
<clever>
skip to ~ 6:40
<clever>
and you can see the head is keeping a constant distance from the warped laserdisk
<zid>
that's why cd-rom drives were so expensive for so long, they're kinda complicated :P
<zid>
several motors, or a complex gear chain
<zid>
and a bunch of control loops
<clever>
but now its just ~2 voice coils, and a single stepper motor
<clever>
as shown in the above video, the voice coils do all of the fine grain tracking, and following of the spiral
<clever>
and when it hits the limits of how far the coil can move the lens, the stepper motor moves over a bit
<clever>
and yeah, you then have some complex control loops to keep the lens on a single track, and not get stuck in a loop when it encounters a bad scratch
<clever>
then you need to undo the encoding and ecc, to recover the raw data
<zid>
usually scratches are dealt with in software
<zid>
the interface to sony's drive is weird
<zid>
You give it a pause command, then a seek command, then a read, and it keeps feeding you consecutive sectors until you pause it again
<zid>
which is like.. 10 IRQs total
<clever>
i can see how the dumb analog control loops might correct the wrong way when it hits a scratch, and repeat the same track forever
<clever>
at which point, yeah, software has to give it a command, to force it to seek one extra track over
<zid>
there's seperate 'read and give up' and 'read until you win' commands
<clever>
hmmm, is a cdrom one big spiral, or many cicles?
<zid>
I'm not actually sure
<zid>
but the extra data in the 2352 version includes a timestamp
<zid>
so that it can figure out where the head is
<zid>
which is how I knew I had the cd-rom drive in the wrong mode last time I used it :P
<zid>
DMA sent.
<zid>
00 02 10 02 00 00 00 00
<zid>
I seeked to 00:02:16
<clever>
ah
<zid>
I also fucked up the BCD conversion because I am pants-on-head-retarded
<clever>
i assumed the timecode was in seconds, or maybe wav samples?
<zid>
for some reason cd-roms *love* BCD
<clever>
but minute and second also works
<zid>
It mean, it sort of is
<zid>
each sector is 1/16th of a second of 1x audio or whatever
<clever>
and how many sectors per track?
<zid>
however long the track is
<zid>
track here is literally like a DJ would ues it
<zid>
"Love this track"
<clever>
heh
<clever>
i'm still thinking in floppy/hdd terms
<zid>
this is for audio, data is an extension
<zid>
1/75th of a second actually maybe, i forget..
<zid>
yea, 588 samples of 1/75th of a second of 44.1kHz
<zid>
2352 bytes, which after all the metadata gives you 2048 bytes of 'data' if you use it as a filesystem instead of an audio device
<zid>
with 98 bytes more of CIRC subchannel nonsense, blah blah
<clever>
but 2048/588 isnt a clean, ah
<zid>
588 * 4 = 2352
<clever>
still not clean division
<zid>
16bit PCM
<zid>
stereo
<clever>
ah, so audio is using the raw 2352 byte sectors, without the metadata?
<zid>
yea
<zid>
because you can use the TOC in the audio case
<clever>
but data is 2048 bytes of data, plus 304 bytes of extra metadata?
<zid>
yea
<clever>
to fill the same sector
<clever>
oh right, i heard something about how audio didnt need ecc?
<zid>
I think they call them 'frames' not sectors but yea
<clever>
but data does
<zid>
yea the data has Q and P channels for reed solomon or something, I forget the details of that crap I don't deal with it
<zid>
and audio uses the 98 byte CIRC data
saltd has joined #osdev
<zid>
EDCECC
<clever>
is there also any extra encoding going on, like 8:10, even for audio?
<zid>
no idea how the bits are encoded
<zid>
pits and lands is all I know
<zid>
but it wouldn't surprise me if they had ecc
<zid>
and 8:10
<clever>
i had heard something about how the head can loose tracking if there are too many of the same type in a row
<clever>
same reason usb has bit stuffing
<zid>
I wonder if it's because of autogain
<zid>
like, the laser tries going in/out because it can't see anything
wootehfoot has joined #osdev
<clever>
yeah
<clever>
bbl
<zid>
what do I do now my PC works
<zid>
install the asus tools and overclock the fuck out of it?
frkzoid has joined #osdev
<heat>
obviously
zid has quit []
<heat>
maybe overclocking was the wrong idea
SGautam has joined #osdev
zid has joined #osdev
<zid>
I had to add some volts, but it's back at 4.4GHz same as my quad was
terminalpusher has quit [Remote host closed the connection]
kof123 has joined #osdev
<carbonfiber>
The El Torito specification uses the "boot record" specified in the iso9660 specification. But the El Torito specification is from 1995 whereas the iso9660 specification is from 1988. That means the "boot record" existed as part of the iso9660 spec for 7 years before being used by El Torito. Does anyone know what the "boot record" was used for before El Torito? or alternative uses for it beside El Torito?
<gog>
carbonfiber: el torito is rather specific to PC-compatibles
<gog>
when ECMA specified the standard i'm sure they were working with OEMs that wanted this capability
gareppa has joined #osdev
<carbonfiber>
well I still think it is kind of a long delay.
<carbonfiber>
Did non-PC-compatible have bootable CDs before El Torito?
nexalam has joined #osdev
<mrvn>
if your atapi driver comes with a boot rom for amigaos then yes.
<mrvn>
don't know any that did.
<mrvn>
s/driver/drive/
<carbonfiber>
atapi is post-el-torito i think.
<mrvn>
scsi CD driver then
<mrvn>
If you format a CD with FFS then it should boot
<carbonfiber>
i tried searching for sun/solaris stuff. but dont think it was ever standardized. and dont know the timeline of it. also dont know if it uses the iso9660 boot records at all.
<mrvn>
AmigaOS just looks if the filesystem on the medium has a s/startup-sequence file
<carbonfiber>
I know nothing about Amiga. Maybe i should read up on it. I like that the file system is called FFS :D
<mrvn>
It didn't support iso9660 from rom but it can load a filesystem driver directly from a boot medium if it is specified. Now I iwonder if you could make a hybrid CD thats iso9660 but with the iso9660 filesystem driver registered in the partiton block. The iso should have space at the start, where x86 hybrid puts it's partition block too.
<mrvn>
ffs stands for fast file system. :)
<mrvn>
Supposedly it's faster than the one before that. :)
<mrvn>
One problem with CDs is that they have an odd block size.
<netbsduser>
i use PFS3AIO on my amiga, quite a bit faster
gareppa has quit [Quit: Leaving]
<mrvn>
netbsduser: I was always limited by the speed of the disk.
<mrvn>
9.8 MiB/s file throughput over fast-scsi-2 is pretty good.
<mrvn>
never tried an ultra-wide-scsi disk.
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
nexalam has quit [Quit: Leaving]
nexalam has joined #osdev
nexalam has quit [Remote host closed the connection]
nexalam has joined #osdev
nexalam has quit [Quit: Leaving]
<klange>
heat_: re: prototype warnings, I have a patch for c23 prototype rules, but fuck clang for being so noisy about it when I explicitly specify c11...
kof123 has quit [Ping timeout: 268 seconds]
kof1231 has joined #osdev
heat_ has quit [Remote host closed the connection]