66

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


63

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


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


43

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

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


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


33

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.


29

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


26

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.


26

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


24

There's something of a conflation here of antialiasing and filtering, I think. Antialiasing is literally preventing things from adopting aliases — e.g. if a diagonal line looks like a staircase rather than a diagonal line, it has adopted an alias. So you can imagine the same thing happening to textures as they rotate or take awkward angles. But it's always ...


23

Subpixels in general are invisible fractional pixels that you cannot see, but are used internally to represent the positions of objects at a finer level than they're capable of being displayed at. So far as Super Mario goes they're represented as an integer with 16 subpixels per visible pixel. This allows inertia to be loosely modeled so that you can start ...


21

You can find it at https://files.scene.org/search/?q=unreal The file you want is /demos/groups/future_crew/demos/unreal11.zip - the latest version. There are many other fantastic demos worth checking out, available there as well! It is an official archive. If you like Unreal, then you'll love its sequel, Second Reality! You can also find recordings of ...


20

As others have said, refreshing the whole screen in a fraction of a second was considered blindingly fast at that time. The Mac's biggest early advantage, though, was the QuickDraw framework. This was leaps and bounds ahead of other graphics packages of the day, both in functionality and efficiency. With QuickDraw, you rarely had to rewrite the whole ...


19

In many 8 bit games the position of the player's sprite is stored as the pixel coordinates it rests on. For many games that is adequate, but it has some limitations. If the game only uses whole pixel coordinates then the minimum movement speed is 1 pixel. In other words the resolution of the player's speedometer is 1 pixel. They can be moving at 1 pixel per ...


19

The [pre-AGA] Amiga: uses a planar frame buffer, stored in memory that is shared with the CPU (and which therefore reduces the CPU's speed); provides dual-playfield hardware scrolling, but the total bit fetch total per output byte doesn't stretch beyond six, so you end up with e.g. a 7 colour foreground and an eight colour background; provides 8 hardware ...


17

You can't really answer this question without acknowledging the parallel development paths for high-quality 3D graphics, which includes not only the dominant Polygon/Texture-mapping approach, but also the Ray Tracing approach. This parallel development path continues through today, with recent announcements like Nvidia's next generation RTX platform, that ...


16

In DOS you had direct access to the hardware; so you grabbed some good source of information about the card you wanted to support, and got down to code your routines. A book which was often cited as a good source was "Programmer's Guide to the Ega, Vga, and Super Vga Cards", by Richard F. Ferraro; I hadn't the luck to own it or read it, but it was fondly ...


15

I had a brief look into the game running in an emulator. The pillow fighting game is using the multicolor bitmap mode. In this mode, the video screen RAM defines the colors for the bit patterns 01 and 10, which are set separately for each 8x8 area with one byte each. The area filled with water has only around 100 bytes for color definition. These bytes are ...


15

Looking for either "rose.neo" atari or "rose.pc1" atari in Google images with an exact requested size of 320x200 yields this result, which seems to match your description pretty well. Could it be that one? EDIT #1 Here is a better version from Demozoo. EDIT #2 The original Neochrome file can be downloaded from this page.


14

Alex Hajnal's answer pretty well describes what I believe is the first and eventually only commercial available camera that directly used RAM chips, the Cyclops (*1). It started out as a hobby level project, about the same time chip manufacturers did build the first dedicated CCD camera elements. CCDs were like the super hype of the 70s - at least to ...


13

The idea is as old as memory-mapped display hardware is. After all, memory bandwidth was for most of the time the limiting factor. Every character based text screen only updates what needs to be changed and similar each and every game - maybe with an exception of the Atari VCS 'Racing the Beam' :) Similar double buffering. As soon as a machine supports ...


12

Since my interpretation of the question differs from other answers posted, I think the primary topic is inter-frame video compression. It's about historical precedents for a pipeline that starts with the complete contents of frame n and frame n+1 in some representation, determines the differences between them, and communicates only the differences to a third ...


12

Here are a couple contenders: The Microvision, with a 16x16 pixel display. To emulate this one you might need to have both Intel 8021 and TI TMS1100 cores. Hartung Game Master, with 64x64 pixel display. This one is already emulated by MESS in case you want to consult a reference implementation


12

Because it was an acceptable way to show damage Remember who's playing these games. Primarily it was children. Games back then were entirely aimed at children (or at least young people). With that in mind, some way of showing damage without graphic imagery became necessary. As a counter-example, consider Barbarian which had more graphic depictions of ...


11

[TL;DR] vertical rastersplit with different graphic modes is possible with some quirks, in practice one would rather write characters onto a full hires image. I did some experiments, and found out that it is possible for the VIC chip to switch mode within a rasterline. However a practical application is hindered by the following issues: Every 8th ...


11

The Nokia 3310 had a monochrome screen resolution of 84x48, and the game Snake II:


11

In DOS world in the golden age of VGA (early to mid 90s), by far the easiest and most popular way to do graphics was the famous Mode 13h, a 320x200 pixel linear 256-color paletted video mode. The closest you would get to a standard video API was BIOS interrupt 10h, giving access to a handful of functions including switching the video mode and configuring the ...


10

Basically all early 68k Home Computers (Classic Mac, early Atari ST, Sinclair QL) would update the display using the CPU only. The Amiga with its Blitter Chip was an exception (somewhat copied by the Atari ST when that one later on got a - simpler - Blitter). Without support from specific graphics or DMA chips, there were still some ways to speed up ...


10

Your code is correct; a yellow prompt means that you’re using the red/green/brown palette. However, to get the low intensity variant, you also need to call interrupt 10h service 0Bh with BX set to 0 (black background, low intensity; strictly speaking, you can have any background — the bottom four bits, 3–0 — and the fifth bit, bit 4, controls the intensity; ...


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