playgogo

Fps2bios

From the "FPS2BIOS Victims List" (a webring page circa 2000):


The core pixel-replacement routine of FPS2BIOS v1.0 (NASM syntax):

; Original BIOS INT 10h, AH=0Ch (Write Pixel) - ~140 cycles
; FPS2BIOS replacement - ~18 cycles

new_int10h: cmp ah, 0Ch ; Is this a write pixel call? jne old_bios ; If not, jump to original handler push es mov ax, 0xA000 ; VGA segment address mov es, ax mov di, cx ; X coordinate mov ax, dx ; Y coordinate shl ax, 8 ; Quick multiply Y*320 (approximate) add di, ax mov al, bh ; Color value stosb ; Write directly to linear frame buffer pop es iret fps2bios

Note: The approximation Y*320 without proper multiplication led to the "snow" artifact in early versions. From the "FPS2BIOS Victims List" (a webring page

The name FPS2BIOS is a portmanteau of:

The project was initiated in 1998 by an anonymous Hungarian coder using the pseudonym vDosHell. According to archived text files from the Defacto 2 BBS, vDosHell was frustrated with the software rasterizer in Quake 1 running on S3 Trio64V+ graphics cards. By intercepting the BIOS’s screen drawing commands (e.g., INT 10h, AH=0Ch – Write Pixel), he replaced them with a linear frame buffer (LFB) writing routine that bypassed legacy VGA port I/O, yielding a 15-20% performance gain. The core pixel-replacement routine of FPS2BIOS v1


FPS2BIOS (commonly stylized as fps2bios) is a discontinued, low-level system utility developed in the late 1990s for x86-based personal computers running Windows 95, 98, and Millennium Edition (Me). Unlike conventional software that operates within the operating system’s protected memory ring (Ring 3), FPS2BIOS executed proprietary routines by directly invoking and manipulating the system’s Basic Input/Output System (BIOS) interrupts and, in some advanced versions, the AGP (Accelerated Graphics Port) aperture.

The utility’s primary goal was to artificially increase the frame rate (FPS) in 3D games (specifically Quake, Unreal, and early DirectX 6 titles) by hijacking the VGA/SVGA BIOS interrupt (INT 10h) and substituting hardware-accelerated raster operations with optimized, albeit unstable, microcode patches. While technically brilliant, FPS2BIOS gained infamy for corrupting video BIOS chips and causing permanent motherboard damage, leading to its swift abandonment after the release of Windows 2000 and stable graphics drivers from NVIDIA and ATI.