Тёмный

why nes tetris covers your screen in garbage after a single into level 160 

HydrantDude
Подписаться 5 тыс.
Просмотров 14 тыс.
50% 1

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

 

30 сен 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 63   
@RKelleyCook
@RKelleyCook 8 месяцев назад
Whelp, this video might have set the record for the nichest knowledge of all time.
@bermchasin
@bermchasin 8 месяцев назад
nah, there is someone out there that knows all the lyrics to every Recebba Black song.
@kiwi_2_official
@kiwi_2_official 4 месяца назад
set theory
@jthecollector6108
@jthecollector6108 8 месяцев назад
i think i finally understand why the "infinite" confetti isn't infinite on PAL (if this was even known before). since the frames last 17% longer, the tile countdown can actually reach 0 and finish before it is interrupted again. speaking of PAL, it would be interesting to see where the crashes are on that version.
@Patashu
@Patashu 8 месяцев назад
I thought this was wrong, but I just looked it up, and while the PAL CPU Hz IS lower, the frames are longer by a greater % than the CPU is slower, so it does indeed have more time to do stuff per frame. Interesting!
@jthecollector6108
@jthecollector6108 8 месяцев назад
update to the above: if FCEUX isn't failing me, the earliest crash on PAL (for all intents and purposes) should be a single into level 181 with a crash timing of 33227 cycles. i need someone to verify this though.
@wiirambo7437
@wiirambo7437 8 месяцев назад
​@@jthecollector6108On the PAL version of Tetris the crash happens on later levels than on NTSC because the frame is longer. (I tested the standonle ROM, I did not test the combo cartige ROM. I modded the game so I never goes past level 18 speed and I can start on high levels) The first crash I was able to trigger was a single into level 180, but this seems to have low odds of happening. In general singles only have a low probability to crash. Singles on level 181 and 182 have a low chance to crash. A single into level 183 seems to have the highest chance of crashing but not 100%. Singles on 183 and 184 are risky bust still way less risk than single on level 157 NTSC. Singles on level 185 trigger corruption glitches but no crash. There is no "infinite confetti" on PAL inestead the screen flashes. (I now know why) The PAL version can not crash by just placing a piece with out a lineclear, because the calculations without a lineclear always happen before the end of the frame. At about level 194 other lineclears start to become dangerous. I need to test that behavoir more, I don't know which is the first crash with other lineclears. Levels 196 to 199 are dagerous for linclears other than singles but by far not as bad as level 169 (or 170) on NTSC.
@richardpike8748
@richardpike8748 6 месяцев назад
@@jthecollector6108I feel like you could pose this question to the tetris discord and they'd eat it up (assuming this is new knowledge)
@joe_z
@joe_z 8 месяцев назад
I love your cute little T-pieces running around in the NES making the game work. They have so much personality ❤
@omegahaxors9-11
@omegahaxors9-11 8 месяцев назад
Huh so this explains why Tetris is always eventually fatal when you get it. Make sure to get a Tetris shot if you get cut on rusty metal.
@MikeDolanFliss
@MikeDolanFliss 8 месяцев назад
As a lifetime tetris player and computer scientist / epidemiologist, I love these deep cuts HD. Thanks for all the work you do for the scene, for science, for tetris!
@Random1785YT
@Random1785YT 8 месяцев назад
I don’t know what he’s saying just looking at the drawings they’re so adorable
@naumbtothepaine0
@naumbtothepaine0 8 месяцев назад
>decrement before checking the counter Knowing how the dev initially thought no one would get pass level 29, I love how much horror lying in this code, it works as long as it works lol, and the something waiting for the FF terminator is literally me hostage in ranked matches waiting for the FF from my teammate
@Jethcon
@Jethcon 8 месяцев назад
the little tetris pieces are so cute i want a plushie so badddd i need to hug ittt
@go_gazelle
@go_gazelle 8 месяцев назад
Just a fan here, although I once got 188 lines on GameBoy Tetris as a 13-year-old in 1995. I would love to see your spreadsheet containing all possible killscreens. If it were public, fans like myself could see all the roadblocks on the way to defeating level 255, and would therefore be able to better follow and appreciate each player's journey to get there. In a recent video about Blue Scuti's achievement, aGameScout shows a glimpse of the spreadsheet, and provides a link, but the link is broken. From that gimpse, I can tell that casual fans, myself included, will need a tutorial on how to understand the various acronyms and comments. Do you know what level Blue, Fractal, and Andy started at? It seems like for them, the line count at single-line level transition is always (level# -1) / 10 - 50. I would have assumed that meant they were starting at level 6, but given some levels take more or less than 10 lines to clear, I have no idea anymore. Thanks. Brett
@hydrantdude3642
@hydrantdude3642 8 месяцев назад
hm, link shouldn't be broken. docs.google.com/spreadsheets/d/1zAQIo_mnkk0c9e4-hpeDvVxrl9r_HvLSx8V4h4ttmrs/edit?usp=sharing fractal & scuti started on 19, andy on 18. the first level will last until you have cleared 10*level lines, ie lvl 9 start = lvl 10 at 100 lines. this desyncs at levels > 10, where 10-15 all proceed to next level at 100 lines, and then they start increasing again 16+, so that's where that difference of 6 is coming from; 18 to 19 at 130 lines, 19 to 20 at 140 lines.
@kingyodah5415
@kingyodah5415 8 месяцев назад
Simple game, made for a potato CPU and it contains lot more interesting things than some modern games do. Even if i dont properly understand any of this, i do get the general story behind things being explained and i aint done being amazed
@Periwinkleaccount
@Periwinkleaccount 8 месяцев назад
0:20 “I accidentally stopped recording the drawing here lmaoooo guess we do reveals with paper instead then”
@TheDeadtra
@TheDeadtra 8 месяцев назад
Another Video by our Hydrant dude. Just great work man keep on going!
@triskai
@triskai 8 месяцев назад
I love these videos so much lol
@feisty-trog-12345
@feisty-trog-12345 8 месяцев назад
I love the style of these videos, such a good explanation. How come you refer to the VBlank Interval as NMI though? Is the VBlank interrupt the only non-maskable one on the NES?
@Starwort
@Starwort 8 месяцев назад
I'm not entirely sure but I think it's either 1) any NMI trigger/handler causes the memory corruption or 2) (more likely imo) as you guessed VBlank is the only (interesting) NMI trigger used by Tetris
@hydrantdude3642
@hydrantdude3642 8 месяцев назад
Yeah there's no other interrupts that happen on NES tetris, just vBlank. I think maybe some games set the PPU to send more interrupts for better timing info? Don't quote me on that though. Probably poor practice on my part to use the terms interchangeably.
@wiirambo7437
@wiirambo7437 8 месяцев назад
@@hydrantdude3642And for some reason the NMI can be disabled, which sort of goes against what an NMI is...
@hydrantdude3642
@hydrantdude3642 8 месяцев назад
​@@wiirambo7437yeah it's funny that it's called non-maskable when you can literally turn it off if you want to. doing that for the scoring frame would patch the crash and related bugs.
@TariosGD
@TariosGD 8 месяцев назад
0:50 I kept hearing "next preview's sprite staging" as "next previous sprite staging"
@Lykrast
@Lykrast 8 месяцев назад
I love the cute lil drawings!!
@dwcalle
@dwcalle 8 месяцев назад
Great explanation!!
@LavaCreeperPeople
@LavaCreeperPeople 8 месяцев назад
interesting information
@DecayedPony
@DecayedPony 8 месяцев назад
The only suggestion I'd add would be including a short video of what the video describes, can't find any thing showing this online.
@hydrantdude3642
@hydrantdude3642 8 месяцев назад
awful quality but ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-0r4MalKaTIE.html 0:46 for limited confetti. 2:50 for infinite confetti.
@DecayedPony
@DecayedPony 8 месяцев назад
@@hydrantdude3642 Thank you!
@jaspbcat7903
@jaspbcat7903 8 месяцев назад
@HydrantDude your profile picture is my minecraft skin lol
@Bee0ftheb0nnie
@Bee0ftheb0nnie 7 месяцев назад
I love how the scenario of each one is just about this worker in the shape of a Tetris piece just acts stupid and delusional, it’s like a teacher teaching in an interesting way.
@ricogoins
@ricogoins 8 месяцев назад
THIS is so cute i love it AND so interesting to learn
@aliengenie8896
@aliengenie8896 8 месяцев назад
Doesn't the 6502 have an instruction that switches the processor into BCD mode? Does that get turned off when the NMI happens or is there a way to get it stuck like that and trash everything?
@jondorthebrinkinator
@jondorthebrinkinator 8 месяцев назад
The 6502 core in the NES processor actually has all the BCD circuitry removed, so the opcodes are just NOPs
@probablyintervert
@probablyintervert 8 месяцев назад
i dont even know what tetris is
@thewhitefalcon8539
@thewhitefalcon8539 8 месяцев назад
It's the game where you try to make whole rows out of falling shapes
@waldofrick
@waldofrick 8 месяцев назад
so 160 will be the first level 155+ topout
@jakerussell135
@jakerussell135 8 месяцев назад
how is it that clearing lines can cause a crash at 155-170 or something, but then never between 180 and 248?
@hydrantdude3642
@hydrantdude3642 8 месяцев назад
because the crash happens when a particular routine is interrupted, and if the scoring takes so long it doesn't even get to that routine before the interrupt, there won't be a crash.
@wernerderchamp
@wernerderchamp 8 месяцев назад
Very well described. I do have a few thoughts through. I'm not too deep into this, so I might be drawing completely wrong conclusions. From your older videos, it looks like the scoring algorithm is always starting at the same time during a frame since the crashes require the PPU to interrupt precisely at certain instructions, yet its very reproduceable. This brings me to the assumption that there must be some code waiting for the PPU interrupt after all of this. If the PPU happens before (like when the scoring is too long), this would skip a frame. With this in mind, could we somehow extend some other routine and make the game run at slower speed?
@KitaruTC
@KitaruTC 8 месяцев назад
Yes, you're spot on; there is a place in code where the CPU waits for the PPU to keep game timing consistent. Under normal circumstances, all game logic completes in less than one video frame and enters an infinite busyloop to wait for the vblank interrupt. The interrupt code unsets a wait flag so that, when returning from interrupt, the busyloop is allowed to exit and proceed to the next frame of logic. On the other hand, when scoring calculation starts taking too long, we end up with a lag frame; The CPU won't reach the busyloop before the vblank interrupt. When returning from interrupt, the CPU picks back up from where it left off, reaches the busyloop, and waits for the _next_ vblank interrupt. So, the scoring frame's logic will end up stretching over the course of 2+ video frames, but (assuming the crash is missed) we'll be able to pick back up as normal after that.
@wernerderchamp
@wernerderchamp 8 месяцев назад
@@KitaruTC Thank you for your reply!
@KitaruTC
@KitaruTC 8 месяцев назад
@@wernerderchamp No problem!
@liquink
@liquink 8 месяцев назад
Thank you very much for tgis explainimg video. Your work is very educated. ❤
@pineapplewhatever5906
@pineapplewhatever5906 7 месяцев назад
Why does placing a piece crash the game in the last few levels?
@LilHana
@LilHana 7 месяцев назад
the game adds score every time you place a piece, its just that 0 line clears add 0 to the score a million times. this is usually fine until the last few levels
@Miguelelurdelia
@Miguelelurdelia 8 месяцев назад
1st like
@YTDeepshock
@YTDeepshock 8 месяцев назад
Mood.
@Pumpnation801
@Pumpnation801 8 месяцев назад
One of the densest sub 10 min videos i ever wayched
@GODDAMNLETMEJOIN
@GODDAMNLETMEJOIN 8 месяцев назад
The video is about confetti, but all I see is spaghetti.
@greatcanadianmoose3965
@greatcanadianmoose3965 8 месяцев назад
Now I am no expert in low level programming, but couldn't this be used for an arbitrary code execution exploit?
@MetaKnight68
@MetaKnight68 8 месяцев назад
The game crash can be used for ACE since it happens due to reading RAM as code (and Kirjava, Fractal, & HydrantDude have done some work in researching it which you can find online if you look hard enough), but as far as I can tell, confetti isn't useful because it's interpreting the data as parameters for the drawing routine, not executing the data as code.
@cspiff
@cspiff 8 месяцев назад
Given that the NES has no networking and no writable storage media, I'm not sure how you'd ever get any exploit code onto the system in the first place.
@Patashu
@Patashu 8 месяцев назад
@@cspiff in ACE you use the controllers to write exploit code. there's also the gimmick way where you write a payload using a different cartridge and hot swap them before RAM is cleared, which is used in 100th Coin's ACE video on SMB1
@wernerderchamp
@wernerderchamp 8 месяцев назад
@@Patashu Yeah, but its unfortunately going to stay TAS only. It would be sick if users could abuse it to take over the game like with 1st Gen Pokemon. We'd need some way to interrupt the game flow and store user input in some point at RAM, then exec it. Unless we can abuse some routine, that probably needs 5-10 bytes written.
@biggiemac42
@biggiemac42 8 месяцев назад
@@cspiff you can write into the high score tables for A and B type, including the name you enter, the score you get, and the level you top out on.. question becomes whether that is enough to boostrap up the next level where you get to use controller inputs to program higher amount of complexity
@frkieran
@frkieran 8 месяцев назад
the volume of your video is way too low
@matheuscabral9618
@matheuscabral9618 8 месяцев назад
HYDRANT DUUUUUDE THE MAN THE LEGEND
@XxCrystalPhoenix
@XxCrystalPhoenix 8 месяцев назад
THIS IS SO WELL PUT-TOGETHER ❤
@Glaciores
@Glaciores 8 месяцев назад
First Comment!
Далее
why clearing a single at level 155 crashes nes tetris
5:06
ТАРАКАН
00:38
Просмотров 1,2 млн
Teeth gadget every dentist should have 😬
00:20
Просмотров 906 тыс.
The Search for the Longest Infinite Chess Game
29:20
Просмотров 796 тыс.
Tetris, but the Pieces are Made out of Triangles
12:36
Просмотров 840 тыс.
Pentomino Facts
18:38
Просмотров 135 тыс.
The rarest move in chess
17:01
Просмотров 1,9 млн
Why it Took Tetris Pros 33 Years to Reach This Screen
14:07
hangman is a weird game
19:30
Просмотров 6 млн
Someone improved my code by 40,832,277,770%
28:47
Просмотров 2,5 млн