4 ms·
I really want to get closer to the metal, like programming an FPGA or properly learning assembly (I know that's like 2 completely different skill sets). But I n
by Philip-J-Fry 6y ago
I really want to get closer to the metal, like programming an FPGA or properly learning assembly (I know that's like 2 completely different skill sets). But I never really know where to start.
Is there any like definitive book or website to learn any of this stuff?
- qayxc 6y agoIMHO a great way to get into this is programming old game consoles. The NES or Gameboy are great little machines that are easy to understand and have tons of guides, tutorials, and tools available. With very little investment, you can even get run homebrew software on actual hardware.
- uncledave 6y agohttps://www.nand2tetris.org https://www.nand2tetris.org
- krallja 6y agoeater.net/6502
- IHLayman 6y agoThere is an interesting game I played in the past week called MHRD that has you start with NAND gates and gets you all the way to a CPU, challenging you to use as few NAND gates as you can each step. That was pretty fun and reinforced some of the ideas (although it elides a lot of the JK Flip Flop and RS Latch stuff by abstracting it into their own data unit). I agree with other commenters talking about eater.net and NANDtoTetris as they are both great instructional resources (Ben Eater’s YouTube series is extraordinary). As far as learning assembly, you may want to try Zachtronics games TIS-100, Shenzhen.IO, and Exapunks as it does offer a bit of the instinct for assembly coding. To learn 6502, I could suggest finding yourself a good C-128 emulator. The C-128 how I learned both basic and assembly (using their MONITOR command) and the 6502 is pretty easy to understand even if underpowered.