great video ken, i am obsessed with input lag, i dont know why. speaking of which, what are your thoughts on the retrotink4k? would using it with a mister further reduce input lag?
If i only have usb controllers (8bitdo, logitech, etc) does the blisster and low latency have any benefit, or is it only for original hardware controlers?
Imo, the non accuracy problem is a non issue. If you are aware and have interest in emulation, you will be able to fix these accuracy problems with either hacked roms or specific configs on emulators. The question of emulation vs fpga is honestly about preference. Retro collecting is hell and emulators are amazing in my opinion, but if the accuracy bother the user that much, its good that we have options
Thanks for the great information, Now I'll have to break out my old Model 100 and try this out! I actually remember using the Model 100 on Compuserve around the time of the Space Shuttle Challenger explosion. It was really the first time I experienced a world event which was discussed online in real-time. I remember getting a NASA document describing the entire sequence of events which occurred during the launch. We all were speculating on what happened around "Go at throttle up" which I believe was the last transmission. It was amazing to use Compuserve where computers were beginning to live up to the long forecasted telecommunications revolution, which now we take for granted. (Not long after those days BBSs were everywhere and that was great fun too!) Thanks again for the great videos! I know it's hard work planning, recording, editing and uploading these videos, not to mention the work soldering etc. I really appreciate your work!
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
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 😊
@@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!
Very interesting and great explanation. I think I can live with 1 frame lag occasionally. If that's all it is, I have hard time believing it is noticeable by anyone since our brains process images at 1/24 sec and not 1/60 sec. Now, A persons HDMI TV can add lag too.
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.
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
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."
I just found your channel recently and have found them to be interesting, insightful, educational...basically everything I look for. Great work and please keep it up!
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.
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.
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...
@@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.
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.
For the Cartridge slots could you use the ones from a system? I have a few systems that no longer work and was wondering if the Cartridge slots from them would work.
Great video! On my side, I recently made my Gameboy DMG emulation station by using the kit from Zegamamegear. Easy build and I love to have the DMG shell :)
BlisSTer has just worked for 3+ years for me. Great addition to the MiSTer! Sometimes I forget to enable LLAPI when starting up and at some point during play I realise it doesn't feel right. It is that obvious when it is working!
Hi. I order everything from mouser and have constructed the MT32-pi, it is fully working. The only thing I could not find was the top plate. Where can I get the files for that? Those were not in the description.
Is there another way? ESP32 is cheating, it is 100 times the power of the Tandy. So if we go overpowered, my Macbook may as well deliver the internet straight over RS232 to USB. Can that be done? But I prefer a lean Ethernet hookup without 240MHz dual core to make it run.
Amazing work, Ken. Was a pleasure to meet you and chat at VCF East (thank you Claire!); now I fully see the product of the work you described in production. Also, proud to have clicked the 500th 'like'. Got here just in time : ). Stay well. (Michael)
Excellent video! I wanted to better understand how FPGAs worked and this was a fantastic explanation: it provided enough detail to satisfy my curiosity while still being easy to understand and entertaining.
Okay so on the BCD removal thing: To my understanding this was a redesign that Rockwell did first. MOS second-sourced production of the 6502 and variants to Synertek and Rockwell (a common practice in the industry at the time). Rockwell made modifications to the chip and Rockwell sub-licensed the rights of their design to Ricoh. MOS engineers have claimed that Nintendo stole the 6502 because they weren't getting direct payments, but anything they would have gotten would have gone through a long chain through Rockwell. Such are the salad days of early microprocessors.
Yeah, the re-licensing of the tech makes it really difficult to pin down what exactly happened. I read through a couple of accounts and Bagnall’s seems to at least summarize the reaction from Commodore employees with a firsthand account
Interesting, in fact it's very close to modern MCU architecture, except very limited IRQ resource and probably doesn't support nested IRQ at all. Modern MCU usually also come with NMI IRQ, but I found it hardly being used, because there are many other high priority IRQ available. I wonder what's the scenario of NMI in 6502.
You can nest IRQs if you reset the interrupt flag in your IRQ processing. For the FC and NES, NMIs are used by the PPU for Vblank signaling. I’ll talk about that when I cover the display subsystem
Wow, such a thorough and clean explanation of how the CPU works. Animation really helps to understand what happens and why. Thank you! Looking forward to watching the next part.