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
troseman has joined #osdev
k8yun_ has quit [Ping timeout: 260 seconds]
m5zs7k has quit [Ping timeout: 256 seconds]
myon98 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
xenos1984 has joined #osdev
blockhead has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.4]
zid` has joined #osdev
zid has quit [Ping timeout: 256 seconds]
ThinkT510 has quit [Ping timeout: 240 seconds]
ThinkT510 has joined #osdev
<jason1234> geist: so basically this is one of the only kernel that does m68k + arm + i386,... with low memory system. freedos with bios console is only x86. well, it would seems. is that right? congratulcations anyhow.
<jason1234> geist: it would be only system to run on all my machines, atari st, 220 cs toshiba, and modern PCS, notebook and ryzen 3
<jason1234> or capable at least. very versatile. More OS similar are welcome.
<jason1234> + too : memdisk+grub but as well qemu with -curses, since it seems to use the bios console (old ibm) and allow keys like ctrl+alt+supp to reboot.
<jason1234> netbsd was the only one maybe, universal. but they had to drop the low mem machines. and there is no support for atari/amiga... due to cpu.
ElectronApps has joined #osdev
k8yun has joined #osdev
k8yun has quit [Remote host closed the connection]
k8yun has joined #osdev
nyah has quit [Quit: leaving]
Lugar has quit [Quit: Bye]
<geist> yah that and possibly netbsd
<geist> ah yeah you just said that
<geist> yah probably because they're using mmuless
<geist> not you got me interested in getting an amiga
* gog appears
<gog> yo soy tu amiga
<gog> y una buena amiga entonces
gog has quit [Quit: byee]
<geist> bye gog!
<klange> but it was too late; gog was already gone
stosby has joined #osdev
k8yun has quit [Ping timeout: 256 seconds]
m5zs7k has joined #osdev
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
stosby has left #osdev [#osdev]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gog has joined #osdev
<moon-child> ...but nobody came
k8yun has joined #osdev
[itchyjunk] has quit [Ping timeout: 256 seconds]
[itchyjunk] has joined #osdev
smeso has joined #osdev
dmh has quit [Quit: leaving]
[itchyjunk] has quit [Remote host closed the connection]
ElectronApps has quit [Remote host closed the connection]
* kingoffrance feeds gog amiga fish https://hornet.org/music/songs/1995/f/fish2.zip
k8yun_ has joined #osdev
dmh has joined #osdev
k8yun has quit [Ping timeout: 260 seconds]
troseman has quit [Ping timeout: 256 seconds]
scoobydoo has quit [Ping timeout: 256 seconds]
dmh has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
masoudd has joined #osdev
scoobydoo has joined #osdev
dmh has joined #osdev
nostalgia has joined #osdev
<geist> the gog is back!
<geist> all hail gog
<dmh> and front
<zid`> gog left?
<geist> right
blockhead has quit [Ping timeout: 256 seconds]
<gorgonical> Do we think ARM's IPO is just a roundabout way for nvidia to get it? Or is this good news?
<moon-child> what's up?
<gorgonical> Apparently softbank is not selling ARM to nvidia anymore
<gorgonical> And reuters says ARM will instead do an IPO
<bslsk05> ​www.reuters.com: SoftBank's sale of Arm to Nvidia collapses, Arm to IPO - source | Reuters
nostalgia has quit [Remote host closed the connection]
<geist> huh interesting
<geist> not surprised it fell through since some time ago, but the IPO is interesting
<gorgonical> I was mostly worried about nvidia/arm because nvidia is shaping up to join FAANG in using microsoft's playbook: just acquire everything and delete the competition
<gorgonical> I can say that there has been a lot of nervous talk in the HPC academia I know about nvidia probably crushing arm as an interesting alternative to x86 and some labs are aggressively pursuing risc-v as a fallback
<gorgonical> So this news is... better?
* Griwes is first-hand experiencing the pain of not being allowed to participate in discussions on a certain topic
<gorgonical> We have an interloper in our midst!
<moon-child> Griwes: :/
<geist> yah i'm sure nvidia are mostly good people, but damn if they didn't treat us like shit the last time i had to deal with em professionally
<geist> they were super dicks
<geist> and a bit of that can really ruin the whole image of the company
<geist> but, that was over 10 years ago, etc etc
<geist> and they are responsible for embedding LK into various products. so yay!
dh` has quit [Ping timeout: 265 seconds]
k8yun_ has quit [Read error: Connection reset by peer]
<Griwes> mkay, I now "only" need to write the code generation part of this tool for my syscall definition DSL and I'll be able to go back to writing kernel code (...I will then at some point need to come back to the tool and add "module" support to it, but hopefully that should be easy because I've been writing the code with it in mind from the start)
<Griwes> hmm, no, before going back to writing kernel code I'll need to integrate this into the build system
<Griwes> shouldn't be too bad, I'll just need to start spewing out a make deps file too
<klange> Every time I see headlines about financial dealings of SoftBank I feel the urge to note they are a cell service provider, but over the last five years they've really made their name actually make sense.
<klange> Still not a bank in the usual sense, though... but they are more of a corporate holding company now, so *shrug*
<Griwes> yeah I had to scratch my head every time I heard their name back when I was working at Nokia around BTS software
<klange> ARM is still a UK company, even with SoftBank ownership, and the it seemed like the nvidia deal was majorly blocked by the UK authorities.
<Griwes> "why is a company called SoftBank buying out cell tower solutions"
<Griwes> s/out/our/
* klange 's current cell service is through SoftBank... via an MVNO service from LINE.
<moon-child> https://elektron.sigsegv.ch/articles/1/centralizing-resource-cleanup-paths-in-c/ is it just me, or is this a terrible idea?
<bslsk05> ​elektron.sigsegv.ch: Centralizing Resource Cleanup Paths in C
<zid`> That does infact, look shit
<kingoffrance> .....every one of thoes ideas looks kind of terrible, its a question which is least terrible. quote The set of parameters of driver_init_or_shutdown needs to be the union of the set of parameters of both _init and _shutdown and the return types need to be made compatible somehow.
<kingoffrance> if nothing else looks like trying to cram a design into things that werent designed that way
<moon-child> actually I have toyed with the idea of making serialization and deserialization code the same, with a flag to control which you do
<moon-child> buut
<zid`> boots go on your feet
<kingoffrance> i would argue its not really centralized except superficiallydestroy_c(data->c); unregister_b(); release_a(data->a);
<kingoffrance> i dont have a good answer, but someday i will mess around with pragma
* kingoffrance holds on butt waiting for moon-child explanation
<kingoffrance> *onto
<zid`> moon-child wanna pick the silly method I use to boot my kernel?
<kingoffrance> the thing is, "the standard way of doing this" some people do not like, and havent seen an answer except "dont use c"
<kingoffrance> i mean, relatively, doesnt seem like anyone cares
sprock has quit [Quit: brb]
<moon-child> zid`: start with uefi
<moon-child> then springboard back to real mode
<moon-child> get back to long mode
sprock has joined #osdev
<moon-child> and then run the bootloader again in your realmode emulator
<zid`> no uefi sadly I don't have the tools
<zid`> 'sadly'
<zid`> I have -kernel booting a 32bit jmp $ atm, and 64bit jmp $ binary still on my machine.
<zid`> Silly options include -device file=64bit.bin,addr=0x200000
<moon-child> can't you get the tools tho
<zid`> catting the two elves together
<moon-child> like it's not that hard
<zid`> linking them together
<zid`> shhh
<moon-child> also tcc cross-compiler takes like 5s to build
ElectronApps has joined #osdev
<zid`> tcc doesn't include libeufi.so does it
<zid`> wait stop trying to send me down this path you evil man
<moon-child> wtf is a libuefi.so
<moon-child> you don't link with anything
<zid`> the thing you link against for all the uefi symbols?
<moon-child> that's the clever bit
<moon-child> no there are no symbols
<moon-child> you get handed a pointer
<moon-child> to a struct
<moon-child> of function pointers
<moon-child> so, you need to know the layout of that struct, and the layout of the things that the function pointers accept
<moon-child> but there aren't actually any symbols
<zid`> ah so I'd just need headers
<zid`> don't have those either, phew
<zid`> dodged
<moon-child> just steal from gnu efi
<moon-child> (public domain, despite the name)
<zid`> why do you hate me so much? :(
* zid` sulks
<moon-child> it's your own fault for being so damn cute
<zid`> pick something reaaasonable, that a sane person might doo
<klange> I've got an EFI loader if you want a reference. It's not too terrible.
<zid`> damnit now you've got klange doing it
<zid`> where's that company that mails people glitter
<klange> They don't ship to Japan.
<zid`> moon-child's getting it
<moon-child> pretty sure they don't ship to canada either
doppler has quit [Ping timeout: 240 seconds]
ekathva has joined #osdev
ekathva has quit [Remote host closed the connection]
<kingoffrance> post any more links like that you have moon-child because i will have to deal with that some day
<moon-child> wait links like what
<moon-child> glitter supply?
<moon-child> uefi?
<kingoffrance> the terrible cleanup code
<moon-child> oh
<kingoffrance> i havent seen any good answers except "dont use c" :)
<moon-child> hmm
<moon-child> __attribute__((cleanup)) is good
<moon-child> custom allocators + shadow stack can work
xenos1984 has quit [Remote host closed the connection]
xenos1984 has joined #osdev
<zid`> hmm embedding one into the other slightly more complicated than I was expecting because of the mixed ELFs
<zid`> i386:x86-64 architecture of input file `kernel.bin' is incompatible with i386 output
<zid`> Just shove it in a section you big meanie
<Mutabah> You need to force the format type to `binary`
<zid`> yea I guess
dh` has joined #osdev
<zid`> I think I will just install grub it's easier than this :p
<klange> I highly recommend not investing too much time into bootloaders.
<zid`> fuck bootloaders indeed
<zid`> but nobody actually supports 'normal desktop cpus' as a bootable architecture
doppler has joined #osdev
<Griwes> generation of user headers and the vdso code done, next up will be the hard part, i.e. generation of the kernel code that does common checks on input and output parameters, but that's for tomorrow
<Griwes> this is very pleasantly much simpler than anything that attempts to be a real compiler
bauen1 has quit [Ping timeout: 256 seconds]
zaquest has quit [Remote host closed the connection]
<zid`> yea I got a cd booting again and my shit all loaded, took a total of 5 minutes and it wasn't 30 seconds because I refused to copy paste the mkisofs command
<zid`> and I looked things up
zaquest has joined #osdev
GeDaMo has joined #osdev
gog has quit [Quit: byee]
gog has joined #osdev
<gog> zid`: libefi.so is only if you want the library functions
<zid`> oh gog is alive
<zid`> I'm trying to do a singular makefile to torture myself atm
<zid`> rather than one for boot and one for kernel
<moon-child> what library functions?
<gog> gnu-efi
<moon-child> oh
<zid`> how do I build these .o files differently
<moon-child> why bother?
<zid`> %.o : %.c isn't going to cut it
<zid`> oh does.. dir1/%.o : dir1/%.c work
<moon-child> anyway just do o/boot/%.o: boot/%.c; o/src/%.o: src/%.c
<moon-child> yeah
<moon-child> i didn't bother. Though I did in my audio lib where I was building a bunch of decoding libs and wanted to pass different cflags to all of them
<gog> i need to probably re-do my build setup but it works and i'm scared to change it
<geist> yay internet came back
<geist> was out for 3 or 4 hours
<gog> yay
* gog slices a bagel for geist
<kazinsal> mmm, bagels
<nur> did you make any progress on writing the next great american novel
<gog> the codes of wrath
<geist> no but i cut up some cardboard boxes
<gog> mine eyes have seen the glory of the coming of the code/it is merging all the branches where the repos have been stored?
<gog> the battle hym of the programmer!
<gog> sorry i'm not well today
<zid`> I think I am worse I tried to read that as hymen
<zid`> `rm -f kernel.bin boot/boot.bin boot.iso src/main.o (BSRC:.c=.o)`
<zid`> I don't think that's what my Makefile was supposed to run
<gog> oops
<zid`> I *may* have forgotten a $
<gog> you absolutely forgot a $
<GeDaMo> Don't pay the makefile until you get to the other side :|
bauen1 has joined #osdev
<zid`> I am now missing a seperator, if you have one handy
<zid`> separator, I'm also missing a dictionary
<kingoffrance> no no no, pay the makefile with $ so it will ferry you across
<gog> there's an interrupt storm tho
<bslsk05> ​'Don't Pay The Ferryman' by Chris de Burgh - Topic (00:03:24)
<gog> good tune
<zid`> okay working, I just somehow messed up menu.lst and grub just sits at the prompt instead
<gog> why not use grub2
<zid`> cus it's more complicated and I understand it less, and I happen to have stage2_eltorito to hand
<gog> fair
<zid`> yea really don't get why it doesn't find menu.lst
<zid`> it's in the right place, boot/grub/menu.lst and it's on the cd-rom
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
dormito has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
nature has joined #osdev
bauen1 has joined #osdev
dennis95 has joined #osdev
pretty_dumm_guy has joined #osdev
<zid`> Oh weird, `file` solved my issue.
<zid`> file is clever and knows the random stage2 I had uses a weird path for menu.lst
<gog> aaay
<gog> zid` makin progress
<gog> i'm currently making my printf() implementation worse
<gog> the NIH is strong
<zid`> nice
<zid`> is it as good as mine yet
<gog> probably not
<zid`> aww but I spent literally minutes on mine
<nur> I did printf once and I shall reuse it forever
<zid`> I am apparently a better C programmer than sysadmin
<zid`> yea I just copy paste this one now
<zid`> If I ever need to support right justification and stuff it'll need rewriting a bit though :P
<zid`> err left
<gog> im writing a function to parse the format specifier and make a struct with all the relevant info
<zid`> a struct? intredasting
<zid`> I just.. set a bunch of flags and pass them all into a huge print_number function
<gog> the struct just contains the flags
<zid`> nod
<gog> keeps them all neat and wrapped up so i don't have a massive parameter list
<j`ey> sounds like gog's is m o d u l a r
<j`ey> and testable
<zid`> I wish I liked making random one use structs more
<zid`> but I don't like having to make a new type and stuff just to do it
<GeDaMo> You want tuples :P
<gog> j`ey: i like clean design what can i say :p
<gog> i am currently not supporting floating point though
<zid`> I'd say it's ultimately less clean, because it's identical except for 2 lines, and you have to declare a struct
<zid`> but I do like the idea
<zid`> it lets you give names to arguments more visibly
<zid`> rather than having to use a tool to show you that arg1 is named len, arg2 is named padding value, etc
<zid`> you're doing p.len = ; p.padval = ; f(p);
<zid`> Like, it bans the user from not using the names unless they use compound literals
<GeDaMo> printf format string is basically a bytecode program
<zid`> (ends up sorta like f(.arse = 12, .bum = 23); which I hve seen before)
bauen1 has quit [Ping timeout: 256 seconds]
bauen1 has joined #osdev
blockhead has joined #osdev
<gog> ok parsing function is wrote. time to ignore it for an hour and eat breakfast
<gog> lunch?
<zid`> tea
<gog> i dread testing this it is not going to work and i'm going to make a fool of myself
<zid`> I should probably uncomment my while(1); and see what my bootloader actually does
<zid`> exception 0xe apparently
<gog> that's a page fault zid
<gog> jsyk
<zid`> CR2=fffffffff8000000 apparently
<gog> you doing high half?
<zid`> I always stick my kernel there
<gog> or rather -2GiB it looks like
<zid`> yea -2GB
<zid`> I don't even remember what my bootstrap does anymore
<zid`> 'There are no program headers in this file' That sounds bad.
bauen1 has quit [Read error: Connection reset by peer]
<zid`> ah there we go I am a genius, somehow I ended up with a stray -r in my makefile from when I was playing around earlier with embedding images
<zid`> yep, working, x /2bx $rip
<zid`> 0xeb 0xfe
bauen1 has joined #osdev
<zid`> https://github.com/zid/bootstrap That should.. just build, if you have nasm + gcc + binutils + mkisofs
<bslsk05> ​zid/bootstrap - AMD64 bootstrap example. Sets up long mode and paging starting from a 32bit ELF booted by grub. (0 forks/0 stargazers)
<zid`> anyone wanna test? :P
dude12312414 has joined #osdev
<zid`> git clone https://github.com/zid/bootstrap.git && cd bootstrap && make
<zid`> gogo
nyah has joined #osdev
lkurusa has joined #osdev
ElectronApps has quit [Remote host closed the connection]
anon16_ has joined #osdev
gog has quit [Quit: byee]
bauen1 has quit [Ping timeout: 256 seconds]
bauen1 has joined #osdev
<zid`> *massively ignored*
ekathva has joined #osdev
ekathva has quit [Remote host closed the connection]
ZipCPU has quit [Remote host closed the connection]
ZipCPU has joined #osdev
k8yun has joined #osdev
[itchyjunk] has joined #osdev
gog has joined #osdev
<zid`> gog you fool you came back
<gog> yes
<gog> i'm about to test code
<zid`> test mine while you're at it
<gog> only if you pay me
<zid`> git clone https://github.com/zid/bootstrap.git && cd bootstrap && make
<zid`> paste that, ez
the_lanetly_052 has joined #osdev
air has quit [Ping timeout: 250 seconds]
k8yun_ has joined #osdev
mahmutov has joined #osdev
k8yun has quit [Ping timeout: 256 seconds]
sdfgsdfg has quit [Quit: ayo yoyo ayo yoyo hololo, hololo.]
k8yun_ has quit [Changing host]
k8yun_ has joined #osdev
<zid`> Hmm a memory dump of [0x10] doesn't look like that useful assembly
lkurusa has quit [Quit: I probably fell asleep (or went out). Who will ever know.]
the_lanetly_052_ has joined #osdev
the_lanetly_052 has quit [Read error: Connection reset by peer]
nature has quit [Ping timeout: 256 seconds]
<gog> aaaay the parsing for print specifiers seems to work right
<gog> after one bug
<zid`> gog rubber duck why my memory dump is fucked?
<gog> ok
<gog> what's fucked about it
<zid`> want to dump int 10h code
<zid`> so I did xp /32wx 0
the_lanetly_052_ has quit [Ping timeout: 240 seconds]
<gog> ok that would give you the IVT
<zid`> 0000040: 0xc000566c there's useful bytes at linear 0xC566c
<zid`> I dump those, should be cli first according to seabios github
<zid`> it's not
<zid`> dumped with x and pmemsave
vdamewood has joined #osdev
<zid`> 'it's not' verified with ndisasm -b16
<zid`> and x /32i
<zid`> oh I see it now though, wat, I wonder if I just fucked up a number somewhere at some step
<gog> lol
<zid`> ty
<gog> yw
<gog> that's what rubber ducky is for
zid` has quit [Remote host closed the connection]
<gog> ope
zid has joined #osdev
<zid> libera nice and stable for me today, second disconnect
<zid> https://gist.github.com/zid/af6153c530d71b714c22a545c6afd04a That's the cli / cld I was expecting
<bslsk05> ​gist.github.com: 10h.txt · GitHub
<bslsk05> ​github.com: seabios/vgaentry.S at master · coreboot/seabios · GitHub
<gog> :D
xenos1984 has quit [Read error: Connection reset by peer]
<zid> idk what you saw before I got disconnected mind
<gog> i saw "ty"
<gog> and i said "that's what rubber ducky is for"
<zid> ah okay I only missed that bit
<gog> i'll show off my overengineered kprintf() shortly
<gog> perhaps later today
<gog> my parsing appears to work though if you want to see
<kingoffrance> i still have to test the prior psx release, someday i will
* vdamewood gives gog a fishy.
* gog nom fishy
<bslsk05> ​gist.github.com: kprint.c · GitHub
<zid> nice style so far :o
<zid> I'd invert your begin and format though personally
<zid> const char *p = format; switch(*p)
<gog> which line?
<zid> kprintf
<zid> parse_specifier I mean
<zid> you make a backup of the arg then work on the arg, instead of working on the backup
<zid> which is kinda inverted to what most people would do
<gog> ah ok
<vdamewood> Everyone implements kprintf, for some reason.
<zid> tbh it's kinda fun
<vdamewood> I want to impliment kcrash.
<g1n> vdamewood: kprinf - why not? it is useful lol
<zid> gog: I don't see the classical backwards goto, how's %16x work?
<vdamewood> g1n: I was being a little cheeky with that.
<gog> zid: wdym?
<gog> i don't parse field width and precision yet lol
<vdamewood> Wdym... the Germanic god of the sky and clarifications.
<zid> ah okay
<zid> did you look at mine? there's one in that repo I kept scamming you to clone
<gog> i glanced at it
<zid> Mine's a bit.. less regimented
<zid> but works mostly the same way ultimately
<gog> lemme have another look
<gog> ah i see
<zid> I did the proper C abi so it's called vprintf
<gog> it's more compact than mine
<gog> yeah i didn't include the kvprintf and kprintf parts because i've got them all mangled up to test the specifier parsing
<gog> this is external to my kernel tree, im testing it in a little program in my home dir :p
<zid> yea that's a good idea
<zid> sometimes I do that just by including a main at the bottom with -DTEST
<gog> just trying not to fuck up my working directory right now, it's clean and tidy. can't say the same for the code itself but i'm getting there
xenos1984 has joined #osdev
<gog> memory.c needs a big refactor and i'm kinda putting that off with kprintf() implementation
<gog> but i need a better printing function in order to get more complete debug info in my serial output
<zid> yea I'm just about to figure out how much memory stuff I need to do for mine
<gog> so thisis necessary work
<zid> I might be able to get away with just using the serial port and implementing mmap
<gog> but it's also NIH work :p
<gog> hell i might be able to put this in my lib/ directory and with a tiny bit of reworking can get rid of my need for libefi.so
<gog> i'm pretty sure the only symbol i import is Print() ?
<gog> libefi.a*
dennis95 has quit [Quit: Leaving]
nature has joined #osdev
<zid> I need a random number to stick my emulated memory at
<GeDaMo> 3
lkurusa has joined #osdev
<zid> pml4[3]? :P
<GeDaMo> Guaranteed random :P
lkurusa has quit [Client Quit]
<clever> GeDaMo: https://xkcd.com/221/ too bad, your off by 1!
<bslsk05> ​xkcd - Random Number
<gog> that's one solution
<gog> and the argument about whether it's random is a technical one rather than a logical one
<zid> I wonder if there's a better plan than just.. copying basically everything up from 0-1MB
<zid> I guess maybe C000-C7FFF might do, that's the vga bios region
<zid> and then do the bios region on top if it isn't happy enough
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<zid> I may just cheat and use a +x page mapping over these
the_lanetly_052_ has joined #osdev
dennis95 has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
vdamewood has joined #osdev
lkurusa has joined #osdev
the_lanetly_052_ has quit [Ping timeout: 240 seconds]
k8yun_ has quit [Quit: Leaving]
rustyy has quit [Quit: leaving]
rustyy has joined #osdev
dude12312414 has joined #osdev
air has joined #osdev
<gog> brb writing bytecode to zid's framebuffer
dude12312414 has quit [Ping timeout: 276 seconds]
dude12312414 has joined #osdev
<zid> I mean, I did nop sled into my framebuffer earlier
Teukka has quit [Read error: Connection reset by peer]
Teukka has joined #osdev
<nature> zid: Sorry I didn't see your mention earlier, I managed to get where I wanted to by getting the different resolution, now I am back at reading some assembly source of colorforth to try to understand it better
<zid> sounds gross
<zid> but what did you settle on ultimately?
<nature> Settle about what? (I am embarrased my memory is failing me)
<nature> I basically used the "hack" by defining the "structures" I needed on disk with db, dw, dd etc.. after the first 512 bytes and then I did a mov for the "VBE2" signature
<GeDaMo> Part of the reason Colorforth uses colour and very large characters is because of Charles Moore's failing eyesight
<dmh> i love colorforth
<zid> we were talking about how you were going to organize memory for your buffer
<zid> and set up your segmentation
<nature> I basically kept things as simple as possible and kept es at 0
<zid> I'd say es = 7e0 is actually simplest but same shit
<gorgonical> Speaking of forth: I've had a dream for a long time to re-invent the world by writing a forth in assembly, then a lisp in forth, then a c compiler in lisp, then an os, etc.
<nature> I just felt it easier to reason about when using the labels I defined for my "structures"
<gorgonical> One of those "If only I had the time (and weren't so lazy)
<j`ey> gorgonical: you know about Mes right?
<gorgonical> I don't
<j`ey> gorgonical: "GNU Mes is a Scheme interpreter and C compiler for bootstrapping the GNU System"
<j`ey> "The Scheme interpreter is written in ~5,000 LOC of simple C, and the C compiler written in Scheme and these are mutual self-hosting."
<bslsk05> ​bootstrapping.miraheze.org: bootstrapping
<gorgonical> Nothing is new anymore
<gorgonical> Beat me to it by.... ten years?
<gorgonical> Who knows
<nature> gorgonical: Why not just skip straight to the OS in forth? (:
<gorgonical> nature: maybe the kernel will have binary-compatible modules in all languages
<gorgonical> Maximum chaos and minimum portability
<nature> Anyway zid thanks again for your help earlier!
<nanovad> i propose a full optimized, verifiable system: nop OS. it's all nops!
<gorgonical> I feel like I accidentally plagiarized from this wiki: all these links in forth are about lisp interpreters in forth. Hivemind, man
<gorgonical> nanovad: Does it have address spaces? Nop! Does it have interrupts? Nop! Monolithic or microkernel? NOP!
<nanovad> :D
<nanovad> Takes the "self referential name" thing like GNU to the extreme lol
<bslsk05> ​jbangert/trapcc - Computing with traps (45 forks/1062 stargazers/BSD-3-Clause)
<GeDaMo> "This is a proof by construction that the Intel MMU's fault handling mechanism is Turing complete."
<nanovad> Ah, I've seen that. cursed
<gorgonical> Does this rely on somehow what is put into the stack frame on page fault? By abusing the access addresses?
<gorgonical> I.e. by carefully specifying your memory addresses you can precisely manipulate what ends up in the stack frame after a page fault occurs?
<Bitweasil> Something along those lines, yeah.
<Bitweasil> It's a fun read.
<Bitweasil> You'd have no problem following it, call it research! :D
<Bitweasil> It's a creative abuse of a few different corners of x86 MMU/exceptions/etc.
<Bitweasil> No MOVfuscator, but, still fun. :)
<bslsk05> ​en.wikipedia.org: Weird machine - Wikipedia
<bslsk05> ​arcanesentiment.blogspot.com: Arcane Sentiment: The inevitable interpreter
k8yun has joined #osdev
dormito has quit [Quit: WeeChat 3.3]
dennis95 has quit [Quit: Leaving]
sdfgsdfg has joined #osdev
GeDaMo has quit [Remote host closed the connection]
masoudd has quit [Ping timeout: 256 seconds]
mahmutov has quit [Ping timeout: 256 seconds]
troseman has joined #osdev
nature has quit [Ping timeout: 256 seconds]
dormito has joined #osdev
biblio has joined #osdev
k8yun has quit [Read error: Connection reset by peer]
pretty_dumm_guy has quit [Quit: WeeChat 3.4]
pretty_dumm_guy has joined #osdev
pretty_dumm_guy has quit [Client Quit]
pretty_dumm_guy has joined #osdev
pretty_dumm_guy has quit [Client Quit]
pretty_dumm_guy has joined #osdev
lkurusa has quit [Quit: Textual IRC Client: www.textualapp.com]
pretty_dumm_guy has quit [Client Quit]
pretty_dumm_guy has joined #osdev
pretty_dumm_guy has quit [Client Quit]
pretty_dumm_guy has joined #osdev
sdfgsdfg has quit [Quit: ayo yoyo ayo yoyo hololo, hololo.]