@@sneakytanklol look up arbitrary code execution, there's some crazy stuff. Like a totally playable SMB1 on SMW; or in Pokémon Yellow (spoilers of "[TAS] Pokémon Yellow - Arbitrary Code Execution", look it up first, it's amazing) Tetris, TLOZ Link's Awakenin DX, SMB DX, Still Alive from Portal, and Spongebob.
Real hardware is mono. (But yeah most capture cards these days will convert mono to psuedo-stereo if the mono source is plugged in to the left channel instead of the right. .)
This tas can be played without rom modification by swapping cartridges and doing a soft reset. First, boot into Super Mario bros., then swap into tennis without turning off power, and do a soft reset. This will preserve memory content on ram, and in tennis, walk 23 times after music has been ended. then swap the cartridge back, and you can access world N.
@@Windo0ows NES Tennis can be used to manipulate RAM states at start up, no? There's certainly documentation on that. Or is the start up routine in SMB overwriting the byte that is needed?
The original actually calls for RAM manipulation using Mario 3, Tennis is not sufficient as there's more being messed with than the world number. The setup used here is probably just to save having to do that first part of the hack.
Well, the NES can run at 60fps, and they have access to the entire tileset in black and white, as far as I'm aware. The way tiles are chosen to best reflect the source material is probably with an algorithm that calculates how much of a certain color there is in a tile slot, which in turn chooses the best tile from what it has access to in SMB (a tile that has the closest color value to the result).
EDIT: You can do this on an original copy if you have a TAS replay device and a copy of Tennis. All the SMB3 ACE is doing is setting the world number to world N (which can also be achieved humanly in Tennis). You would need to modify the TAS file to do this, so that it syncs up, but yeah totally possible, ignore my old comment. -You can't without a flashcart, seems like. The original TAS uses SMB3 to manipulate memory, and swaps to SMB1 in less than a second (which would be impossible for a human to do). This console verification seems to use a modified SMB1 ROM to achieve the result.-
For those complaining about mono sound: If you happen to use VoiceMeeter, you could simply press "Mono" on the output section, next to volume meter relative to hardware output. Alternatively, you can enable mono sound through system's sound settings, if your OS allows you to do that. Be sure to turn the option off before playing any stereo/surround content.
By writing PCM data to the audio chip every 71 CPU cycles. That's a sample rate around 25 Khz. Well, the main audio loop is every 71 cycles, but there's occasional dips while updating the graphics.
A Google search showed the audio sample rate on UA-cam is 44.1kHz, so ~25kHz isn't that far off, which is insane. The highest rate I ever heard in my lifetime was 100kHz, but the average is about half that.
@@keagonlua1090 it is actually pretty far off, though for this case it doesn't matter due to _signal processing reasons_ (Sebastian Lague's video on sound and the Fourier transform is a great explanation on it) 44.1kHz actually means that up to about half that (22kHz) can actually be reproduced, and the accuracy drops as the signal gets closer to 22khz. human hearing is limited to 20kHz at the very maximum (and lowers as you age), so there is a decent amount of buffer before the signal degrades meaning 25kHz gets you only up to 12.5kHz of reproducible frequencies, and even less if accuracy is considered
To what extent is the ROM modified? I'd really love to get this playing on my NES (which also doesn't have a top cover). Are the modifications just a few bytes? If so I have some game genie codes that can set the continue world number. Any more than that and I may need a hint as to what's been changed. Edit: So looking through the tasbot discord I'm seeing it's very customized. Is there any chance I could get that custom rom for myself? Or at the very least some instruction on how to patch/append the custom code to make my own?
What it does is branch at start up to code that loads the desired RAM state, then branches back. This code (and the RAM) replaces unused level code (worlds 2-5 if I remember right.) I'll see if I can figure out how to make an IPS patch, or at least a diff to manually patch it in hex editor. I think I can get to it tomorrow or monday.
@alyoshatas601 Bless I'll take whatever you can give me. Console playback has always been so cool to me. I've had my replay device for many years and I love blowing people's minds with crazy things like the snes pcm audio streaming.
@@steelejr I made an ips patch and wrote some additional instructions here: tasvideos.org/Forum/Topics/25306?CurrentPage=2&Highlight=531334#531334 I can't garauntee it will work, but let me know if you need any other help and I'll try my best to assist.
@alyoshatas601 I don't mean to be a bother, but I do have a couple of questions to ask. Do you have a discord I could friend for easier asking? If not I'm happy asking wherever is best for you. Mainly just want to know what args you used for the replay device. I have the same one and a Rev G console. Again, thank you so much for making the replay information available for the average console replay enjoyer. I'd like to add that I'm not just someone asking "what? how?" I do have a backround in old assembly software and how it works in hardware. I just struggle on how it works *between* the two. I'm familiar with ACE in pokemon red/blue and have written custom payloads for a few games in a similar scope. While I may seem a little lost in some subjects, old hardware like the NES is a passion of mine and I appriciate any help I can get along the way!
I also have a recording showing the system and replay device code running: ua-cam.com/video/sWnNw2CL1FU/v-deo.html The ROM is modified to load the necessary RAM state at power on, as it is decays too fast to do the cartridge swap that the original run does.
@@mika_iran No, this is just poorly formatted Mono audio. Since the NES only has 1 Mono audio channel, when you try to record using a capture card is just plays it in one ear. Also chill out bro lol
This makes me so incredibly happy to see it running on actual hardware. Thank you for your efforts to verify this!
HOW DID YOU DO THIS?
seriously. HOW?
HOW DID YOU GET THE ENTIRE ANIMATION IN THERE?!?!?!?
@@sneakytanklol look up arbitrary code execution, there's some crazy stuff. Like a totally playable SMB1 on SMW; or in Pokémon Yellow (spoilers of "[TAS] Pokémon Yellow - Arbitrary Code Execution", look it up first, it's amazing) Tetris, TLOZ Link's Awakenin DX, SMB DX, Still Alive from Portal, and Spongebob.
I'm starting to doubt if this is real 😅
@@Sponta_ I explained it, and gave other examples, but youtube deleted it. Just look up arbitrary code execution
YOU. ARE. AMAZING.
my right ear loves this
lol I noticed too
Real hardware is mono.
(But yeah most capture cards these days will convert mono to psuedo-stereo if the mono source is plugged in to the left channel instead of the right. .)
@@jmkqfnvyl87 I use an audio splitter on my NES.
In 2058 Niftski will do this on original hardware
I bet he'll do it in 2025, not that much long.
This tas can be played without rom modification by swapping cartridges and doing a soft reset.
First, boot into Super Mario bros., then swap into tennis without turning off power, and do a soft reset. This will preserve memory content on ram, and in tennis, walk 23 times after music has been ended. then swap the cartridge back, and you can access world N.
tell me you have no idea how this run actually works without telling me you have no idea how this run actually works
@@Windo0ows NES Tennis can be used to manipulate RAM states at start up, no? There's certainly documentation on that. Or is the start up routine in SMB overwriting the byte that is needed?
@@marinellovragovic1207 you can get to the level but the controller payload won’t be there
The original actually calls for RAM manipulation using Mario 3, Tennis is not sufficient as there's more being messed with than the world number. The setup used here is probably just to save having to do that first part of the hack.
Dang, watching that music video took away your fire power
But in return gave him a score that's impossible to get
How it's able to play in such high quality for an NES is beyond me
Well, the NES can run at 60fps, and they have access to the entire tileset in black and white, as far as I'm aware.
The way tiles are chosen to best reflect the source material is probably with an algorithm that calculates how much of a certain color there is in a tile slot, which in turn chooses the best tile from what it has access to in SMB (a tile that has the closest color value to the result).
@@AlexEEZ
In the case of color videos though,it absolutely ruins quality
OK now how does one do this with their at home copy :eyes:
Buy something that can execute tases, and run the TAS
grow 8 more arms to input the 50 million button presses on 8 controllers at each frame
@@kuromiLayfe lot cheaper than Geronimo's idea, might try that
buy a tas robot who connects to a PC to make all movements or drink coffee with monster and grow a extra arm 👍
EDIT: You can do this on an original copy if you have a TAS replay device and a copy of Tennis. All the SMB3 ACE is doing is setting the world number to world N (which can also be achieved humanly in Tennis). You would need to modify the TAS file to do this, so that it syncs up, but yeah totally possible, ignore my old comment. -You can't without a flashcart, seems like. The original TAS uses SMB3 to manipulate memory, and swaps to SMB1 in less than a second (which would be impossible for a human to do). This console verification seems to use a modified SMB1 ROM to achieve the result.-
probably the best way i’ve seen bad apple played ever
For those complaining about mono sound: If you happen to use VoiceMeeter, you could simply press "Mono" on the output section, next to volume meter relative to hardware output. Alternatively, you can enable mono sound through system's sound settings, if your OS allows you to do that. Be sure to turn the option off before playing any stereo/surround content.
how in the actual fuck is it streaming high quality audio!?
By writing PCM data to the audio chip every 71 CPU cycles. That's a sample rate around 25 Khz.
Well, the main audio loop is every 71 cycles, but there's occasional dips while updating the graphics.
A Google search showed the audio sample rate on UA-cam is 44.1kHz, so ~25kHz isn't that far off, which is insane. The highest rate I ever heard in my lifetime was 100kHz, but the average is about half that.
@@keagonlua1090 You definitely didn't *hear* anything near 100k.
@@keagonlua1090 it is actually pretty far off, though for this case it doesn't matter
due to _signal processing reasons_ (Sebastian Lague's video on sound and the Fourier transform is a great explanation on it) 44.1kHz actually means that up to about half that (22kHz) can actually be reproduced, and the accuracy drops as the signal gets closer to 22khz.
human hearing is limited to 20kHz at the very maximum (and lowers as you age), so there is a decent amount of buffer before the signal degrades
meaning 25kHz gets you only up to 12.5kHz of reproducible frequencies, and even less if accuracy is considered
thats not what they said, they clearly said "highest rate" for 100khz sample rate which isnt unusual. most decent DACs can do 192khz @@B3Band
ok my question is how do you get THIS MUSIC to play through NES SPEAKERS
He posted a video explanation of the tas, I'd highly recommend it
Tl;dr blasting the pcm channel with controller inputs
@@korumannwho's he
@@mrowlsss Creator of the TAS, 100th Coin, A.K.A. Chris Siebert
Holy fucking shit. Just wow
P.S. the link in the description doesn't work. Could you pin it in the comments pretty please
github.com/alyosha-tas/NES_replay_files/blob/main/Super_Mario_Bros_Bad_Apple.r08
I thought the audio was edited in
It is not... and the creator's video explain how it is done
How does he doooo that??
ua-cam.com/video/Wa0u1CjGtEQ/v-deo.html
my mind is so brain rotted i read this as
“How did he doo doo fart”
@@victorrealm7698Same
To what extent is the ROM modified? I'd really love to get this playing on my NES (which also doesn't have a top cover). Are the modifications just a few bytes? If so I have some game genie codes that can set the continue world number. Any more than that and I may need a hint as to what's been changed.
Edit: So looking through the tasbot discord I'm seeing it's very customized. Is there any chance I could get that custom rom for myself? Or at the very least some instruction on how to patch/append the custom code to make my own?
What it does is branch at start up to code that loads the desired RAM state, then branches back. This code (and the RAM) replaces unused level code (worlds 2-5 if I remember right.)
I'll see if I can figure out how to make an IPS patch, or at least a diff to manually patch it in hex editor. I think I can get to it tomorrow or monday.
@alyoshatas601 Bless
I'll take whatever you can give me. Console playback has always been so cool to me. I've had my replay device for many years and I love blowing people's minds with crazy things like the snes pcm audio streaming.
@@steelejr I made an ips patch and wrote some additional instructions here:
tasvideos.org/Forum/Topics/25306?CurrentPage=2&Highlight=531334#531334
I can't garauntee it will work, but let me know if you need any other help and I'll try my best to assist.
@@alyoshatas601 You are the coolest person ever! Thank you so much for posting it. Trying it out now.
@alyoshatas601 I don't mean to be a bother, but I do have a couple of questions to ask. Do you have a discord I could friend for easier asking? If not I'm happy asking wherever is best for you. Mainly just want to know what args you used for the replay device. I have the same one and a Rev G console.
Again, thank you so much for making the replay information available for the average console replay enjoyer.
I'd like to add that I'm not just someone asking "what? how?" I do have a backround in old assembly software and how it works in hardware. I just struggle on how it works *between* the two. I'm familiar with ACE in pokemon red/blue and have written custom payloads for a few games in a similar scope. While I may seem a little lost in some subjects, old hardware like the NES is a passion of mine and I appriciate any help I can get along the way!
Yet
алеша ты чего
what's the proof of hardware? where's the hardware???????????? also, modified rom ... ??????
I also have a recording showing the system and replay device code running: ua-cam.com/video/sWnNw2CL1FU/v-deo.html
The ROM is modified to load the necessary RAM state at power on, as it is decays too fast to do the cartridge swap that the original run does.
stupid mono audio
I think you mean stereo
@@megamaz108 no, i mean mono
@@mimathememerIF THE AUDIO WAS MONO IT WOULD BE PLAYING THROUGH BOTH SIDES DIPSH*T!!!!!!!!!!!
THIS IS STEREO AUDIO WITH THE LEFT CHANNEL MUTED
@@mika_iran "Real hardware is mono." - @jmkqfnvyl87
@@mika_iran No, this is just poorly formatted Mono audio. Since the NES only has 1 Mono audio channel, when you try to record using a capture card is just plays it in one ear. Also chill out bro lol
Ugh, use an audio splitter.
use deez nuts on your face instead