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
npc has quit [Remote host closed the connection]
goliath has quit [Quit: SIGSEGV]
netbsduser has quit [Ping timeout: 264 seconds]
Maja_ has quit [Ping timeout: 272 seconds]
Renfield has quit [Quit: Leaving]
Maja has joined #osdev
Renfield has joined #osdev
navi has quit [Ping timeout: 252 seconds]
fkrauthan has quit [Quit: ZNC - https://znc.in]
fkrauthan has joined #osdev
fkrauthan has quit [Client Quit]
fkrauthan has joined #osdev
Gooberpatrol66 has joined #osdev
theruran has quit [Quit: Connection closed for inactivity]
Matt|home has joined #osdev
vikn has quit [Excess Flood]
vikn has joined #osdev
teardown has joined #osdev
foudfou has quit [Remote host closed the connection]
agent314 has joined #osdev
foudfou 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
Arthuria has quit [Ping timeout: 260 seconds]
Matt|home has quit [Ping timeout: 260 seconds]
gbowne1 has quit [Remote host closed the connection]
agent314 has quit [Ping timeout: 264 seconds]
agent314 has joined #osdev
agent314 has quit [Ping timeout: 264 seconds]
agent314_ has joined #osdev
zetef has joined #osdev
zxrom_ has joined #osdev
zxrom has quit [Read error: Connection reset by peer]
Left_Turn has joined #osdev
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #osdev
<nikolar> lol i am looking at random server on ebay and i found one for 140 dollars
<nikolar> too bad the shipping is 2100
netbsduser has joined #osdev
rustyy has quit [Quit: leaving]
GeDaMo has joined #osdev
<vdamewood> nikolar: My guess is they're trying to get out of paying eBay a percentage of the price of the item.
<nikolapdp> or that they are shipping it half way across the world :)
<nikolapdp> *would be shipping
rustyy has joined #osdev
netbsduser has quit [Ping timeout: 260 seconds]
zetef has quit [Ping timeout: 252 seconds]
theyneversleep has joined #osdev
oldgalileo has quit [Ping timeout: 260 seconds]
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
navi has joined #osdev
leg7 has joined #osdev
Left_Turn has quit [Remote host closed the connection]
netbsduser has joined #osdev
Left_Turn has joined #osdev
oldgalileo has joined #osdev
dalme has joined #osdev
dalme has quit [Ping timeout: 268 seconds]
dalme has joined #osdev
zetef has joined #osdev
goliath has joined #osdev
Halofreak1990 has joined #osdev
zetef has quit [Remote host closed the connection]
<immibis> yes that's a common shipping scam on ebay and i usually can't find a single item without that scam
<immibis> ebay is as shit as twitter, since before twitter
<immibis> you can get old servers for a few hundred $ though.
gsekulski has joined #osdev
<nikolapdp> yeah i know
<nikolapdp> but they are usually in the us
<nikolapdp> and i am not
<nikolapdp> lol
<nikolapdp> so shipping is 2000 usd
gsekulski has quit [Ping timeout: 240 seconds]
bauen1_ has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
gsekulski has joined #osdev
edr has joined #osdev
gsekulski has quit [Ping timeout: 252 seconds]
gog has joined #osdev
lojik has quit [Quit: ZNC 1.8.2 - https://znc.in]
lojik has joined #osdev
blockhead has quit []
agent314_ has quit [Quit: No Ping reply in 180 seconds.]
agent314 has joined #osdev
Arthuria has joined #osdev
woky- has quit [Quit: Nothing in this world is hopeless!]
troseman has quit [Ping timeout: 268 seconds]
gsekulski has joined #osdev
nikolar has quit [Quit: ZNC - https://znc.in]
xvmt has quit [Read error: Connection reset by peer]
nikolar has joined #osdev
xvmt has joined #osdev
xenos1984 has quit [Remote host closed the connection]
xenos1984 has joined #osdev
srjek has joined #osdev
leg7 has quit [Ping timeout: 264 seconds]
zetef has joined #osdev
spareproject has joined #osdev
theyneversleep has quit [Ping timeout: 264 seconds]
Halofreak1990 has quit [Ping timeout: 255 seconds]
gsekulski has left #osdev [#osdev]
troseman has joined #osdev
node1 has joined #osdev
masoudd has joined #osdev
spareproject has quit [Remote host closed the connection]
op has joined #osdev
asarandi2 is now known as asarandi
gsekulski has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
node1 has quit [Quit: Client closed]
zetef has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #osdev
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
masoudd has quit [Quit: Leaving]
gsekulski has quit [Ping timeout: 252 seconds]
xenos1984 has quit [Ping timeout: 240 seconds]
Arthuria has quit [Ping timeout: 268 seconds]
masoudd has joined #osdev
masoudd has quit [Remote host closed the connection]
masoudd has joined #osdev
gsekulski has joined #osdev
op has quit [Remote host closed the connection]
gildasio has quit [Remote host closed the connection]
teardown has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
xenos1984 has joined #osdev
teardown has joined #osdev
gildasio has joined #osdev
chiselfuse has joined #osdev
gsekulski has quit [Ping timeout: 260 seconds]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Halofreak1990 has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
srjek has quit [Ping timeout: 256 seconds]
masoudd has quit [Quit: Leaving]
gbowne1 has joined #osdev
theruran has joined #osdev
node1 has joined #osdev
dalme has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
woky_ has joined #osdev
spare has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
zetef has joined #osdev
Left_Turn has joined #osdev
node1 has quit [Ping timeout: 250 seconds]
gsekulski has joined #osdev
gsekulski has left #osdev [#osdev]
gsekulski has joined #osdev
Arthuria has joined #osdev
agent314 has quit [Ping timeout: 260 seconds]
agent314 has joined #osdev
goliath has quit [Quit: SIGSEGV]
leg7 has joined #osdev
<leg7> hey is anyone online?
<geist> well yes. but generally asking for that will get people to ignore you :)
<leg7> yeah I understand
<leg7> btw geist
<leg7> I made the .d files with make the other day
<geist> grats
<leg7> but now the recipe stops checking if the first object doesn't need rebuilding
<geist> well then you didn't do it right
<bslsk05> ​github.com: LigmaOS/Makefile at main · leg7/LigmaOS · GitHub
zxrom_ has quit [Quit: Leaving]
<leg7> I mean it looks like it's doing the right thing
<leg7> and it kinda works that's the only bug
<leg7> anyways that's not super important it's just anoying
zetef has quit [Remote host closed the connection]
<leg7> I have like 5 days more to work on my OS before I have to send the code to my teacher for evaluation and I wanted to know what I can do in the time I have left
<geist> ah. was wondering what this was all about
<geist> are you sure you want to call it ligma os?
<leg7> I was thinking either IDE driver + ext2 + porting os to use hard drive
<leg7> or timer + soundcard
<leg7> well ligmaos is just a placeholder name
<geist> timer probably. ide + ext2 there's no way you can get that going in 5 days
<leg7> yeah that's what I was thinking
<geist> i guess it all depends on what it currently does
<leg7> the os?
<geist> es
<leg7> I got interrupts and irqs working
<leg7> I just made a ps2 driver
<leg7> for scan code set 2
<leg7> I can write to it
<geist> does it switch threads?
<leg7> my friend made some vbe stuff to have a pretty interface
<leg7> no it doesn't
<geist> so whats the scope of what you're turning into the teacher?
<leg7> (that I know of atleast)
<geist> lilke, what are you asked to do
<leg7> well we could choose projects from a list or come up with our own
<leg7> so I came up with my own :D
<leg7> I wanted to make an OS
<leg7> and the teacher told me no one had done that in 25 years so he doesn't have any requirements
<leg7> Because he doesn't have a reference point
<geist> ah okay. so if they're CS savvy at all they'll probably ask what you're doing about interrupts and threads and wahtnot
<leg7> yeah
<leg7> Well he's a logic teacher
<leg7> loves PROLOG and stuff
<geist> i'm not trying to diss on it, done get me wrong, everyone starts somwehere, but in this current form it's basically a bare metal program that displays some stuff and talks to some hardware
<geist> which is an achievement, but it's a bit of a stretch to call it an OS
<leg7> yeah but I only had 8 weeks
<geist> sure. so i guess since you only have 5 days.... yeah hmm
<leg7> and I've never done embeded stuff
<geist> i guess focus on easy to do flashy stuff
<leg7> exactly
<geist> like, i dunno, show a live counter of time in the corner of the screen
<geist> reading from the RTC, updating once a second
<leg7> I told my friend I could probably get sound and then he can make a piano/keyboard interface
<geist> to show that it's not just sitting there waitinf for your to tyle
<geist> type
<leg7> ok
<geist> if you update the clock in a timer interrut it makes it look like it can do more than one thing at a time
<geist> kinda gives it a bit more of a proper OS feel
<geist> did you implement interrupt handling?
<leg7> yeah
<leg7> I can do that
<geist> yeah so you could say run a timer and read the RTC, and write a clock to the screen in the interrupt
<geist> that might be cute
<leg7> ok
<leg7> I can probably do that in a day or two
srjek has joined #osdev
<leg7> do you think I can get basic sound?
<geist> basic sound out of what interface?
<leg7> I don't really know them
<leg7> the simplest sound controller
<geist> on a PC right?
<geist> are you running this under qemu?
<leg7> yeah
<geist> i guess QEMU emulates a PC speaker? I honestly duno
<geist> PC speaker is very easy to get it to make some beeps and whatnot
<geist> more complicated to do anything more than that
<geist> something like a soundblaster or whatnot is probably outside the scope of 5 days
<leg7> yeah some beeps is good enough
<leg7> I'll keep working on it afterwards but I just want something the teacher can play with for 5 seconds and be like `yeah they did some work`
<leg7> because realistically he won't read or understand any of the code
<geist> yah makes sense
<geist> also if that's the case make sure you check in things and dont break it in the next 5 days
<geist> in case you actually mess it up with something crashy
<geist> you can at least revert back to the functional version before turning it in
<Ermine> https://wiki.osdev.org/Creating_a_C_Library > fopen_http - is this real story?
xenos1984 has quit [Read error: Connection reset by peer]
<bslsk05> ​wiki.osdev.org: Just a moment...
<leg7> Ermine: sounds plausible
<leg7> geist: yeah I check in my stuff pretty often
<Mondenkind> googling for it yields no hits except that wiki article so probably not
xenos1984 has joined #osdev
<Mondenkind> also you can implement fopen_http yourself in terms of fopencookie sooo
<leg7> geist: The weird thing about my Makefile is that if I do just `make` it says `kernel.c.o is up to date` but if I `make run` it recompiles it just fine even though `make run` just calls the default target and runs the emulator
<geist> leg7: are you sure you're including *all* of the .d files?
<leg7> Do you mind sharing your github username so I can check out the makefile you sent me yestery
<geist> travisg
<geist> https://github.com/travisg/files11/blob/main/makefile is an even simpler one than the one i sent before
<bslsk05> ​github.com: files11/makefile at main · travisg/files11 · GitHub
<geist> just a new project i tossed up saturday
Halofreak1990 has quit [Quit: Konversation terminated!]
<geist> it's this template i copy around for various projects i work on
<leg7> Do I have to include DEPS at the bottom?
<geist> absolutely
<geist> that's the key to the whole thing, otherwise you've just built some random .d files and the build system doesn't understand em
<bslsk05> ​github.com: LigmaOS/Makefile at e5ee9184487779655af9acebca855f34f1872128 · leg7/LigmaOS · GitHub
<leg7> Oh
<leg7> It makes sense now that you say it
<geist> also the key is to use `-include` instead of `include`
<geist> -include means 'try to include these files, but dont fail if they're not there'
<leg7> OOOH
<leg7> it's like #include
<leg7> like preproc
<geist> yep
<leg7> just copy pastes them
<leg7> broo
* leg7 faceplam
<leg7> I'm so dumb
<leg7> yeah now that it's at the bottom it works fine
<geist> more or less. so the .d files that were made by GCC then basically extend the build system so that it has the deps fromt he previous run
<leg7> thank you
<geist> no worries. took me years to get that exactly right
<leg7> yeah it totally makese sense because the .d files are targets and if you include them above they don't even exist sometimes
<geist> right
<geist> if yo ulook at a .d file you'll see they're basically 'foo.o: foo.h bar.h' etc
<geist> the compiler is just spitting out all the h files it had read in during the last compilation step
<geist> note there's sometimes a problem if you move or rename a .h file
<geist> there's a fix for that, or you can just make clean; make there
<geist> and make sure you add the .d files to the things you delete in make clean
<leg7> yeah I delete them
<leg7> I think the -MP flag fixes the but you're talking about
<leg7> I read about it in the gcc docs
<geist> i think so maybe too
<geist> cool, yeah
<geist> it's one of those things i figured out like 15 years ago and just keep copying around
<geist> so you sort of forget the finer details
<bslsk05> ​gcc.gnu.org: Preprocessor Options (Using the GNU Compiler Collection (GCC))
<leg7> yeah I totally get what you mean
<geist> aaaah yes the phony target, right
<leg7> I have to relearn makefiles every 6 months when I loose my template or it stops working
<leg7> Every time I relearn them better thoug
<leg7> I should just read the docs one day
<geist> yah you can only retain so much, but then you remember that there was something there and you can go look it up again
<geist> that's how acquiring knowledge works. you just keep doing that and then someday people start thinking you know what you're talking about
<geist> even though you'd just only been at it longer than them
<geist> odd how life works that way
<leg7> When I was a kid I thhough adults had it all figured out
<leg7> If only I knew XD
<leg7> btw I made a state machine in C for the first time so I would appreciate criticism
<bslsk05> ​github.com: LigmaOS/src/kernel/drivers/input/PS2_keyboard.c at 0244e89c949063fe2edb35a8c41123858360ef44 · leg7/LigmaOS · GitHub
<leg7> I had no idea how to do it so I just made a transition table like we did on paper
<leg7> and managed some stuff in the irq
<geist> yah and one of the things that running on emulators vs real hardware will get you into trouble is the emulator will pretty much always queue up all of the bytes of a multi byte scancode instantly
<geist> but on real hardware they come in fairly slowly from the keyboard. so you can actually end up with the bytes chopped
<geist> no big deal. you just have to handle the states across interrupts, etc
<leg7> uh yeah I think that's what I do
<geist> good, excellent
<leg7> I mean for every int I just read 1 byte
<leg7> I googled how to make a state machine in C before trying but all the answers I could find looked convoluted and slow
<leg7> with function pointers and stuff
<geist> good i've seen a lot of first ps2 drivers do it the opposite way: read as many bytes as there are queued up (which isn't a bad idea) but then you end up with what i'm talking about which is that on emulator it's always nicely packetized and never chopped
<geist> yah usually i just define an enum and write a switch statement for moderate sized state machines
<leg7> ngl I think I tried reading multiples bytes at onec but it didn't work
<leg7> yeah switch sounds like a reasonable solution
<bslsk05> ​github.com: lk/lib/console/console.c at master · littlekernel/lk · GitHub
<bslsk05> ​stackoverflow.com: State machines in C - Stack Overflow
<geist> this is some ancient code i wrote long ago but basically does a simple state machine to parse a command line with quotes and whatnot
<leg7> yeah it's pretty understandable without the diagram
<leg7> I think mine is incomprehensible without it
<leg7> I need to generate a virtual one I did it on paper
<leg7> I cloned lk some time ago and used it for inspiration
<leg7> it's good stuff
<leg7> anyways I've gtg it's late
<geist> kk, take care!
<leg7> Thanks a lot for the help!
<leg7> o/
leg7 has quit [Remote host closed the connection]
nikolar has quit [Read error: Connection reset by peer]
nikolar has joined #osdev
<kof673> > fopen_http djgpp, and posix IIRC ...funopen IIRC...lets you write function points to hook the FILE * stream stuff. not sure i've seen anything actually use that
<kof673> "in terms of fopencookie" yes, that stuff ^^^
<kof673> *write functions and use function pointers
<clever> kof673: https://github.com/cleverca22/thermostat_firmware/blob/master/main.c#L42 this is related to funopen, it lets you statically assign those hooks at compile time
<bslsk05> ​github.com: thermostat_firmware/main.c at master · cleverca22/thermostat_firmware · GitHub
<clever> in this case, its for routing `FILE *stdout` to the hw uart, when doing baremetal stuff
<clever> but it seems like it might be an avr specific function
<bslsk05> ​github.com: tinyos-main/tos/lib/printf/2_0_2/avr_stdio.h at master · tinyos/tinyos-main · GitHub
<clever> down on line 351, you can see how simple it is
<kof673> considering file:// URI scheme... iti s not so far-fetched, just not sure anything fully tries to "unify" such things into a single "filename scheme"
<kof673> *it is not. conway as always :D which one is "standard" "depends where you are coming from"
Left_Turn has quit [Read error: Connection reset by peer]
nadja has quit [Quit: bye!]
spare has quit [Remote host closed the connection]
<clever> kof673: you also have data: and blob: URI's, https://developer.mozilla.org/en-US/docs/Web/API/Blob
<bslsk05> ​developer.mozilla.org: Blob - Web APIs | MDN
<clever> blob is a potential way to improve performance of things in the browser
<clever> basically, you can take a byte array in JS, and generate a blob://example.com/uuid URI, that then returns the byte array
<bslsk05> ​example.com: 404 - Not Found
<clever> data: does the same job, but you have to base64 encode the data, and then the browser has to turn around and undo it again
<kof673> :D i think data is used for "inline images" like small icons or thumbnails
<clever> kof673: but blob can be used for images being generated by js (or embedded in json, or decrypted client side)
<clever> or if your doing something funky like generating a complex file locally
<bslsk05> ​github.com: rpi-eeprom/firmware-2711/latest at master · raspberrypi/rpi-eeprom · GitHub
<clever> as an example, these files contain the rpi firmware, and there is a complete filesystem within it
<clever> i can imagine how you could make a JS editor, that can allow you to edit the files and re-pack them into a .bin file
<clever> and then you create a blob url in a <a>, and clicking it will "download" the bin and save it to the hdd
<clever> but its entirely client based
<clever> ive also seen a save file editor for oxygen not included, that did the same thing
nikolar has quit [Remote host closed the connection]
nikolar_ has joined #osdev
Nixkernal has quit [Ping timeout: 260 seconds]
nikolar_ is now known as nikolar
zid` has joined #osdev
zid has quit [Ping timeout: 255 seconds]
Gooberpatrol66 has quit [Ping timeout: 264 seconds]