The AdvMAME3×/Scale3× algorithm (available in DOSBox via the scaler=advmame3x nf option) can be thought of as a generalization of EPX to the 3× case. From top to bottom: a) original font size b) nearest-neighbor 2× scaling c) EPX 2× scaling d) nearest-neighbor 3× scaling e) EPX 3× scaling. The AdvMAME4×/Scale4× algorithm is just EPX applied twice to get 4× resolution.ĮPX can be used to scale bitmap fonts. Later implementations of this same algorithm (as AdvMAME2× and Scale2×, developed around 2001) have a slightly more efficient but functionally identical implementation:ĪdvMAME2× is available in DOSBox via the scaler=advmame2x nf option. IF of A, B, C, D, three or more are identical: 1=2=3=4=P The algorithm works as follows, expanding P into 4 new pixels based on P's surroundings:
#Sai emulator on mac Pc
The SAA5050's internal character ROM carefully avoids ever using this pattern.Įric's Pixel Expansion (EPX) is an algorithm developed by Eric Johnston at LucasArts around 1992, when porting the SCUMM engine games from the IBM PC (which ran at 320×200×256 colors) to the early color Macintosh computers, which ran at more or less double that resolution.
If a pattern of 4 pixels in a hollow diamond shape appears, the hollow will be obliterated by the expansion. Note that this algorithm, like the Eagle algorithm below, has a flaw: Pixels 'outside the grid pattern' are assumed to be off. The algorithm only works on monochrome source data, and assumes the source pixels will be logical true or false depending on whether they are 'on' or 'off'.
Internally each character shape was defined on a 5×9 pixel grid, which was then interpolated by smoothing diagonals to give a 10×18 pixel character, with a characteristically angular shape, surrounded to the top and to the left by two pixels of blank space.
#Sai emulator on mac generator
The Mullard SAA5050 Teletext character generator chip (1980) used a primitive pixel scaling algorithm to generate higher-resolution characters on screen from a lower-resolution representation from its internal ROM. Many work only on specific scale factors: 2× is the most common, with 3×, 4×, 5× and 6× also present.Īlgorithms SAA5050 'diagonal smoothing' This places constraints on the type of programming techniques that can be used for this sort of real-time processing. Since a typical application of this technology is improving the appearance of fourth-generation and earlier video games on arcade and console emulators, many are designed to run in real time for sufficiently small input images at 60 frames per second. This results in graphics that rely on a high amount of stylized visual cues to define complex shapes with very little resolution, down to individual pixels and making image scaling of pixel art a particularly difficult problem.Ī number of specialized algorithms have been developed to handle pixel-art graphics, as the traditional scaling algorithms do not take such perceptual cues into account. The re-scaling of pixel art is a specialist sub-field of image rescaling.Īs pixel-art graphics are usually in very low resolutions, they rely on careful placing of individual pixels, often with a limited palette of colors.
Pixel-art scaling algorithms are graphical filters that are often used in video game console emulators to enhance hand-drawn 2D pixel art graphics.
#Sai emulator on mac full
View in full resolution to see the differences. Comparison of common pixel-art scaling algorithms.