Inside the Famicom | 03: The Memory Map

  Рет қаралды 2,866

What's Ken Making

What's Ken Making

9 күн бұрын

Welcome to the third video in my multi-part series on the Famicom. In this video, we'll take continue our exploration of the CPU and mainboard by talking about how the Famicom and NES uses the memory map to communicate with other chips.
Links Referenced in this Video:
- NESdev Wiki CPU Memory Map - www.nesdev.org/wiki/CPU_memor...
- NESdev Wiki 2A03 Register Map - www.nesdev.org/wiki/2A03
Past Episodes:
- Episode 1: The Design of a Legend - • Inside the Famicom | 0...
- Episode 2: The 6502 CPU - • Inside the Famicom | 0...
Correction:
3:39 I was wrong here - it’s the width of the chip’s internal data bus that determines the chip’s “bitness”, not it’s data pins

Пікірлер: 22
@Mrshoujo
@Mrshoujo 6 күн бұрын
For an example of how a detailed Memory Map helps programmers, give Mapping The Atari a read. 😌
@whatskenmaking
@whatskenmaking 6 күн бұрын
I've flipped through it online, but will need to give it a more thorough read 👍
@jamesross3939
@jamesross3939 5 күн бұрын
Great explanation!! Liked and Subscribed!
@drkamilz
@drkamilz 6 күн бұрын
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."
@whatskenmaking
@whatskenmaking 6 күн бұрын
👍 Thanks, I’ve added a correction to that spot of the video
@LazyDevs
@LazyDevs 5 күн бұрын
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
@whatskenmaking
@whatskenmaking 4 күн бұрын
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 😊
@LazyDevs
@LazyDevs 3 күн бұрын
@@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!
@MrKrimstah
@MrKrimstah 5 күн бұрын
Subbed this is something I tried to learn on Nintendo ages nerdy nights write up 14 years ago , you have made it simple thanks
@SGE-xe4ux
@SGE-xe4ux 7 күн бұрын
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
@iwanttocomplain
@iwanttocomplain 7 күн бұрын
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.
@nikuw
@nikuw 7 күн бұрын
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.
@whatskenmaking
@whatskenmaking 7 күн бұрын
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.7755
@matiasd.7755 4 күн бұрын
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...
@iwanttocomplain
@iwanttocomplain 4 күн бұрын
@@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.
@whatskenmaking
@whatskenmaking 4 күн бұрын
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.
@brettito
@brettito 6 күн бұрын
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.
@whatskenmaking
@whatskenmaking 6 күн бұрын
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
@williamsquires3070
@williamsquires3070 2 күн бұрын
(@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.)
@whatskenmaking
@whatskenmaking Күн бұрын
Ah, right - nice catch!
@DingleBerry-jb4gj
@DingleBerry-jb4gj 6 күн бұрын
At 0:07 - 0:12 the symbol on the right chip looks like the Mitsubishi logo, is there any connection?
@whatskenmaking
@whatskenmaking 6 күн бұрын
Yep, Mitsubishi manufactured that particular character ROM chip. Nintendo used ROM chips from a few companies, including Toshiba, Sharp, and others.
Can a cart dumper damage your carts? Full results video out soon!
1:01
BennVennElectronics
Рет қаралды 1 М.
PicoStepSeq demo1
0:45
todbot
Рет қаралды 4,2 М.
КАРМАНЧИК 2 СЕЗОН 7 СЕРИЯ ФИНАЛ
21:37
Inter Production
Рет қаралды 492 М.
I Designed My Own 16-bit CPU
15:46
AstroSam
Рет қаралды 1,9 МЛН
86Box - An Introduction to PC Emulation
19:17
Tech Tangents
Рет қаралды 59 М.
BUDGET Capture Card for $5!
2:39
dyXur
Рет қаралды 443
The Madness of Z80 I/O
22:52
Noel's Retro Lab
Рет қаралды 69 М.
Inside the Famicom | 02: The 6502 CPU
16:46
What's Ken Making
Рет қаралды 3,5 М.
SNES PPU1 swap - soldering timelapse
3:30
BurgerWeeze
Рет қаралды 280
Best POKE Ever? For Commodore 64
22:21
8-Bit Show And Tell
Рет қаралды 34 М.
Semiconductor Memories: ROM Explained | Types of ROM | Applications of ROM
14:10
Building a ROM Dumper - The Open Source Cartridge Reader
29:53
What's Ken Making
Рет қаралды 9 М.
Software Emulators vs FPGAs
27:08
What's Ken Making
Рет қаралды 272 М.
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1 МЛН
Hisense Official Flagship Store Hisense is the champion What is going on?
0:11
Special Effects Funny 44
Рет қаралды 2,6 МЛН