Image Map Image Map
View RSS Feed

All Blog Entries

  1. Square Raycast

    Magenta's Maze is a tile-based 3D game but the first version supported general 3D objects and used C's qsort() to depth sort objects by their first vertex value. Although this was flexible, it was unnecessary (again: tile-based) and slow! In redesigning it for assembler, I did away with the generalized 3D. One can still paint 3D objects but the caller must decide the order in which to paint them, rather than the engine accepting an arbitrary amount of objects, polygons, and vertices then figuring ...
    Categories
    3D
  2. Sine here for 7 Bits

    It's time to take the time to make a post to mark my progress. Previously I had mentioned doing sine and cosine multiplications using fixed-point, specifically 10-bit so that the whole unsigned fraction could fit in a single byte. I thought this would be sufficient and it was but it also turned out to still be more than necessary. On top of that, using word multiplications ties up a lot more registers.

    So I did two things: first I dropped down to using a single byte to store the entire ...

    Updated June 5th, 2017 at 04:02 PM by neilobremski ((deleted unused attachment ... apparently larger dimensions cause GIF to be converted to JPG on this blog))

    Categories
    3D
  3. SIMON BUTLER's take on TOTAL RECALL | It's a Pixel THING - Ep. 118b

    To end Season 3 and to conclude my Total Recall episode, here's an insight from the guy that saved the game and even Ocean from failure:

    SIMON BUTLER's take on TOTAL RECALL | It's a Pixel THING - Ep. 118b

    Updated June 20th, 2017 at 08:30 AM by PixelTHING

    Categories
    Uncategorized
  4. Fast 16-bit ABS() in X86 Assembler

    I was reading a StackOverflow post on writing an absolute value function in assembler [1] and while the no-branching idea is exciting, I was sad that no 16-bit version was listed. The problem with converting the 32-bit assembler had to do with all of the crazy shifting, which is quite slow on the 8088 if you're doing more than a couple of bits in either direction. The no-branching concept is thus:

    Code:
    abs(x) = (x XOR y) - y
    Where y = 0xFFFF if x is negative and y = 0x0000 ...

    Updated June 5th, 2017 at 03:35 PM by neilobremski

    Tags: assembler, math Add / Edit Tags
    Categories
    Asm
  5. Radio Shack archives auction

    Wow, thanks for posting this info. Apparently the shipping could be an issue on some items and the 36 day to close is a little long.
    Things like the acoustic coupler will be interesting to follow.

    I am planning on going to the local store in about an hour for a "special event" this morning.
    Categories
    Uncategorized