Making of "Reverse emulating the NES..."
HTML-код
- Опубликовано: 27 май 2018
- An explanation of the process and tech behind my last video, Reverse emulating the NES to give it SUPER POWERS!". You should watch that video first, of course: • Reverse emulating the ...
- Наука
Another tip when laying out a PCB. Before you order the board, print it out on paper and lay any components you have on the pads to see if they match. I do this with all my boards. Of course Murphy's gonna get you anyway on something stupid, but at least it'll usually be something you can rework at home. Excellent work on the project, I've very much enjoyed the videos :) Cheers
THIS! just finished my first PCB project. What a surprise when I got the PCB back and my main IC section was way too small! So, yes, definitely print out your PCB and lay your parts on them. I do that now and it has saved me from many more problems.
Yup, would 100% suggest this too, really helps when sending off to china, not so bad if you fabricate yourself but still stops you wasting time. *has flashbacks to the 5 versions of a Dual Flat No leads part*
Wow this is such a good tip. Thank you!
1:1 fit checks are essential
This is one of the greatest channels that never uploads.
And good on you for it too! Your videos are always such high quality. Unlike most other channels on RUclips where there is this _expectation_ of content, you're in a lucky spot where you can upload whatever the heck you've been toying with in your mind lately and it's a lovely surprise that treats your audience to some unexpected good times.
...Plus you're a low-key super-genius.
One of the other greats is Michael Reeves.
@@zdelrod829 michael reeves is not compatible lmao
@@zdelrod829 michael is funny i’ll give him that but there is no way he could do anything even nearly this complex
43:03
> Except maybe you.
Thanks for making and sharing this! I love these.
Yeah, if he knew we'd stick around that long, he should have just gone on some more about it! Give us 2 hours of overly detailed circuit troubleshooting and jury-rigging! XD
I would have watched more
Yes pleaaaase
"please fix my mistakes" haha
I've actually watched the whole thing twice now.
Have you considered using the linux real-time kernel? It might help with the graphics glitches.
This is an interesting idea. I have also suggested to him checking out baremetal Raspberry Pi programming.
I have even posted the list of links showing what retroprojects are possible when you program the RPi in this way, but the post with the links did not show up (probably has to be accepted manually by suckerpinch)...
Yeah, good call. I was thinking a RTOS like QNX to fix the glitching, but I was forgetting about the existence of the Linux RT kernel. Gotta dig more into that one of these days.
It doesn't need to be RTOS, there are just a few settings that you can change to make it more amenable to real-time processing ( sched_rt_period_us and sched_rt_runtime_us ) and sched_setscheduler to set it to SCHED_FIFO. It may also help to lock the pages in memory so they don't get swapped out.
That is beautiful work. That part about reverse emulating the CPU to make the audio better made me realize you are nearly to the point where the sole function of the Nintendo itself is to render video and audio from a hilariously convoluted set of inputs. I.e., it's basically a set of D/A converters and hardware that sends signal to a TV.
Yeah, but the point is, it's a GREAT party trick to pull with anyone who has an old NES lying around (AKA, fellow geeks. XD) I mean, who WOULDN'T be confused/amazed if you popped in an old zelda or mario cartridge, then booted up Windows (Or, well, Linux in this case) or a far more modern game that can run on a Pi.
Pop in a NES zelda cartridge and be playing Ocarina Of Time
BrickOfDarkness Nah mate, get a Wii U emulator and play Breath of the Wild.
"But can it run _Crysis_ ?"
I'm more curious to know if you can inject/manipulate code in the cpu itself.. this could make the Raspberry Pie a software SuperFX-ish expansion to enhance native-run NES code/homebrew :)
Im in 4th year electronics engineering and some of my collegues look at me like im some sort of genius when I show them my electronic or embedded projects but damn man.. It hurts my mind to see how smart you are
This is kinda the most amazing channel on RUclips. Really hope you’re gonna get a bigger audience
this is really true
"Harder Drive" and "GradIEEEnt half decent" are absolute gems
Nintendo switch hacked: not so intresting to watch
Nes hacked: that is what I am talking about!
Nice work man! : )
The actual method of the hack is not very interesting on the switch I'll agree with that but it's still interesting to look at and use all the homebrews and ports!
I wouldn't this consider a hack, not like mordern consoles and privilege escalation attacks as they are different ball game completely this is simply electrical engineering essentially bus stuffing the NES kinda by being able to feed data essentially every clock cycle, in a way he is just dma'ing to the ppu using the raspi which bypassed normal hardware limitations set by stock console hardware, you can access any info about the NES down to the Mobo schematics (and yes you can legally make reproduction NES Mobo from them as hardware patents are expired which is what the clone makers should actually do), it's less of a hack(not really a hack but someone after 30 years took time to research and build essentially a dsp expansion cartridge like the super fx on snes )and more like adding an expansion like ram or graphics card on a pc, I am doing something like this with the 2600, using 6502(no not 6507) with additional 64k ram, ay-3-8910 and atmega8515(or 644)
I would totally watch more 40mins of this.
I'm going back and rewatching all of your videos. They are awesome man, I always look forward to what you are going to do next.
That's great! Thanks :)
This is awesome. I love these deep dives into your projects.
Thank you for including both your set-backs and breakthroughs in your video--it helps other folks like me feel empowered to push through on our own ambitious projects. I wouldn't have guessed you'd encountered so many problems from the presentation in your previous video, so if you can still get a great result than surely we'll be able to push through as well!
You bet your bottom dollar that I watched this to the end. Every second. I want the rest of your great explanations. This is so fun
Your joke reminded me of how I never quite made it through Gödel Escher Bach. I also found your take on human augmentation to be well articulated!
Gödel Escher Bach: i'll still finish it, some day! 😰
IHatePuns godel Escher and bach is an awesome book. I read it like probably 10 years ago. so worth the time it took to read. would highly recommend reading it all the way through. 😎
Be careful with finishing GEB
* SPOILER ALERT *
On the last page The Author sends you back to the first page in the most devious way.
I always look forward to an upload from you. Thanks for sharing.
Thanks for watching! :)
This one of the best binging I've ever had. These videos are amazing.
Thank you for making these videos! They're always a blast to watch and I'm consistently amazed by the breadth of knowledge you have when it comes to computer science!
When you showed the image of your neighbors old PCs I shed a tear! I had the futuristic looking Compaq Presario growing up and that was my entrance to things tech and computing! Loved that computer and to see it again, after forgetting all about it for roughly 20 years brought it all back! Great Vids!
How have I missed your channel for so long? Absolutely brilliant content that inspires me to want to perform similar projects myself. Thanks for the detailed explanation and walkthrough of your project.
I know this is mega old by now. But your progression through the electrical aspects of this is great. Everything you describe is what every new EE goes through. Why don't these transistors work like I think, why can't I drive this, what is TTL, etc is great! It's very impressive that your persevered. Many of these problems can be super frustrating and difficult to figure out. As I'm sure a million nerds already (jokingly) pointed out, use less vias!
I would very much so enjoy seeing the rest of your list good sir, please don't shy away from posting more on this, this is huge!
of all the channels I subscribe to, this one gets me the most excited when I see an upload. Thank you for the amazing content man!
I have no idea about many things you were talking about but I found your thinking process fascinating. Really cool video about showing how you thouught about this project exactly.
wow watching that first vid I never would have guessed you were winging as hard as you were. awesome stuff man
YES, MORE.
Once again, love your work and these long explanations are fascinating.
I LOVED seeing how you pulled off this project. I must say, though, that every time you upload something I have to go back and rewatch a few of your videos to remember what got me to subscribe. XD I hope you upload more often in the future; you make great, interesting content.
Please do more. I love this sort of thing, being able to make more complicated use of old hardware
Definitely enjoyed watching. Thanks for making this supplementary video explaining the magic tricks.
This was amazing. I really appreciate you going through the simple mistakes and misconceptions you had. As a fellow software guy (I'm assuming) and hardware dabbler, it's really nice to see your process. I never really quite groked the tri-state logic thing until this, even though I've designed and fabbed a board or two using KiCad. Also you schematic looks so much nicer than my first one :)
This was a really interesting project to watch! Your videos are always extremely awesome.
Great work. You truly have a gift. I'd love to see just how far you could take this project.
This whole project was amazing, you've earned my subscription!
You did a great job explaining your work. I am definitely looking forward to more of your videos.
That is amazing. I get so excited whenever i see you post a new video.
your content is always wonderful. I always love it. never change. keep it up :)
very intresting. almost like a takeover of an nes.
I just finished watching everything, I wish you made videos like this more often!
wonderful project ! nicely done ;) congratulation for the idea and the whole brainstorming behind it ! love this kind of video "behind the scene"
The way you explain this is amazing and very inspiring. Thank you!
Thanks! :)
I really loved that. Thanks for sharing Tom. I hope you tackle the high resolution audio idea some time.
Loved it all. What a treat it is when you put one of these out!
Do more of these! They are really interesting and we can spare an hour for something this good.
I really enjoy all of your projects, and always share them around whenever I see a new one. Keep up the great work :)
thanks! :)
I am both terrified and comforted by the fact that people exist out there with this level of patience and skill.
It is always a fantastic surprise when you show up in my subscription feed.
40 min videos? - normally No...but watching you condense months of learning into a 40 minute adventure - Yes! Thanks for being humble enough to share your misunderstandings too. That's where real learning takes place. Great Video.
Sweet Project! I always wanted to do something like this. Glad you got around to doing it. keep eM coming
I've watched this video and all your videos at least 3 times. Love your stuff. Please make more interesting things!
Thank you for watching and for the encouragement (:
Fantastic project. It's nice to see someone do this for the love of seeing if they can.
This has been a really interesting watch. I should pick up that "write down good ideas" thing. It sounds like a really good way to figure out new projects to do.
Man, this was so awesome- I wish I had your perseverance
as a programmer who has dabbled with hardware, it helps immensely to have a fun, compelling project. that way when things inevitably go sideways, or just don't work at all, you retain motivation to dig into documentation, wikipedia, whatever it takes to "get something working."
Damn. I think this is the first project of yours I've seen and it was certainly very interesting. It'll be upsetting when I no longer have the time to watch hours of RUclips videos, but I might as well make the most if it while I can and to that end I'm going to check out your back catalogue now. Thanks dude!
A piece of awesome work. Can't wait for more of your projects! :3
Amazing content.
I especially appreciate leaving the errors and the subsequent debugging of those errors and gotchas. I would watch more :)
Interesting topic and you made the whole 40 minutes of video to feel like instant, it was so well made!
This was super interesting, thanks for taking the time to make this video! Would love to know more details about the noise once you figure out what's causing it
i really love this project and this supplemental content. really quality stuff suckerpinch, i think i will check out the rest of your channel now too
Thanks! I hope you like the other stuff too :)
Love this. I wish there were updates. Very cool
Almost 3 years later I came to re-watch both videos and they're still good. I wonder if you ever got around reverse-emulating the CPU ?
Keep this awesome stuff coming dude!! Just amazing work, damn :D
That was superb. Good job. I'd really love to hear it playing sound too.
Thanks for your architecture dive. That's a pretty rad project.
I can't wait to see just how far you're able to take this. This is way beyond what I thought was possible on a NES, no matter the method.
You are a Genius man, we need more enhancements and more knowledge from you, Please keep working in the vblank solution and the sound. we need this to learn more about your work.
Amazing project, happy to watch a 40 minute breakdown of it as well :D
Keep going with this project! It's fascinating 🙂
As someone who has an extremely brief history in going to classes in electronics having to do with small circuit boards, this video was very enlightening. It also reminds me of certain video demonstrations in Tool Assisted Speedruns (TAS) done for various Games Done Quick (GDQ) charity marathons. In many of those demonstrations, normal expectations are far exceeded by what can be achieved when you load inputs from outside of a normal game board or controller.
i and many others will watch every new video every time they come out, no matter the length.
that’s a cool looking microphone btw.
wow wow wow, this was an awesome project to see! Thankfully a commenter below linked to the project files, but those would be great to throw in the video descriptions as well for people to access. :)
Very cool. I really enjoyed this and I look forward your next video.
40 minutes isn't nearly enough. More.
...please.
* aren't
@@HelloKittyFanMan. nah he's right. 40 minutes is a singular as it essentially is the same as using the word "length"
@@NinjaKurosai That's weird. Why is a plural of minute considered a singular?
@@MattZelda because its referenced to in the whole not individually
This was amazing, congrats on your work.
This is the kinda content I'm here for! Love the more detailed stuff
I'm a little late but... great stuff! Especially appreciate you talking about the roads taken that didn't work out, very helpful.
Very, very cool! A couple points though:
- Both the NES and SNES use the SAME chips in the controllers, just the SNES chains a second chip per controller to allow for >8 bits. The bit order is designed in. It would be possible to make the NES read a SNES controller using a simple modified plug and having the routine read all 12 valid bits (4 unused, 16 total).
- The NES 5v regulation uses a standard linear regulator (7805?) and if you are truly pulling 1A with the pi alone then you are past its specification. i.e. You may end up frying the NES and your pi. Consider supplemental 5v directly into your custom cart. (I would measure actual power draw first.)
-Greg
This is the best thing I have watched in a while! One year too late, but subscribed
This was a good watch. The audio thing sounds interesting, I hope you get to that some day! I'd watch a 40 minute breakdown of that project too.
About getting sound to work, some tool assisted speedrunners managed to get pretty good audio quality entirely through the controller ports and even video with a SNES with the same method. Look up Tasblock 2017 if you want to see it.
dude what you have done here is fucking amazing. I love the fact that you could actually run an snes game on an nes albeit with the help of a rasberry pie and your genius brain but it would seem like you could do so much more with this. I would love to see you finish this project. You really should it would get much more attention if you kept at it. I am sure there are a great deal of people out there that would even pay for something like this so they could tinker with running other things on an nes.
You should finish this for the NES and then move onto the SNES. Just being able to directly control the consoles with a rasberry pie cart is just really cool.
you are an incredible creator and teacher, thank you my dude
Really good explanation of tri-state/high impedance states
im excited to see in a couple years if/when you update your graphics on this! It’s an awesome tool and totally made me laugh
Awesome stuff. Special thanks for this detailed making-of video. 👍
Ahh I really want to see more on this project in the future!
My lord, hope all this work pays off. Just so you know, we are all there by your side!
I was wondering if this would be possible a couple years back but I didnt had a knowlage to do it and now here I am.
I though it would look better but its more than I though it would be capable of.
Great job man
New subscriber here, this project is awesome!
Looking forward to see more of it! Great work, man!
Woooo, I got a callout at the end for watching the whole thing! This was fantastic!
This is fascinating! Loved the video
Nice video for students or classrooms. Admire your work and watched all the 44 minutes of the video, and I'm just an a enthusiast.
First time I've seen a board customization. Didn't know it was "that easy" to do a custom board 🙂🙂
There are NES games, such as a 3d polygonal space game (yes for the nes) that achieves 3d by doing what you said at the end of the video, computing data off site (on the cartridge chips) and simply feeding that "prerendered" data into the nes (as a continually shifting pallet and/or sprite, which is actually a "time lapsed" drawn graphic, not just a pallet or sprite).
The fact that you arrived at the pallet idea (though don't forget sprites) on your own is pretty impressive! (Then again everything you do is, so no surprise there!)
Dude this is amazing. Please do more.
Can't belive that I've watched it from start to finish! :O Interesting stuff
Totally thought this was fifteen or twenty minutes. I check the time? It's been forty minutes! Great vid, really held my attention!
This is really cool! I'd really like to see the sound part implemented
this is good stuff man. Yeah, I watched the 40 mins all the way through. Mainstream RUclips will obviously have different videos in store but it doesn't mean there's no room for long, technical, quality content. Keep it up!
I wrote a program in Java a while ago that converts any picture into a ZX Spectrum picture. The ZX Spectrum was a bit more restrained, as the NES but it had the same concept, producing monochrome and colour clashy graphics. I used the same techniques as you did pretty well to render the picture, lots of fun to write but it was a devil to debug. I thought I was doing alright, you know, gave myself a pat on the back. Great way to spend a weekend.... then I watched this and wow, yeah... got some work to do. Good one man!
thoroughly enjoyed this breakdown
A valuable video even 1m 45 seconds in. Love your stuff!
This is the best stuff to watch! Keep it up!
You are a legend, keep up making these dude.