68

Did every programmer of every game implemented all possible various API's that old graphic cards supported? Yes - but it went even deeper than that. Early graphics cards had virtually no callable code associated with them at all, the concept of "drivers" had not quite become a reality yet. There was the concept of a Video BIOS, which were extensions to the ...


68

So, why was this so widespread? Was it simply because it was easier to do than anything else (and, you know, limited hardware of the day), Exactly that. To make a sprite blink, all you've got to do is to set it to be not displayed and then displayed again. Usually by just writing a single register or pointer or setting a flag to skip drawing it. No ...


67

XORing a cursor into a frame buffer (which is what you seem to be calling "inverted cursor") is actually simpler than ORing it in there: when the cursor has to be removed again (to move to another position) you simply draw it a second time, with the same pixels, and it will vanish, courtesy of the XOR logic. If you have ORed the cursor into the ...


66

The original IBM Color Graphics Adapter (CGA) for the first IBM PC introduced the "80x25 at 16 colors" text display mode for use with output to color monitors like the IBM 5153 (as opposed to output to televisions, where you'd want the 40-column mode). All later color graphics adapters (EGA, VGA, etc.) provide compatibility with that mode and that'...


62

@user253751 and @WimC are correct, this fade is achieved by drawing a semi-transparent rectangle over the screen, but using a transparency mode where the rectangle's color is subtracted from the color of the background. The PS1 has four semi-transparency modes (search this for "Semi Transparency"). The one used here is mode 2 in which the result of ...


60

Early high-performance 3D accelerators such as the Voodoo Graphics have limited framebuffer resolutions (640×480 for most Voodoo Graphics configurations, 800×600 for the Voodoo2 in non-SLI) and colour depths (16-bit with dithering), which make them unsuitable for 2D — in the second half of the nineties, 1024×768 was a requirement at least in computer ...


54

A nice one - and coming up every now or then. TL;DR The Apple IIs video logic produces a B&W bitstream at the right frequency to bedazzle an NTSC TV set in a way to make it 'see' colour. The colours produced are based on the way the bitstream creates interferences that are detected by the TV set as colour information. The encoding is rather a series of ...


51

Modern AI on its own is not really advanced enough to be able to make a meaningful difference in this sense. However, there are many situations where the massive asymmetry between computational capabilities of modern computers and computational capabilities of the old computers can be exploited in ways that were not feasible decades ago. For example, some ...


47

TL;DR: Exactly as you assume. The CPU shovelled the data around, even way slower than your calculation suggests, and everyone was happy about the high speed with which it happened :) To be honest, I'm not complete sure what your question is. It was a plain bitmap display (like you assumed) and quite sufficient to be handled by the CPU. After all, no-one was ...


46

Unreal Megademo, Future Crew, 1992 possibly? Certainly has all the elements you mention.


46

Like all games from that era, cheating and tables. Two 256 byte tables and logarithms gave a 10x speed boost on multiply and divide on Commodore 64 at least. Matrix operations using addition only for fixed known rotation rates. Lazy evaluation. Only convex shapes making hidden line removal simpler and hidden line removal meaning only half the vertices ...


44

That sounds a lot like the Cromemco Cyclops. Released in 1975, it used a modified1 MOS 1kbit DRAM2 to capture a 32×32 black and white or greyscale image. The memory cells were initially set to all 1s. As they were exposed to light they would progressively switch to 0s; the more light hitting a cell, the faster the transition4. By making multiple read ...


44

I researched this question online fairly thoroughly a while back. I could not find any reference to an AGP device that wasn't a graphics card. It wasn't exhaustive, and absence of proof is not proof of absence, but I strongly suspect no such cards were made. I also think there are technical and economic reasons that make it unlikely. It would have been a ...


40

The Epson MX-80, upon which many other printers were based, had nine round pins which were vertically spaced at 1/72" intervals. On such printers, the print head could generally move at two speeds, one twice the other. At high speed, a printer could place dots at 120dpi resolution, but could not strike two adjacent dots. At low speed, the resolution was ...


39

This is done by changing the scroll mid-screen. This is what the nametables look like on scanline 30 in Super Mario Bros, with the scroll shown: The horizontal scroll is 0 (you can barely see the white line on the left side). Here is the same image on scanline 31: Now the horizontal scroll is at the left edge of the visible area. The PPU draws the ...


38

