Image Map Image Map
View RSS Feed

All Blog Entries

  1. The Great DIVide

    The DIV and IDIV instructions perform integer divisions simply and relatively quickly as opposed to creating a simple loop. Let me start by showing how one could divide an integer without these instructions. The following assembly function (CALL 110) will divide BX by CX and put the quotient in AX:

    0110 31C0	XOR     AX,AX
    0112 39CB	CMP     BX,CX
    0114 7206	JB      011C
    0116 40  	INC     AX
    0117 29CB	SUB     BX,CX
    0119 EBF7	JMP     0112
    Tags: assembler, debug, x86 Add / Edit Tags
  2. ASCII / BIOS Character Graphics

    Even back on the original IBM PC you could get read-only access to the glyph pixel data for the standard ASCII character set, extended ASCII, and control characters with codes less than 32 (0x20) [1].

    Each character glyph is 8 bytes where every byte represents a row and every bit represents a column. The horizontal bits start in the most significant bit, so the font pixel for column 0, row 0 is bit 7 in byte 0 which follows the style for monochrome graphics modes.

    The ...
    Tags: assembler, bios, cga, dos Add / Edit Tags
  3. DDA Texture Mapping [Part 1]

    I am learning and working on a quadrilateral DDA texture mapper for CGA that uses the 8x8 monochrome BIOS characters for texels, for use in an optimized version of Magenta's Maze. Reading Mats and Abrash's tutorials [1] have given me new insights and I have fought not to scrap my triangle/line routines just yet until I make this next step.

    Stepping is really the name of the game: adding the deltas found by linear interpolation. It has been difficult to integrate the term interpolate ...

    Updated April 17th, 2017 at 03:46 PM by neilobremski

  4. The Complete Story of LucasArts (Part II - Final) | It's a Pixel THING - Ep. 116

    Here's the conclusion of #PixelTHING's Complete Story of Lucasfilm Games / LucasArts!
    Let's take a look at the last 22 years of LucasArts gaming history!

    The Complete Story of LucasArts (Part II - Final) | It's a Pixel THING - Ep. 116

    Updated April 19th, 2017 at 01:54 AM by PixelTHING

  5. 2D Outline of 3D Shape

    The goal here is to draw lines around the outside of a 3D rendered shape. For my purposes, all 3D to 2D rendering is done via triangles. The reason triangles are so awesome for 3D is that every triangle is always co-planar (flat) and the three points can be rearranged in any order. The method I've created works on projected triangles only, those that have already been converted from 3D to 2D and thus have only two axes: X and Y.

    First I need to explain how the shapes are represented ...