Тёмный

Inside the Famicom | 03: The Memory Map 

What's Ken Making
Подписаться 14 тыс.
Просмотров 3,3 тыс.
50% 1

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

Наука

Опубликовано:

 

27 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 23   
@Mrshoujo
@Mrshoujo 29 дней назад
For an example of how a detailed Memory Map helps programmers, give Mapping The Atari a read. 😌
@whatskenmaking
@whatskenmaking 28 дней назад
I've flipped through it online, but will need to give it a more thorough read 👍
@jamesross3939
@jamesross3939 27 дней назад
Great explanation!! Liked and Subscribed!
@MrKrimstah
@MrKrimstah 27 дней назад
Subbed this is something I tried to learn on Nintendo ages nerdy nights write up 14 years ago , you have made it simple thanks
@LazyDevs
@LazyDevs 27 дней назад
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 26 дней назад
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 25 дней назад
@@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!
@drkamilz
@drkamilz 28 дней назад
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 28 дней назад
👍 Thanks, I’ve added a correction to that spot of the video
@SGE-xe4ux
@SGE-xe4ux 29 дней назад
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
@williamsquires3070
@williamsquires3070 24 дня назад
(@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 24 дня назад
Ah, right - nice catch!
@iwanttocomplain
@iwanttocomplain 29 дней назад
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 29 дней назад
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 29 дней назад
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 27 дней назад
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 26 дней назад
@@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 26 дней назад
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.
@yuyongbin
@yuyongbin 8 дней назад
you must finish this series famicom materials!
@brettito
@brettito 28 дней назад
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 28 дней назад
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
@DingleBerry-jb4gj
@DingleBerry-jb4gj 29 дней назад
At 0:07 - 0:12 the symbol on the right chip looks like the Mitsubishi logo, is there any connection?
@whatskenmaking
@whatskenmaking 29 дней назад
Yep, Mitsubishi manufactured that particular character ROM chip. Nintendo used ROM chips from a few companies, including Toshiba, Sharp, and others.
Далее
Exploring TapTo on the MiSTer
19:02
Просмотров 3,6 тыс.
УРА! Я КУПИЛ МЕЧТУ 😃
00:11
Просмотров 739 тыс.
Your bathroom needs this
00:58
Просмотров 16 млн
Wait for the BOWLING BALL! 👀
00:38
Просмотров 18 млн
The 6502 CPU Powered a Whole Generation!
25:17
Просмотров 458 тыс.
The Insane Engineering of the Gameboy
17:49
Просмотров 1,7 млн
Adding TURBO MODE to the Tandy Model 100
23:28
Просмотров 2,2 тыс.
I Made a Nintendo Playstation
10:55
Просмотров 1,1 млн
Rearchitecting the 6502
16:17
Просмотров 13 тыс.
Doom didn't kill the Amiga...Wolfenstein 3D did
16:58
Просмотров 702 тыс.
I built my own 16-Bit CPU in Excel
16:28
Просмотров 1,4 млн
НОВЫЕ ФЕЙК iPHONE 🤯 #iphone
0:37
Просмотров 226 тыс.