For an example of how a detailed Memory Map helps programmers, give Mapping The Atari a read. 😌
@whatskenmaking4 ай бұрын
I've flipped through it online, but will need to give it a more thorough read 👍
@drkamilz4 ай бұрын
External data bus doesn't determine the "bits" of the CPU. For example, 8088 has also an 8-bit external data bus. And an 80386SX has 16bit. It's the internal data bus width that determines the "bits."
@whatskenmaking4 ай бұрын
👍 Thanks, I’ve added a correction to that spot of the video
@LazyDevs4 ай бұрын
You inspired me to get a lot of 6 old Famicoms from Japan and to refurbish them. Currently replacing the RF modules with custom PCBs to get composite video out. Can't wait for that PPU episode. I'm looking into RGB mods and all that PPU stuff is pretty WILD
@whatskenmaking4 ай бұрын
Nice! You can get decent composite video with just a transistor and a couple of resistors - that's how I modded the video in my first Famicom years ago. I have an Atari mod video that walks through the mechanics of how it works, but on a VCS instead of a Famicom. Btw, if you have any FCs that you deem unrepairable, set them aside... in the last episode of the series, I'll show you an alternative for what to do with them 😊
@LazyDevs4 ай бұрын
@@whatskenmaking I saw that! I was considering doing a simpler mod but then decided to replace the entire RF module. Solves the issue of the weird polarity power supply as well. And it takes care of the old caps. And it ends up being a bit cleaner. I'm hoping none Famicoms are busted but also happy to hear there is a future for them even if they are!
@brettito4 ай бұрын
3:40 This isn't strictly true. Based on the parallel input it's true for the NES and this implementation of a chip. Maybe I can learn something here, but I thought that it was the register size or instruction size that made the architecture 8bit since you could ostensibly have Serial communication that would not be a phenotype of the chip itself.
@whatskenmaking4 ай бұрын
Someone else commented on that as well, and I believe that person was correct - it’s the internal data bus width that determines this (as opposed to the external data bus). The register size is sometimes reflective of that, but it’s not necessarily consistent. I appreciate the discussion, though - and I learned something as a result
@jamesross39394 ай бұрын
Great explanation!! Liked and Subscribed!
@leandrormor3 ай бұрын
fantastic video, I always wanted to see such a series, thank you! : ) I hope you can explore DMA as well
@leandrormor3 ай бұрын
even though DMA is more interesting on SNES cmpared to nes system
@SGE-xe4ux4 ай бұрын
Wonderful. :) Do something cool? Of course now I play NES, SNES... it's a lot more fun that the modern gaming industry can't offer me
@MrKrimstah4 ай бұрын
Subbed this is something I tried to learn on Nintendo ages nerdy nights write up 14 years ago , you have made it simple thanks
@DingleBerry-jb4gj4 ай бұрын
At 0:07 - 0:12 the symbol on the right chip looks like the Mitsubishi logo, is there any connection?
@whatskenmaking4 ай бұрын
Yep, Mitsubishi manufactured that particular character ROM chip. Nintendo used ROM chips from a few companies, including Toshiba, Sharp, and others.
@iwanttocomplain4 ай бұрын
11:11 "that 3 bit address space being repeated 1024 times" can you describe the implication or result of this address space being "repeated". I'm not sure what you meant by that. Thanks.
@nikuw4 ай бұрын
The 10 unconnected bits make 1024 (2^10) different address combinations, or in other words you can access those 8 bytes at 1024 different locations.
@whatskenmaking4 ай бұрын
The PPU uses 8 bytes of the address space for communication, since there's only 3 address lines connected - these are addresses $2000 - $2007. But since the chip select signal is activated with the 13th address bit, all addresses within that entire 8KB range ($2000 - $3FFF) address the PPU. The result is that those 8 bytes of addresses 'repeat' 1,024 times. In other words, if the CPU reads address $2003, it'll get the same result as reading address $200B, $2013, $201B, etc. all the way up to $3FFB. From the CPU's perspective, it would be requesting data on different addresses - but from the PPU's perspective, it all looks like the same address since it's only connected to the lower 3 bits of the address bus.
@matiasd.77554 ай бұрын
Writing a byte to the register mapped to memory location $2000 is the same as writing it to $2008... or location $2010, or $2018, or $2020... and so on... Then, the register mapped to memory location $2001 is also mapped at location $2009, $2011, $2019, $2021, and so on... Its kinda complicated, just easier to just use $2000 to $2007. Other way to describe it is understanding that PPU has 8 registers numbered 0 to 7, then you take the binary address in the range $2000 - $2FFFF and consider only and just only the lower 3 bits, so $2000, $2008, $2010, etc are all the same...
@iwanttocomplain4 ай бұрын
@@whatskenmaking OK I think I understand, there a whole load of memory rendered useless because reasons involving pins. There is redundant memory is what I seeing here and the PPU does not have access to it either.
@whatskenmaking4 ай бұрын
That's what it essentially amounts to - the rest of that 8KB address space tends to just repeat the same target addresses so they're not usable for anything else. When I get to the episode on cartridges, we'll discuss how they work around the address space limitations with mapper chips.
@williamsquires30704 ай бұрын
(@3:03) To read the contents of $053F, you’d need an LDA $053F; STA $053F puts a byte into memory (specifically, from the Accumulator.)