
How are BitBlt raster opcodes calculated? (2018) - userbinator
https://devblogs.microsoft.com/oldnewthing/20180528-00/?p=98845
======
Sniffnoy
This just seems so crazy, that one would compute a three-input boolean
function by first describing instructions for computing it in this peculiar
format, and then executing those instructions, rather than just doing some
simple bit operations to perform a "table lookup"! I wish he went into the
rationale in more detail at the end.

~~~
pjc50
It's effectively a very early version of what we would do with "shaders" today
- a massively repeated operation across an entire bitmap. Targeting the 16-bit
single-processor era of 4MHz machines with 1MB RAM.

A more modern version might be some sort of AVX filter-instruction generator.
Although these days we try to avoid letting the CPU dirty its hands with
bitmaps and leave them to the GPU.

The Windows documentation for BitBlt dates it to Windows 2000, which is
definitely wrong. I wonder if anyone has a 3.0 or even 1.0 API reference lying
around?

~~~
mschaef
> The Windows documentation for BitBlt dates it to Windows 2000, which is
> definitely wrong. I wonder if anyone has a 3.0 or even 1.0 API reference
> lying around?

Check page 116 of this:
[http://www.os2museum.com/files/docs/win10sdk/windows-1.03-sd...](http://www.os2museum.com/files/docs/win10sdk/windows-1.03-sdk-
prgref-1986.pdf)

It was there from the beginning, as you might have expected.

------
abductee_hg
kinda related:
[http://www.pouet.net/topic.php?which=11672&page=1](http://www.pouet.net/topic.php?which=11672&page=1)

