Post 161988 by Trento@niu.moe
 (DIR) More posts by Trento@niu.moe
 (DIR) Post #161920 by Trento@niu.moe
       2018-09-24T02:24:19Z
       
       0 likes, 0 repeats
       
       Latest changes for my microprocessor project clean up some headers/implementation, move R/W to pure low->high clock edge-triggered, got rid of most of the API in favour of a simplified 2-function API with MMC extensions, improved the runtime efficiency (arbitrary, but on my CPU we can now run at 14MHz instead of 13MHz), and several other miscellaneous fixes.
       
 (DIR) Post #161921 by Trento@niu.moe
       2018-09-24T02:28:47Z
       
       0 likes, 0 repeats
       
       While I'm not super happy with things yet, I suppose it wouldn't hurt to share the repo. I want to stress that much of this is still in-development, many unit tests are missing, the file-based assembler still doesn't work (use pasm to assemble code using preprocessor), and it relies on some libraries I've made which you may have to install first.This is only tested on linux-x64, dependencies don't yet compile on anything else.https://github.com/TReed0803/kasm
       
 (DIR) Post #161922 by Trento@niu.moe
       2018-09-24T02:29:49Z
       
       0 likes, 0 repeats
       
       If you don't care to see the code, but want to see a small sample of how to run the virtual microprocessor, here is a gist with a small program assembled in C:https://gist.github.com/TReed0803/a159bcc71c4e2f8f7c9fc390f24cd929
       
 (DIR) Post #161923 by prydt@niu.moe
       2018-09-24T02:33:27Z
       
       0 likes, 0 repeats
       
       @Trento dang this is interesting but also super daunting... I program in C/C++ but have never really done much low level stuff and have no clue where to start...
       
 (DIR) Post #161947 by Trento@niu.moe
       2018-09-24T02:34:54Z
       
       0 likes, 0 repeats
       
       @prydt If you let me know what you want to experiment with, I can probably give some pointers. This is incredibly low-level and you would never actually do this unless it were for educational purposes (which it is for me).What are you interested in learning about?
       
 (DIR) Post #161954 by prydt@niu.moe
       2018-09-24T02:37:13Z
       
       0 likes, 0 repeats
       
       @Trento I suppose about asm and compilers... nothing too low level but more for educational purposes like you
       
 (DIR) Post #161988 by Trento@niu.moe
       2018-09-24T02:42:44Z
       
       0 likes, 0 repeats
       
       @prydt If you want to know about compilers, I'd recommend "Compilers: Principles, Techniques, and Tools" (often referred to as "the Dragon Book"). It's very dry, and long-in-the-tooth, but it'll give you a good foundation for writing a compiler.As for assembly, I'm making up an ISA (Instruction Set Architecture), you may have to read some other books to learn x86/x64/arm/etc. I kind of learned most of that by necessity on the job. :/
       
 (DIR) Post #162014 by Trento@niu.moe
       2018-09-24T02:44:05Z
       
       0 likes, 0 repeats
       
       @prydt If you want to learn how a microprocessor works, what I did is read a lot of information about the 6502. It's not how modern microprocessors work (they are now much more complex), but it'll give you good foundational knowledge.Specifically, see some of my references at the bottom of this README: https://github.com/TReed0803/kasm/blob/master/kasm/k65/README.md
       
 (DIR) Post #162015 by Trento@niu.moe
       2018-09-24T02:45:19Z
       
       0 likes, 0 repeats
       
       @prydt This, specifically, is a very good talk: https://www.youtube.com/watch?v=fWqBmmPQP40
       
 (DIR) Post #162016 by prydt@niu.moe
       2018-09-24T02:47:01Z
       
       0 likes, 0 repeats
       
       @Trento ^^ thanks for all the resources.. I'll definitely look into them!
       
 (DIR) Post #162022 by Trento@niu.moe
       2018-09-24T02:48:01Z
       
       0 likes, 0 repeats
       
       @prydt No problem, I hope it goes well! One last recommendation for the road...I think that if you are going to do systems programming on Linux, it should be required for those new to such activities to read "Linux Programming Interface". Again, another kind of dry, but incredibly dense with great knowledge kind of read.
       
 (DIR) Post #162042 by shmibs@kawen.space
       2018-09-24T02:49:29.562046Z
       
       0 likes, 0 repeats
       
       @Trento @prydt (can confirm, these book and the above are good)
       
 (DIR) Post #162043 by prydt@niu.moe
       2018-09-24T02:50:04Z
       
       0 likes, 0 repeats
       
       @shmibs @Trento sweet... I hate how many books are in my backlog and will try and find time to read them...
       
 (DIR) Post #162064 by Trento@niu.moe
       2018-09-24T02:51:09Z
       
       0 likes, 0 repeats
       
       @prydt @shmibs It just takes time and dedication; read in your downtime, while you're on the bus, maybe set aside an hour. Don't marathon it or else you'll run out of steam.