Terminate and Stay Resident
MS-DOSでは「アリーナ」と呼ばれる数珠繋がりのデータ構造でメモリを管理しているので、「以前に実行され常駐した自分自身が、メモリのどこかにいないだろうか?」という処理のためには、その「数珠繋がりの先頭」をMS-DOSに教えてもらう必要があるのだが、そのためのシステムコールは、非公式に Get List-of-Lists などと呼ばれていたundocumentedなAPIで、正式には保証されておらず、そういった点でも不安があった。
1980年代末から1990年代初め、PC上の多くのコンピュータゲームはますますメモリを必要とするようになり、TSRに残されたメモリ領域はますます小さくなっていった。TSRを常駐させつつゲームに必要なメモリを確保するテクニックはどんどん難しくなっていった。多くのゲーマーはそれぞれのゲーム用に異なった構成設定のブートディスクを用意した。1990年代中盤以降もMS-DOS向けゲームがいくつも登場して640KBの限界を突破し、先頭1MBより上位のメモリにゲームのデータやコードの一部を置き、オーバーレイとして下位1MBの領域にスワップインさせて実行するという技法が使われた。