The first appears to be Evans & Sutherland's LDS-1, introduced in 1969. The first one was delivered to Bolt, Beranek and Newman Inc., in August 1969. This was an analogue vector system, with depth cuing, and could draw and manipulate complex wireframe models in real time. The first 3D engine produced as a VLSI microchip was the Geometry Engine, ...


36

Where did the 80x25 text terminal size come from? Quick answer: It's one Punch Card Per Line Resulting in 24/25 lines (cards) per screen when using a 4:3 tube and a reasonable font as dictated by proportions fostered since Roman times. Detailed Answer: Prior to the 1981 release of the IBM PC, the VT05 (72x20 1971), VT52 (80x12 1974), and VT100 (80x25 ...


36

Fonts for text rendered to the screen or paper in a graphics mode would simply be data shipped with the application. If this was perceived to be non-copy-able, it is likely because it was not (obviously) in a standard font format, and perhaps intentionally obfuscated. It is also worth noting that VGA cards permitted relocating the text mode character ...


36

A very broad question, so a random dump of thoughts: Elite approximates solid objects through convex objects. Because every game object (other than the missile) is convex that means by definition that every hypothetical ray of vision from your eye to the object other than generate edge cases must pass through it exactly twice: once through a front face and ...


35

The reason for this glitch is rather obscure; it's not surprising that the developers didn't catch it. It all starts with the tunnels on the sides of the screen. These tunnels allow Ms. Pac-man and the ghosts to move from one side of the screen to the other. But, somewhere in development, somebody decided that the ghosts were moving too quickly through them. ...


34

The transform applied to project geometry from 3d to the 2d coordinates necessary for drawing on a screen is called a perspective projection. It involves calculating 1/z and multiplying x and y by that. Filling a triangle involves visiting every pixel within it and deciding which colour to put there. To paint a texture that properly obeys perspective you'd ...


34

In addition to the other answer and comments, a character would often enjoy a brief period of invulnerability after sustaining damage — this period was indicated with the character blinking. The blinking effect here helps suggest an ethereal state where you can’t suffer more physical damage.


33

There are two elements: The background The sprites The background is very straightforward: The vanishing point never changes so you have one graphic with a checkerboard in perspective. That graphic takes 2 bits per pixel so that you have the 2 checkerboard colors and the edges of the field color. It just needs to be the width of the screen + 4 tiles (2 ...


32

First, it may be good to know that the MX-80 did not feature a bitmap mode for graphics, but only 64 symbols. The MX-80 also used 7 bit encoding, so no room for 8 bit graphic data. It was the MX-80 Type II that included it. So while the name is used simply as MX-80, it's always the MX-80 Type II we're talking. Second, Just because some printer looked alike, ...


31

The SNES hardware doesn’t implement perspective, it implements affine transforms of the background layer. Affine transforms aren’t sufficient for perspective. Perspective is implemented by changing the affine transform at every scanline, to change the scale. This is what allows parallel lines to be transformed so that they aren’t parallel on-screen, thus ...


31

On Windows (1.x), at least, it's no more work to have this style of cursor than the normal sort. A Windows cursor is formed of two bitmaps: A mask that blanks out the shape of the cursor, and a pattern that is then drawn in the same place using the XOR operation. There are thus four possible combinations for any pixel: Mask bit Pattern bit Resulting pixel ...


30

The Picture Processing Unit (PPU) in the NES can only draw 64 sprites per frame and 8 sprites per horizontal line (scanline). If the game tries to draw more than that, some of them will be invisible. It could ruin the game if enemies became invisible because there were too many of them, so the developers programmed the games to change the order of sprites ...


30

There are a few reasons why multi-platform 3D games turned out to be no faster on the Amiga than on other 68000-based platforms without its blitter: The developers may have targetted the lowest common denominator system and not taken advantage of the blitter when they ported to the Amiga. Early games and poor conversions tended to be like this. A naive ...


30

There were three important design aspects of the original Macintosh that allowed the relatively limited video display hardware to provide a pleasing user experience in terms of the performance of its GUI. Vertical blanking hardware interrupt - this provided the necessary timing for software to synchronize display updates to the CRT refresh cycle. Thus,...


29

There are various ANSI art viewers for modern platforms which satisfy all your feature requirements (command-line syntax excepted), for example: PabloDraw for Windows, macOS, and Linux ACiD Viewer 6 for Windows ANSI Express for Windows Inside a terminal, at least on Linux/Unix and presumably macOS, viewing ASCII/ANSI art boils down to setting the font and ...


Only top voted, non community-wiki answers of a minimum length are eligible