TetrisGYM SPS Vulnerability Research

First off the tl;dr for those in a hurry.

My SPS source code has been available since July 2022. It's not the only implementation.

So the short explanation is that the design of pickTetriminoSeed, the function that is the basis for the whole of TetrisGYM SPS (v4 and v5 seeds) has a weakness that Tetris original rom does not. The attached seeds are a list of seeds that fall into the same sequence before piece 100. This is caused by @invalidIndex. There are 276 seeds. Because of how the LFSR in generateNextPseudorandomNumber works, it's not just 276 seeds that do that, it's ~2x that. This is true of just about everything I've checked so instead of 4 million unique seeds, we have about 20k-80k sequences that a player can expect to get (research not complete). And because of how it locks, it continues indefinitely. This is probably beyond the capacity of a person to memorize, but we could see players memorize a small fraction of favorable and unfavorable sequences for a benefit in competition. Let's start the work of writing an improved SPS shall we?

Read more »

TetrisGYM SPSv3


July 28, 2022

TetrisGYM by Kirjava Cart Made by EricICX With RetroN 1 FC and original NES controller

TetrisGYM SPS 0.2.1 [sig]
TetrisGYM SPS 0.2 [sig]
TetrisGYM SPS 0.1 [sig]

TetrisGYM is a wildly popular mod of Tetris for the Nintendo Entertainment System. It has recently been made into a cartridge by one of the highest scoring players, EricICX. Released in 1989, Tetris has come a long way as a result of high score competition, a fanatical community, and quirks that make it an incredibly difficult game to master. If it was just difficult to master, it might have earned a community. But its quirks have earned a mod that turns the game into a learning experience. The current list of features for TetrisGYM:

Read more »

4th Copper Tape Circuit


Dec 3, 2020

4th Copper Tape Circuit Video

Fourth try is a charm. For a while now I’ve been trying to learn how to make cheap and quick copper tape circuits as described briefly in Bunnie’s 2018 Toorcamp Keynote talk where he discusses the elements for electronics development that has so far provided him with much success. Toorcamp in 2018 happened to provide me with the copper tape used in this circuit, so I thought I’d give a shout out to my Neg9 crew and those who shared the weekend with me.

Read more »

SM5 Assembler

SM5 assembler [sig]
git clone https://www.altsci.com/repo/sm5asm.git

I present the SM5 assembler. Derived from the SM5 emulator, it works well in creating new programs for the SM5 architecture. It was necessary as part of a challenge called Game Copy Protection ROM in OpenCTF 2019. It also contains a small patch to sm5emu that improves the stability and benefits the user.

Why would someone want an assembler for an architecture that is not commercially available? If an FPGA version of this architecture were created, an assembler would be handy. But until such a time, I used the assembler to create a challenge which tested the ability for users to adapt to new architectures, SM5 being an architecture that only a handful of people in the world have experience with.

Read more »

next »