4 ms·
Slight tangent, but: I first encountered a function named BitBlt when using the Win32 C API a long time ago. I had no idea that it originated in Smalltalk-72 in
by zackangelo 6y ago
Slight tangent, but: I first encountered a function named BitBlt when using the Win32 C API a long time ago. I had no idea that it originated in Smalltalk-72 in 1975 and the function name was just carried forward into the Windows API.
- johndoe0815 6y agoBitBlt was also used as the drawing primitive for an early graphics terminal developed at Bell Labs, the appropriately named "Blit" (https://en.wikipedia.org/wiki/Blit_(computer_terminal) https://en.wikipedia.org/wiki/Blit_(computer_terminal). Hardware implementations of BitBlt were available in the Amiga and Atari ST blitter chips (that's how I learned about BitBlt in the late '80s). Btw., there's a nice paper on BitBlt by Rob Pike: https://pdos.csail.mit.edu/~rsc/pike84bitblt.pdf https://pdos.csail.mit.edu/~rsc/pike84bitblt.pdf
- pinewurst 6y agoA very long time ago, I ported Smalltalk to Windows and had to map Smalltalk BitBlt to Win32 BitBlt.
- johndoe0815 6y agoI had a quick look at the Win32 BitBlt API and it seems to be quite similar. Can you remember how much work was actually involved in mapping the Smalltalk primitives to Win32?
- pinewurst 6y agoI probably shouldn't have described it quite like that. This was in the days of Windows 2 (1988 or so) and I was hacking PPS Smalltalk to support larger, non-VGA displays. I ran the VM in 386 protected mode, because it needed large memory, where it blt-ed to an upper memory frame buffer. This was sort of a "bounce buffer" which in turn was blt-ed onto a Windows canvas by my Windows app which also reflected input events up to the VM. Bill Gates was impressed when he saw a demo (or so I was told). Of course, he didn't realize the level of hackery involved to make it happen.