Fantastic Fist Original Soundtrack
1:34:12
Super Mario Bros. 3: Coin Clipping
2:54
Super Mario Bros. 3: ACE in 1-5
9:23
Пікірлер
@user-og7tm4me2n
@user-og7tm4me2n 2 күн бұрын
WE'RE STILL WAITING ON MARIO 3 IN 0.0000005 SECONDS
@user-og7tm4me2n
@user-og7tm4me2n 2 күн бұрын
WE'RE STILL WAITING ON MARIO 3 IN 0.0000005 SECONDS
@100thCoin
@100thCoin Күн бұрын
Yeah- it's still gonna be a while. I've spent the past several months researching niche NES behavior, developing my most accurate emulator yet, and writing the script for that video, only to realize that the knowledge from the yet-to-be-made preceding video (mario 3 in 0.216 seconds, explained) is required. Currently putting together 2 videos simultaneously, while still making finishing touches to the emulator I'm developing for the microsecond TAS. Apologies for the wait.
@user-og7tm4me2n
@user-og7tm4me2n 2 күн бұрын
can someone explain?
@nickfarace9339
@nickfarace9339 7 күн бұрын
My only question is, with the absolute absurd speed the TAS is putting inputs into the system with a controller, how much of this is honestly the NES handling it at that point? The NES is basically a funnel for a modern computer doing all the work right? I get that all of this is entering data into the NES and thats about it. So the main reason this would be impossible for an NES game is because it absolutely blows away how much data would have been possible on a cart. But isn't the TAS essentially doing some work in the background faster than the NES can and just giving the NES the "answers" at a speed it can handle?
@100thCoin
@100thCoin 7 күн бұрын
The limitations of the NES are still very much in play. The amount of instructions the NES can process within the vertical blanking period, the graphical limitations from the color palettes, attribute tables and nametables, as well as the speed in which I could write data are all limitations this TAS had to work with. Though the speed in which inputs are sent to the NES is absurd, it's still processed by the NES's CPU. This is far from the only TAS that used tools such as this to provide inputs. Some games have been brute forced, though I wouldn't call those TASes invalid just because the brute forcing was performed by more powerful computers than the one playing back the inputs. "how much of this is honestly the NES handling it?" All of it. 100% of this is the NES interpreting the button presses I provide it.
@nickfarace9339
@nickfarace9339 6 күн бұрын
@@100thCoin I understand that. Ultimately the NES needs to be able to process end results (drawing tiles to screen, making whatever current "noise" the sound chip is capable of at that fraction of point in time). But like, even if we were to ignore how absurdly this goes over the limit of an NES cart's data, what of the memory banks? If bank switching was factored in, would this still be possible? I feel like the drawing of graphics is easy sure. But the way sound is being done is just astronomically blowing away what an NES had access to. From what I know, the amount of data available for the sound channel needed for this was EXTREMELY small. So in order to feed that much unique sound data into it, you would practically be bank switching more than once in a single scanline? I do get it though. Obviously at the end of the day, the NES can produce all this itself. I just feel like skipping over all the data handling, transfer from cart to memory, and the hard limitations on some of those things would impact the potential if they weren't all being skipped over by a super computer (in comparison to the NES) doing all that work and just throwing all of it into the memory itself. I guess what I am saying is, if you could somehow go past what I think was a hard limitation of less than a meg of ROM, and put it on an NES cart, could you make that cart actually do this without any other input?
@atruepanda1782
@atruepanda1782 9 күн бұрын
Cannot fucking believe that 1: There’s ACE in SMB 2: It is reliant on punching Bowser in his stupid face.
@TG_1023
@TG_1023 11 күн бұрын
bad tasple
@SwagRum76_
@SwagRum76_ 14 күн бұрын
nice
@Coderjo.
@Coderjo. 17 күн бұрын
Awesome work! A few years ago, I was contemplating if this was possible, but it wound up in the pile of incomplete projects... I was considering if it would be possible to use the extended ram of the mmc5 to avoid having to go through the PPU to update the screen, or possibly using a cart with CHR RAM to load a custom tileset for better image quality. I was unfortunately still thinking in full updates to the screen, rather than the smarter changes-only method you used, though. Edit: looking at the tasvideos writeup, I see you didn't even use a shorter controller routine that used D4 as well as D0 to cut each byte read sequence in 22 cycles (not counting strobe) (latch omitted) LDA $4016 ; 010g000K ASL A ; 10g000K0 EOR $4016 ; 11gh00KL ASL A ; 1gh00KL0 EOR $4016 ; 1GhI0KLM ASL A ; GhI0KLM0 EOR $4016 ; GHIJKLMN
@100thCoin
@100thCoin 16 күн бұрын
The faster controller reading was brought to my attention... I forget why I didn't use it. I think it was some limitation of bizhawk? An even faster method was also brought to my attention where you never un-strobe the controller and constantly read a stream of bits through the A button, but that wouldn't work in bizhawk either.
@crzyecks
@crzyecks 18 күн бұрын
The N-Card
@PunkrockNoir-ss2pq
@PunkrockNoir-ss2pq 19 күн бұрын
weeb cringe
@tjthr
@tjthr 20 күн бұрын
Whyd he censor pix******tians username
@Squirberus
@Squirberus 20 күн бұрын
im just starting the vid but thrilled to find out about this song, it bangs lol
@khalief_.
@khalief_. 20 күн бұрын
what a cool speedrun
@Emery_Pallas
@Emery_Pallas 21 күн бұрын
The Use of one massive sample track on the NES is a terrifying idea.
@bluedistortions
@bluedistortions 21 күн бұрын
This is one of the coolest easter eggs ever found in an old video game! Only took someone 39 years to find it!
@ivanv754
@ivanv754 21 күн бұрын
You could interlace your tiles. So instead of 32x24p 30FPS, it would be 32x24i 60FPS. And instead of using the hidden background half to do the pre-drawing, you can just draw in front of the user.
@100thCoin
@100thCoin 21 күн бұрын
Yeah, that would be possible! I wonder if interlacing with 8 pixel wide stripes looks worse than 1 pixel stripes? In any case, the Bad Apple video is 30FPS so the method I chose seems fitting, though perhaps for something like DOOM TAS I could've tried interlacing. That's a good idea to keep in the back of my mind if I revisit this concept.
@Big-Groß
@Big-Groß 22 күн бұрын
Where?
@BLGHA
@BLGHA 23 күн бұрын
Can you make a non L+R TAS of this?
@100thCoin
@100thCoin 21 күн бұрын
A non L+R TAS of this could certainly exist. For this TAS specifically, I only did the series of SMB3 inputs at the start of the video, as optimal SMB1 gameplay isn't my strong suit, and some friends of mine in the SMB speedrunning discord (Seraphmlll and Mizumaririn) did the SMB1 inputs. If I were to make that TAS myself it would likely be suboptimal.
@BLGHA
@BLGHA 21 күн бұрын
@@100thCoin Ah, ok. I was only wondering because I wanted to see what the best run could be.
@gavim
@gavim 23 күн бұрын
There really is a video for eveything
@NUGGet-3562
@NUGGet-3562 23 күн бұрын
I understood almost none of this but it was cool as heck.
@AverageSphere
@AverageSphere 26 күн бұрын
Bad apple is overrated in my opinion, maybe it’s because hearing it so many times has made me hate it
@almostmatt1tas
@almostmatt1tas 27 күн бұрын
Woah, didn't expect to see my Doom TAS at the end there :D Incredibly impressive video, makes me want to go learn some assembly!
@ArtieArchives
@ArtieArchives 27 күн бұрын
I'm tripping
@thereisacow1337
@thereisacow1337 27 күн бұрын
doom tas playing in smb, i can now rest easy
@timdecker6063
@timdecker6063 27 күн бұрын
I love all things ACE
@JimMilton-ej6zi
@JimMilton-ej6zi 28 күн бұрын
Can it theoretically run on actual hardware?
@100thCoin
@100thCoin 27 күн бұрын
This run has been verified on actual hardware: kzbin.info/www/bejne/hXu7qaB6lLaeaNE
@Bearman851
@Bearman851 28 күн бұрын
LMMS MENTIONED! WHAT THE FUCK IS A BAD DAW!?
@ItsAubreeyy
@ItsAubreeyy 29 күн бұрын
how tf is the audio there
@100thCoin
@100thCoin 27 күн бұрын
I have a video that explains in, but in short- I'm writing PCM data to the audio chip about 25,000 times a second.
@Llegamos-w5b
@Llegamos-w5b 29 күн бұрын
Día 1 llegando a los 100k subs nomas comentando videos.
@carlosalejandrosanchez4164
@carlosalejandrosanchez4164 Ай бұрын
How to beat super Mario bros!!! Use tas arbitrary code execution on super mario world and once Yoshi’s tongue touches an apple, you should be warped to super mario bros. However, when you start the game, bad apple will play and at the end you will have beat the game!
@ahhazgaming600
@ahhazgaming600 Ай бұрын
does it work on real hardware?
@100thCoin
@100thCoin 27 күн бұрын
yes it does! kzbin.info/www/bejne/hXu7qaB6lLaeaNE
@kales901
@kales901 Ай бұрын
9:18 why does that sound happen durrong a crash???
@kales901
@kales901 Ай бұрын
9:38 or that one
@412lop7
@412lop7 Ай бұрын
Fake
@DeskoDev
@DeskoDev 23 күн бұрын
It's real. Up for download and works in the latest Bizhawk release at the time of this writing.
@kales901
@kales901 Ай бұрын
the fact that the game has 'tiles' that delete tiles is very intresting
@cerulity32k
@cerulity32k Ай бұрын
you did literally what ive wanted to do god damn i kinda want to make a nes emulator lol
@100thCoin
@100thCoin 27 күн бұрын
I know I'm replying to this a week after you sent it, but there's a TON of documentation for creating NES emulators! Check out www.nesdev.org/wiki/Nesdev_Wiki It's a bit overwhelming at first, but I've had a lot of fun with the emulators I've developed. There are also youtube tutorials you can follow for nes emulation.
@cerulity32k
@cerulity32k Ай бұрын
I LOVE ARBITRARY CODE EXECUTION
@cerulity32k
@cerulity32k Ай бұрын
more like 𝓯𝓻𝓮𝓪𝓴𝔂 code execution
@yesiamrussian
@yesiamrussian Ай бұрын
Oh, so this is basically lockpicking a fucking game? That's what we're doing?
@Protoman3
@Protoman3 Ай бұрын
what's the random noise at the bottom of smb1's tilemap?
@100thCoin
@100thCoin Ай бұрын
It's compressed data used while loading the title screen!
@William-nw4sk
@William-nw4sk Ай бұрын
So I'm not the only one who still uses LMMS! (Completely unrelated, I know)
@zszushi
@zszushi Ай бұрын
How do I display keystrokes? I would like to see it displayed in Bad Apple videos as well.
@100thCoin
@100thCoin Ай бұрын
in the Bizhawk emulator, under "View" is an option for "Display Input" which shown on screen the buttons being pressed. It's not very intuitive to display inputs like that for a subframe TAS though, as there are hundreds of inputs per frame.
@zszushi
@zszushi Ай бұрын
@@100thCoin tysm
@AgentLazarus
@AgentLazarus Ай бұрын
Finally. You somewhat revealed your self. Listen dude, we NEED you to keep making these assembly/hack videos of all 8 bit and 16 bit natured games. Do NOT stop. Please. My blood is on your hands if you quit making videos.
@100thCoin
@100thCoin Ай бұрын
I don't really appreciate the "blood on my hands" comment, but I can safely say I'm not planning to stop making videos any time soon. I'm almost done with the research/script-writing of my next video. Not sure how long recording and editing process will be, but I assure you this is on-par with my Bad Apple in SMB explanation video.
@AgentLazarus
@AgentLazarus Ай бұрын
@@100thCoin I am glad you're trapped! Thanks. Have a blessed day.
@pbjandahighfive
@pbjandahighfive Ай бұрын
While cool, I would still argue that you didn't really play Bad Apple IN Super Mario Bros, you hijacked Super Mario Bros and then forced it to ignore SMB entirely in favor of an injected Bad Apple video from elsewhere, forcing the game to defer to it. While I understand the argument you could make here, colloquially speaking one would imagine playing Bad Apple truly WITHIN Super Mario Bros would require some exploit to rewrite the code using only tools available in the game itself to then play Bad Apple via the native NES hardware without injected video and audio files, only using supplies on-hand from SMB itself.
@100thCoin
@100thCoin Ай бұрын
I could be misunderstanding your comment, though everything done here can be done (and has been done) on official hardware. I'm not injecting video and audio files, I'm just pressing buttons on the NES controller.
@Alexs23743
@Alexs23743 Ай бұрын
I shudder to think what the optimal route is. Aw, no 2hues and bad apples in this one. :(
@TaySimpson
@TaySimpson Ай бұрын
I was practicing 7-7 pipe clip as small mario and instead i got a red pipe glitch. The moment mario touched the pipe he disappeared. For 2-3 frames it started outlining red above the pipe then shot me to the targeted pipe destination maintaining p speed. I believe it took at least 1 second off traditional pipe entry. I'm new to speedrun and it was practice so I wasn't recording. Is this possible every pipe? If so it could reduce at least the TAS time significantly. Regardless I love the code and would love an explanation.
@Grub4K
@Grub4K Ай бұрын
This reminds me a lot of MrWints Pokemon TAS, very similar goal but on two different platforms. Very well done!
@AndyPlaysGames02
@AndyPlaysGames02 Ай бұрын
niftski has competition
@alectrona6400
@alectrona6400 Ай бұрын
are you able to make this into a rom hack by any chance? i love this.
@100thCoin
@100thCoin Ай бұрын
A rom hack that has a game similar to this would certainly be possible. Keep in mind, this was the prototype of what would become the bad apple TAS. The "game" shown in this TAS is very much not playable, and it's just a music engine that can move sprites around the screen and update the background.
@kebien6020
@kebien6020 Ай бұрын
Wait, so you didn't write a program that plays bad apple. You made a streaming video player with audio support, then streamed the video using a controller? That's so cool! It also means that in theory, there's no limit to the length of the video that it can play right?
@100thCoin
@100thCoin Ай бұрын
Correct, there's not really a limit to the duration of the clip played.
@NCXDKG
@NCXDKG Ай бұрын
Oh, sure, just (GARBAGE NOISE) your way into becoming a sailsman.
@Iristallite
@Iristallite Ай бұрын
I feel like using a switch controller's gyro or a ps4/ps5 controller's touchpad could also work well! Heck, even the 3DS/WiiU's touchscreen, or a Wii Remote with its IR pointer would have been great options if this game came out back when those systems were alive!