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 ...


65

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 ...


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 ...


53

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 ...


45

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


45

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 ...


42

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 ...


42

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 ...


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, ...


37

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 ...


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 ...


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. ...


35

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 ...


34

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 ...


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.


32

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 ...


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

VGA was introduced in 1987 with IBM's PS/2 line. NEC and VESA developed SuperVGA in 1988, but at the time it used the old and slow 8/16-bit ISA bus. Improving video performance was a top priority at NEC to help sell its high-end displays as well as its own PC systems. By 1991, video performance had become a real bottleneck in most PC systems. (316) ...


29

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, ...


28

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 ...


28

Fast Screen Refresh With PEI Slamming (Or: Dirty Tricks With the Direct Page) This article is based on my KansasFest 2004 presentation "Code Secrets of Wolf 3D." Introduction Drawing super high-resolution (SHR) graphics on the Apple IIgs is slow. Unfortunately, the SHR screen's memory in bank $E1 is located in "slow RAM" — that is, memory ...


28

What you're missing is that early computers didn't generate their video signals the way that modern computers do. You're probably picturing a C64 working in much the same way that a VGA adapter does: you specify a color index to RGB mapping, and a digital-to-analog converter looks up that mapping and generates appropriate red, green, and blue signal values. ...


28

The cartridge contains extra RAM. The NES can use tiles in cartridge memory space, but that doesn't necessarily have to be ROM. With suitable RAM and memory mapping the cartridge can create a basic bitmap display out of tiles. The vectors are then rendered to that RAM using the NES CPU in the normal way.


28

Early on, you had to explicitly code your game for each graphics card you wanted to support: Hercules, CGA, Tandy, EGA, VGA. You had to know how to put the card into graphics mode and you had to know the memory layout, palette, and so on. You had to figure out how to avoid flicker and how to prevent tearing. You had to write your own line drawing and fill ...


27

ZX Spectrum: has 21 user definable graphics (UDG) available to the user via POKE USR command. Also, main character set can be redirected to RAM (sysvar CHARS, 23606-23607) so it is fully definibled. It doesn't have a real text mode. All text is rendered into pixels by the firmware. Jupiter ACE: has the entire character set in dedicated RAM (but available in ...


26

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 ...


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