Contents

* Bugs in the MS game logic emulation
* Bugs in the Lynx game logic emulation
* Other bugs and misfeatures
* TODO: Missing features
___________________________________________________________________________

Bugs in the MS game logic emulation

* Some of the weirder obscure bugs aren't reproduced faithfully. I will
  attempt to list them here.
  * Tank runs over a red button connected to a block cloner, and the cloned
    block lands on a blue button. In the real game, a half-turned tank
    appears where the tank used to be, while the real tank, still on the
    red button, remains completely unturned. The new tank appears to be
    turned 90 degrees, but forcing a repaint shows that it is turned a
    complete 180 degrees. In TW, the original tank still turns around,
    while the new tank remains at 90 degrees.
  * Chip enters a teleport which a block cloner faces, and at the teleport
    Chip exits, there is a block in the way, next to which is the red
    button for said cloner. Thus, Chip entering the teleport causes the
    block to be pushed onto the red button. In the real game, Chip and the
    cloned block both emerge from the same teleport, which vanishes.
    However, Chip does not exit in the correct direction: he exits in the
    same direction as when he last exited a teleport. If this is the first
    time Chip has entered a teleport on this level, then Chip exits in the
    direction of the block, but facing north regardless. The block itself
    vanishes, and in the place of the teleport is a new Chip, also facing
    north. In this particular case, Chip remains on the slide list, pushing
    against the new Chip tile, until the player makes a move. In TW, Chip
    exits in the expected direction. The teleport always vanishes, and the
    block never does.
  * Chip enters a teleport, and at the teleport Chip exits, there is a
    block on top of another block. In the real game, the top block is
    pushed off, leaving the bottom block behind, intact. Chip reappears at
    the new teleport, but then bounces back, since he can't push a row of
    two blocks. In TW, the blocks are pushed and preserved correctly, but
    Chip does not make it to the latter teleport (instead he either
    proceeds to a different teleport or bounces back from the original
    teleport).
  For the most part, I'm not particularly motivated to improve the
  emulation of these, as they are all pretty obscure. However, their
  existence may point to areas where the emulator could be mirroring the
  internal logic of the MS game better.
* The keyboard is scanned twice per tick, once at the beginning and once in
  the middle. As a result, if Chip makes a move at the beginning of a tick,
  the game does not update the display twice in a row (once after the
  creatures move and once after Chip moves), but just does it once. In a
  few places this has a non-trivial effect on how the game appears, most
  notably when Chip tries to move against a force floor. I do not believe
  that this optimization ever has an real effect on the gameplay. It is
  still a bit of an open question in my mind, however, which is why it is
  mentioned here.
___________________________________________________________________________

Bugs in the Lynx game logic emulation

* The pattern of "clone boosting" is not the same as the Lynx game. It's
  hard to find examples that clearly show this; I have only one. Play ICE
  HOUSE (102) on the Lynx. After landing safely on the red button, step
  right to block off the teeth clones. Stay there. When the clock reads 130
  seconds or so, there will be a fireball clone that is boosted. It will
  cross the ice just before a glider comes through, and the glider will
  continue on its way past the red button. However, in the emuluator, the
  fireball clone is not boosted. As a result, it is still squarely on the
  ice when the glider arrives, and the latter bounces off and retreats. The
  boosting pattern is governed by how slots in the creature list come back
  up for reuse after a creature has been killed. Clearly, the emulator is
  not using the same algorithm as the Lynx game. Unfortunately, it's a
  tedious business to collect any amount of data on this that would be
  necessary to start finding patterns, and there are few levels that have
  the necessary elements for such investigation. So this one is still up in
  the air.
* The Lynx game only permitted 128 creatures (including Chip) to exist
  simultaneously. Thus, a clone machine activated when the population was
  at maximum would "run out". The emulator does not enforce any such
  maximum. Of course, fixing this would put a limit on the kinds of new
  levels that people could create under the Lynx ruleset -- so this one may
  be better off as it is....
___________________________________________________________________________

Other bugs and misfeatures

  None known at this time.
___________________________________________________________________________

TODO: Missing features

  None listed at this time.
