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
<heat> use libressl, for the lulz
<heat> get shirts of mr blowfish and theodore of the raadt
<heat> reject mac and linux, embrace the only secure operating system
<heat> 2 holes in the default install in a hell of a long time or whatever
<heat> in the late stages, become a raadtBSD committer and ok <name>@ commits without further explanation or public review
Burgundy has left #osdev [#osdev]
spikeheron has quit [Quit: WeeChat 3.7.1]
epony has quit [Ping timeout: 268 seconds]
chartreuse has joined #osdev
Matt|home has quit [Remote host closed the connection]
epony has joined #osdev
rwxr-xr-x has joined #osdev
scoobydoo_ has joined #osdev
poisone has quit [Ping timeout: 268 seconds]
scoobydoo has quit [Ping timeout: 260 seconds]
scoobydoo_ is now known as scoobydoo
<rwxr-xr-x> Update! I got gdb to work, turns out I needed to pass a flag into qemu to wait until GDB hooked into it. worked like a charm
<zid> -s -S
dutch has joined #osdev
scoobydoo has quit [Ping timeout: 248 seconds]
rorx has quit [Ping timeout: 268 seconds]
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
mats1 has quit [K-Lined]
joe9 has quit [Quit: Lost terminal]
scoobydoo has joined #osdev
poisone has joined #osdev
gog has quit [Ping timeout: 256 seconds]
<epony> heat, your Getnooism is showing through the cracks
<epony> it's almost ready, you only need to work a bit on the integration because hardening breaks your shit to fragments that sink
<epony> stay afloat during the rainy season or pouring applications
rwxr-xr-x has quit [Remote host closed the connection]
Matt|home has joined #osdev
rorx has joined #osdev
<poisone> okay meine commander RUddeR LEFT 140%
<heat> zid, reddy for aoc or are you sleepyhead
<zid> oh right
<zid> I should make a day3.c
<heat> smh my head
<zid> wat
<heat> wat
poisone has quit [Read error: Connection reset by peer]
troseman has quit [Read error: Connection reset by peer]
troseman has joined #osdev
joe9 has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
poisone has joined #osdev
<zid> hrmph I get 70 but answer for full thing not right
<heat_> fuggin done
heat_ is now known as heat
<zid> ah found the boo
<zid> g
<heat> ✔️
<bslsk05> ​github.com: aoc2022/day3.c at main · heatd/aoc2022 · GitHub
<zid> I am veryu good at bounds
<zid> and decided a-y were worth 1-15
<zid> and z was worth 84
<zid> 1-25*
<zid> but only when I rewrote it the second time for part 2, I may have just fat fingered
<heat> what
<zid> I meant to write <= 'z'
<heat> how does your solution look like
<zid> and wrote < 'z'
<zid> else 27
<bslsk05> ​gist.github.com: 2022-day3b.c · GitHub
<zid> I will clean it up later
<heat> aw man, you used up the whole ASCII range?
<heat> that's wasteful
<zid> 255 is easier to type than 128
<zid> should have done 222
invalidopcode has quit [Remote host closed the connection]
<heat> you just needed the alphabet lower + upper
invalidopcode has joined #osdev
<heat> you see, C is all about placing arbitrary constraints so you can half-ass your code as much as possible
<zid> yes
<zid> 255 not being a valid character for example
<kof123> hard mode imposter! c mandate[sd] no charset
<heat> idgaf, here at bell labs we use ascii
<heat> i even asked my friend ken thompson
<heat> zid, how about you make a locale-sensitive unicode handling day3
<zid> nah that's impossible
<heat> that would require dynamic memory allocation and who's got the time for that
<zid> i18n is an entire industry, it's like timezone data, totally opaque and you just use a library
<heat> in this case you could just decode utf8 into utf32 and store it in a map
<zid> but what if the input is ucs-2
<zid> I bet notepad would try to do that
<heat> that's why you check your C locale and do as it bids
<zid> wstrcobmbbsrs
<zid> is illegal
<zid> I'm not allowed to call functions that start with lowercase w, it's against my religious beliefs
<heat> have you never called wait(2)
<zid> no
<zid> I'm not allowed to call functions that start with lowercase w, it's against my religious beliefs
<heat> how about write?
<zid> no, fwrite
<zid> only
<zid> or `syscall`
<heat> sgtm
heat has quit [Ping timeout: 256 seconds]
rorx has quit [Ping timeout: 256 seconds]
MarchHare has quit [Quit: Leaving]
vdamewood has joined #osdev
vinleod has joined #osdev
vdamewood has quit [Ping timeout: 255 seconds]
rorx has joined #osdev
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
vinleod is now known as vdamewood
DoubleJ has quit [Ping timeout: 256 seconds]
Matt|home has quit [Ping timeout: 255 seconds]
ThinkT510 has quit [Quit: WeeChat 3.7.1]
ThinkT510 has joined #osdev
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
k0valski18891 has quit [Quit: Peace out !]
poisone has quit [Read error: Connection reset by peer]
GeDaMo has joined #osdev
DoubleJ has joined #osdev
poisone has joined #osdev
DoubleJ has quit [Quit: Not all those who wander are lost]
DoubleJ has joined #osdev
DoubleJ has quit [Client Quit]
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
DoubleJ has joined #osdev
poisone has quit [Quit: joins libera]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vdamewood has joined #osdev
xvmt has quit [Remote host closed the connection]
xvmt has joined #osdev
<ddevault> anyone have some good docs on the raspberry pi boot process
<ddevault> what kind of image it expects, etc
* kof123 points cautiously at clever
nyah has joined #osdev
Burgundy has joined #osdev
poisone has joined #osdev
<ddevault> my god, the ARM manual is a single 12,000 page PDF
<ddevault> at least intel breaks it up into volumes
<zid> no heat, smh
<zid> I wanted to show off my ENTERPRISE day3 solution
<ddevault> ah I may have had the wrong PDF
<GeDaMo> The ARM manual is pretty big
<GeDaMo> I have one about 9K pages but it's a couple of years old, I think
<ddevault> I want the cortex-A systems programming manual, for aarch64
<ddevault> I think "ARM Cortex-A Series Version 4.0 Programmer's Guide" is close to what I want, but seems lacking in detail
<ddevault> no, this is not what I want
<ddevault> bah!
<ddevault> I found something relevant but NOT as a PDF, I want a PDF
<ddevault> surely /this/ file is the one I need
<GeDaMo> I just downloaded the architecture reference manual and it is 12K pages
<jjuran> The trick to knowing Unix systems is being able to find the right file.
<jjuran> (Especially when you're being attacked by velociraptors)
gildasio1 has quit [Remote host closed the connection]
* kof123 obligatory xkcd about using goto
* kof123 might have been dinosaur comics
gog has joined #osdev
<ddevault> what the fuck is this manual
<ddevault> translation table entries have bits that do the following: X, Y, Z
<ddevault> which bits? fuck you, we "left it out for clarity"
<gog> :|
<ddevault> what the actual fuck is wrong with these people
gildasio1 has joined #osdev
<jjuran> o.O
<zid> I assume that's for illustrative purposes
<zid> then there are tables for each microarch that are how many bits and stuff
<zid> this is just for describing the bottom 2 bits
<zid> the descriptor type
<zid> the rest being covered in numbers would just be clutter
<GeDaMo> That's paid DLC :P
<ddevault> would be fine if I could actually find anything about the actual bits
<ddevault> like sure, document it elsewhere
<ddevault> but WHERE
<zid> paid DLC
gildasio1 has quit [Remote host closed the connection]
gildasio1 has joined #osdev
gog has quit [Quit: byee]
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
gog has joined #osdev
wootehfoot has joined #osdev
mykernel has quit [Ping timeout: 268 seconds]
k0valski18891 has joined #osdev
k0valski18891 has quit [Quit: Peace out !]
elastic_dog has quit [Ping timeout: 260 seconds]
elastic_dog has joined #osdev
<zid> New idea, advent of osdev
<zid> we set up a server that runs submissions in qemu, and you have to solve various challenges bare metal, like writing a network driver for the custom NIC
epony has quit [Remote host closed the connection]
heat has joined #osdev
<heat> sup
<heat> zid, bring it on
<heat> zid, show me the enterprise solution
<gog> OperatingSystemFactory
<zid> o hi
<gog> hæ
<bslsk05> ​gist.github.com: 2022-day3.c · GitHub
<zid> I mean enterprise as in robust more than factoryfactory
<zid> meaning I cleaned it up massively to be more like C and less like unrolled inlined assembly
rwxr-xr-x has joined #osdev
<zid> It no longer does the wrong thing if the line is 0 characters long etc :P
<heat> bruh
<heat> so what the fuck is lineget and why
<zid> there we go, proper response to enterprise code
<heat> you know, I'll one-up you
<heat> give me 15
terminalpusher has joined #osdev
stefanct has joined #osdev
dutch has quit [Quit: WeeChat 3.7]
terminalpusher has quit [Remote host closed the connection]
terminalpusher has joined #osdev
<bslsk05> ​github.com: aoc2022/day3.c at main · heatd/aoc2022 · GitHub
<heat> suck it
<heat> now this scales through all your c o r e s
spikeheron has joined #osdev
<zid> sick
<zid> what's a cunt fmap
<heat> count frequency map
<zid> histogram
<zid> is the noun for that
<heat> come on, cant you read your unix
<gog> no that's the stuff that makes you sneezy and itchy
<heat> what's bread()
<zid> like 80% of advent levels are histograms
<zid> for some reason
<heat> yooooooo
<zid> did static not exist in the 90s?
<heat> there's a sick optimization
<zid> xor
<zid> it all together?
<zid> that should uniquify them
<heat> I was thinking of replacing the shitty int[] with a simple u64
<zid> oh, I think mine is faster you know
<kof123> its not enterprise ready unless you bundle it with a bunch of libraries because you dont trust the system, custom installer, service contract required, etc.
<kof123> instructions must also include "disable selinux"
* kof123 harumphs
<bslsk05> ​github.com: day3: replace fmap array with fmap u64 · heatd/aoc2022@f22fe59 · GitHub
<zid> hmm no xor only works if the bags are the same except for the different one
isaacwoods has joined #osdev
<heat> yup
<heat> xor can give you false positives
<zid> aka utter nonsense, almost all of the time
<stefanct> i have made a custom elf section (for arm11 exception handlers) that is not getting loaded by gdb. how do i mark it to be "loadable"?
<mrvn> heat: why are you writing K&R C?
<heat> mrvn, why are you not writing K&R C?
<zid> stefanct: In the elf headers
<mrvn> heat: less to type, more readable, definition is initialisation
<zid> (you didn't say how you made the section, so I can't be more specific yet)
<heat> K&R C has less to type, more readable if you're a shell script person, it's also K&R C
<mrvn> What programming competition site are you solving anyway?
<zid> heat: You didn't answer me about static did you?
<heat> adventofcode.com
<mrvn> heat: you have to type the variable name of arguments twice.
<heat> zid, good question, I don't know if static was there at the beginning
<stefanct> ok, some backstory... i am trying to use/handle interrupts in a qemu'ed pi0 (arm1176jzf-s) loading my elf with gdb.
<heat> it was part of C89 though
<stefanct> i am using the default linker file of ggc 7 that seems to not include a section for the handlers and starts the text section at 0x8000.
<stefanct> so i am using -Wl,--section-start=.handlers=0x0 to create one when linking with gcc
<zid> just write a linker script
<zid> If you're booting it then it doesn't need to be fancy and handle weird environmental affectations
<zid> just shove some bytes at various addresses
<mrvn> heat: "unsigned long id = (unsigned long) arg;" Why don't you use uintptr_t?
<jjuran> heat: It's possible that writing `id % 8` as `id % 8u` might generate more efficient code
<stefanct> well, it does not even have to boot apparently... because it works just fine with the default load address that is at a later address, where newlib startup stuff is put
<heat> K&R C
<heat> K&R C K&R C
<heat> K&R C
<mrvn> jjuran: highly doubtfull. it's a literal
<mrvn> heat: typedef uint64_t u64;
<mrvn> heat: it's C99
<heat> day3-threaded is
<jjuran> mrvn: It's true with the 68K compiler I use.
<heat> because I couldn't bother and posix isn't K&R'able anyway
<mrvn> jjuran: actually scratch that. the integer promotion might be different with 8u
<jjuran> Indeed
<mrvn> id is int?
<heat> % 8 is just a bitwise operation
<jjuran> You get an unsigned operation
<bslsk05> ​en.cppreference.com: Fixed width integer types (since C99) - cppreference.com
<jjuran> Anyway, looks like your linked list has insertion that's O(n) instead of O(1). I don't see how even multithreaded code can be leaderboard competitive if you're not optimizing for run-time complexity.
<heat> no one is measuring performance
<heat> i half assed a linked list impl because fuck it
<jjuran> Clearly you care about performance or you wouldn't be using threads ;-)
<mrvn> jjuran: maybe the worker thread finishes faster than reading the input so the list is always empty/small
rwxr-xr-x has quit [Remote host closed the connection]
<heat> zid wanted enterprise I gave him not enterprise but core-scalable code
<heat> ez
<mrvn> heat: looking at "thr_main" you could just insert new work at the front.
<heat> i can't befuckinglive you're code reviewing my shitty K&R C mega-joke
<mrvn> heat: you should add padding to "struct wq" to avoid false sharing. :)
<jjuran> heat: That's part of the joke :-)
<heat> in any case, WONTFIX for all of that
<jjuran> awww
<heat> part of the K&R UNIX exercise is halfassing things up to a good extent and WONTFIXing everything
bauen1 has quit [Ping timeout: 256 seconds]
<heat> probably even defend my work to the death
<jjuran> True, it's important to embrace the cultural context
<mrvn> heat: what's the URL of the competition?
<heat> adventofcode.com
<heat> it's not really a competition
<heat> i mean, sorta
bauen1 has joined #osdev
<jjuran> It's a challenge
<GeDaMo> Wax on, wax off :P
<heat> i crashed visual studio code
<heat> trying to create a large enough input to fuck it
<gog> mew
<Ermine> Hi gog, may I pet you?
heat has quit [Remote host closed the connection]
<gog> yes
* Ermine pets gog
* gog prr
* Ermine gives gog a fishie
* gog chomp fishy
heat has joined #osdev
<Ermine> gog: how are you doing?
<gog> doin alright, lazy saturday
<gog> how you?
<heat> my perf(1) report is using 2.5G of ram halfway through processing it
<Ermine> I was busy at the first part, but second part is lazy too. Compensating sleep deficit during the week.
<gog> same
<gog> it's an off-parenting week so sleep will be easier
<Ermine> Oh, that's great!
<heat> with a 1.2GB input the shitty linked list is already noticeable
<heat> in any case this is not scaling very well
<mrvn> heat: and if you insert at the front?
<heat> that bottleneck disappears but I get other problems
<mrvn> you are hammering the lock and semaphore at 3x 128byte per job.
<heat> fgets looks slow, so does what I assume is the semaphore system
<heat> cntfmap only takes 50% of cpu time
<mrvn> why not read 3*(128+1) byte to get all 3 strings at once?
<Ermine> heat: are you doing advent of code assignments?
<heat> Ermine, yes
<heat> mrvn, fgets only gets a single string
<mrvn> heat: read
<Ermine> cool
<heat> s/string/line
heat has quit [Remote host closed the connection]
heat_ has joined #osdev
<Ermine> use skalibs : )
<Ermine> (Well, I guess no external libs)
<heat_> oh wow, pthread_spin_lock is horrible
<heat_> i'm very negatively surprised as mjg would say
<mrvn> heat_: you could use pipes to send the workload to each thread
<Ermine> btw are there alternative threading APIs available. I heard that pthreads suck.
dude12312414 has joined #osdev
<mrvn> Ermine: the API sucks or the speed sucks?
node1 has joined #osdev
<Ermine> API.
<heat_> well, maybe not horrible
<heat_> but it does look non-optimal tbh
<mrvn> Ermine: QT has Threads
<heat_> the API is fine
<bslsk05> ​elixir.bootlin.com: pthread_spin_lock.S - sysdeps/x86_64/nptl/pthread_spin_lock.S - Glibc source code (glibc-2.36.9000) - Bootlin
<heat_> it looks really suspicious
dude12312414 has quit [Client Quit]
<zid> heat_: My friend won for slow, he strdup'd the lines
<heat_> everyone asks what the dog doin but no one asks how the dog doin
<zid> at least he didn't free them.. I guess?
heat_ is now known as heat
<heat> won for slow? that's still pretty fast in general :P
<zid> between us he did
<heat> tell him to use strdupa for much fast very good
<zid> I think he also used strchr instead of building a histogram
<heat> see, that's the real L
<heat> O(n^2)
<zid> I've used ^n things for advent before
<zid> and just prayed the input was small enough, and it was
<stefanct> to answer my own question from before... instead of marking the section only as x it needs to be .section .handlers, "ax", %progbits
<zid> yea that should do it
<zid> it should get loaded with .text
<zid> but you then move it manually I guess
<stefanct> it is completely independent from .text
<zid> it wouldn't be, is my point
<zid> if you don't have a rule for it ld will just glob it with things with matching flags
<stefanct> as long as it is small enough to not cross into the actual .text section this should be fine, shouldnt it?
<mrvn> heat/zid: I'm stuck at day2: https://gist.github.com/mrvn/e53d1d00374ef3d90b8250191631845a says my scrore is low
<bslsk05> ​gist.github.com: day2.sh · GitHub
<zid> yea, and it'll probably warn if it tries to
<heat> bash? really?
<heat> this is somehow worse than K&R
<mrvn> exactly :)
<stefanct> that's good enough, for now at least. thanks
<mrvn> But what's wrong with it? Do I have a typo in the scores somewhere?
<heat> part 1 or 2?
<mrvn> part 1
<mrvn> Works for the sample.
<heat> it doesn't look stupidly broken but I didn't check the rock-paper-scissors stuff
<mrvn> added the input. could you run your code on it?
<mrvn> do we all get the same input?
<heat> 10404
<zid> heat you love unix right
<heat> no, different inputs
<heat> zid, fax
<zid> unixgame.io/unix50
<bslsk05> ​unixgame.io: The Unix Game
<mrvn> zid: do you have line by line output of the score?
<mrvn> heat: ^
<heat> mrvn, let me get that for ya
<bslsk05> ​github.com: aoc2022/day3.c at main · heatd/aoc2022 · GitHub
<mrvn> ups, scrissors loose against rock
<mjg> heat: you keep not aligning it to prevent false sharing with other cpus
<heat> boohoo
<heat> why do people keep reviewing my shitty code
<mrvn> heat: thx.
<zid> because you keep baiting them to do it
<heat> this is supposed to get committed to freebsd, it's not meant to actually be good code
<mjg> my bad
<mjg> in that case B-
<heat> ok mjg@ ?
<heat> B-????? HOW DO I ONLY GET A B-
<mjg> > day3: replace shitty linked list with less shitty linked list
<mjg> lol
<mjg> make it a square B
<bslsk05> ​github.com: i y e a r n f o r t h e s w e e t r e l e a s e o f d e a t h · heatd/aoc2022@510a59b · GitHub
<mjg> so what's this crap anyway
<mjg> as in wtf you doin
<heat> adventofcode.com
<mjg> oh no
<heat> zid, what tha bell labs doin
<heat> unix scratch?
<mrvn> urgs, how do I best do "c - 'a'" in bash?
<heat> and other cursed sentences
<GeDaMo> $(( $c - 65 )) ?
<GeDaMo> Er, 97
<mrvn> GeDaMo: c is a char, not it's ascii value
<GeDaMo> Ah, hmmm
<GeDaMo> $(( $(printf '%d' "'$ch") - 97 ))
<mrvn> that forks a lot
<heat> mjg, anyway i'm doing the unix geezer challenge "how obtuse can you write your C"
<heat> i think i'm doing a pretty good job atm
<mjg> you will never outdo groff
<heat> the comma operator is OP I tell you
<heat> i dont need curly braces when I have ,
<mjg> check out procmail source code
<mjg> > *Collection of NFS resistant exclusive creat routines*
<mjg> ;S
<mjg> int hlink(old,newn)const char*const old,*const newn;
<mjg> { int ret;struct stat stbuf; if(0<(ret=rlink(old,newn,&stbuf))) /* try a real hardlink */
<mjg> urgh shit
<mjg>
<mjg> int hlink(old,newn)const char*const old,*const newn;
<mjg> { int ret;struct stat stbuf;
<mjg> if(0<(ret=rlink(old,newn,&stbuf))) /* try a real hardlink */
<bslsk05> ​github.com: procmail/exopen.c at master · Distrotech/procmail · GitHub
<mjg> newlines and spaces were in short supply man
<jjuran> They just slow things down
<mjg> so the author pragmatically ommitted them when not necessary
<jjuran> omg, unique() starting on line 54
<mjg> { if(serial>STRLEN(s2c)-1) /* roll over the count? */
<mjg> { ;{ time_t t2;
<heat> aw that reads beautifully
<heat> it's perfect
<heat> it even has const-correctness! how many C programs do you see that effectively use const
<mjg> you somehow reminded me of this one time homeless guys were chasing me and calling me a dick
<mjg> i was walking down the street minding my own business and passing by the bus station
<mjg> one homeless dude happened to be walking out of it and i happened to smile at that time
<mjg> he assumed i'm laughing at him, which given the result i definitely should have, and started calling me names
<mjg> i kept walking, he teamed up with another homeless and they started shouting and chasing me
<mjg> loller
<mjg> i'm not for violence, but this is agreat example of someone who should have been slapped
xenos1984 has quit [Ping timeout: 248 seconds]
xenos1984 has joined #osdev
Ali_A has joined #osdev
Matt|home has joined #osdev
ss4 has joined #osdev
xenos1984 has quit [Ping timeout: 252 seconds]
wootehfoot has quit [Ping timeout: 260 seconds]
ss4 has quit [Quit: Leaving]
wootehfoot has joined #osdev
k0valski18891 has joined #osdev
xenos1984 has joined #osdev
ss4 has joined #osdev
poisone has quit [Read error: Connection reset by peer]
wootehfoot has quit [Ping timeout: 252 seconds]
poisone has joined #osdev
node1 has quit [Quit: Client closed]
elastic_dog is now known as Guest944
Guest944 has quit [Killed (cadmium.libera.chat (Nickname regained by services))]
elastic_dog has joined #osdev
ss4 has quit [Quit: Leaving]
FreeFull has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<GeDaMo> "How the 8086 processor's microcode engine works" http://www.righto.com/2022/11/how-8086-processors-microcode-engine.html
<bslsk05> ​www.righto.com: How the 8086 processor's microcode engine works
poisone has quit [Read error: Connection reset by peer]
gildasio1 has quit [Remote host closed the connection]
gildasio1 has joined #osdev
poisone has joined #osdev
poisone has quit [Read error: Connection reset by peer]
<clever> GeDaMo: stop stealing bslsk05's job, lol
Ali_A has quit [Quit: Client closed]
<GeDaMo> Some channels don't have bslsk05 :P
gildasio1 has quit [Ping timeout: 255 seconds]
<clever> i keep track of which that do
poisone has joined #osdev
gildasio1 has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
poisone has quit [Read error: Connection reset by peer]
poisone has joined #osdev
gildasio1 has quit [Remote host closed the connection]
gildasio1 has joined #osdev
gildasio1 has quit [Ping timeout: 255 seconds]
gildasio1 has joined #osdev
terminalpusher has quit [Remote host closed the connection]
gildasio1 has quit [Ping timeout: 255 seconds]
gildasio1 has joined #osdev
elastic_dog has quit [Ping timeout: 256 seconds]
<mrvn> Was the microcode engine something 8086 invented? What did the 8080 do?
furt_box has joined #osdev
gildasio1 has quit [Ping timeout: 255 seconds]
gildasio1 has joined #osdev
<clever> mrvn: the 6502 also had microcode
<bslsk05> ​'27c3: Reverse Engineering the MOS 6502 CPU (en)' by Christiaan008 (00:51:57)
<clever> this shows the whole rom, and explains it in depth
epony has joined #osdev
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev