A selection records source coordinates, a shape or mask, the active frame and the layer to edit. Its outline shows only the selected area. Moving, copying, cutting and pasting change those pixels in different ways. The ROM research follows the selection controls and pixel routines, but has not yet reproduced every editor gesture completely. [1]
Source, destination and clipping
For a move, first capture the selected pixels before clearing the source; otherwise overlapping source and destination rectangles can destroy data during the operation. For a copy, leave the source intact. Clip both reads and writes to the 256 × 192 canvas. A freehand mask should retain unselected holes inside its bounding rectangle. These rules follow from how bitmap operations work. They do not establish which algorithm Nintendo used. [1]
Layers and undo
A selection made on one layer should not silently modify the other. Undo needs a snapshot or reversible operation covering both source and destination rectangles, palette state and any changed visibility. Testing only the final visible composite can miss a damaged hidden layer. [1][2]
How to investigate an original gesture
Record the active layer and tool, stylus press/release points, frame bytes before and after, and whether a menu transition occurred. Compare a move against a copy with the same shape. The original controller's state transitions are needed to establish exact interaction timing. [1]
Selection routines checked in V2
The studied V2 builds use separate workers to reset, save and restore selection state; traverse rows and columns; modify selected pixels; and fill a selection. The fill path has an explicit span stack and an eligibility bitmap, rather than simply painting every pixel inside a rectangle. These routines were compared with the original instructions in 759 controlled cases across the three V2 regions. The results cover those routines and test cases; some complete tool gestures remain untraced. [1]
Two boundary behaviours are particularly useful in a compatibility test: the examined selection-fill routine excludes its rightmost row bound, and it does not accept a one-pixel-wide row or column as a valid selection. Record whether an observed discrepancy comes from the selection controller, the raster worker or final composition before changing a renderer. [1]
Separate clipboard operations
Frame-level copying and pasting also have distinct full-overwrite and merge paths. A merge can retain pixels that a full paste replaces, so the presence of a clipboard alone does not tell you the result. When comparing original behaviour, test the same source frame against an empty destination and a destination with marks on both layers, then inspect stored layer bytes as well as the composed image. [2]
