Sebsite

Gaming · Console Games

Overview

Way more information than you wanted to know about NES Tetris' playfield Since generic tetromino game's primary goal is to exactly replicate all mechanics of NES Tetris, I ended up needing to learn way too much about how the playfield is represented in-memory, how and when the game modifies it, and the bugs that arise from it.

News

Blog 3 months ago
an ambiguity in c89 which will never be fixed
i found some ambiguous wording in the c89(/c90) standard, where gcc and clang disagree on the interpretation. it concerns the behavior of implicit function declarations, which were removed in c99, so this was never disambiguated. ...
Read more
Report
Blog 3 months ago
python string literals are kinda funny
pop quiz: which of these lines is valid python, and what's the content of the resulting string? ...
Read more
Report
Blog 3 months ago
quick thing about rejection sensitivity
i have adhd, and with that comes a hefty dose of rejection sensitivity dysphoria. it basically means that any kind of perceived rejection hurts much more to me than to most people. and "rejection" is really any kind of feedback which could be interpreted
Read more
Report
Blog 3 months ago
sizeof is surprisingly difficult to parse in c
(because of course it is, literally everything in c is surprisingly difficult to parse). for those unaware, the operand of sizeof is either a unary expression, or a parenthesized type name. so the following are all valid: ...
Read more
Report
Blog 3 months ago
python's pre-declared constants are kinda weird
python has 6 pre-declared "constants": True, False, None, __debug__, Ellipsis (or equivalently ...), and NotImplemented. but they all behave slightly differently, for some reason. ...
Read more
Report
Blog 4 months ago
mashups are an underutilized art form
here's what i mean: sometimes two songs just naturally fit together; you don't need to do anything else to make the mashup work. and that's great! but sometimes songs don't quite work together. like, there's clearly potential, but the pieces don't quite c
Read more
Report
Blog 4 months ago
a neat trick i found for reusing physical memory
i found a neat trick which lets you take advantage of CoW to duplicate memory without allocating anything upfront. maybe some people already know about this, but i just discovered it and i think it's cool (and i kinda wish it was easier to take advantage
Read more
Report
Blog 4 months ago
game genie codes to uncap the level and speed of mixed match in SNES "Tetris & Dr. Mario"
here are the game genie codes i made for "Tetris & Dr. Mario" for SNES. they uncap the options in mixed match, including level and speed. normally the tetris level is capped at 10. but if you wanted to, for example, play tetris on level 18, this game geni
Read more
Report
Blog 4 months ago
maybe sometimes the black pill is ok (a response to Andrew Kelley)
this is gonna be a pretty disorganized blog post, bear with me. something something more time shorter letter i just got around to watching Andrew Kelley's talk "don't take the black pill". it's a great talk and i'd recommend it to pretty much anyone. and
Read more
Report
Blog 4 months ago
the perils of parsing type inference declarations in c
here's something fun. assume that x was declared in an outer scope as a typedef: ...
Read more
Report
Show more news