[TUHS] Blit source

Paul Ruizendaal pnr at planet.nl
Mon Dec 16 21:06:12 AEST 2019

> Date: Sun, 15 Dec 2019 22:17:53 +0100
> From: Angelo Papenhoff <aap at papnet.eu>
> On 15/12/19, Paul Ruizendaal wrote:
>> I’m aware of this emulator:
>> https://github.com/aap/blit <https://github.com/aap/blit>
> This is only a port to unix I did. The original one was written by aiju.
> The upstream version (which is in fact more up to date) is part of the 9front repo:
> https://code.9front.org/hg/plan9front/file/5003ea45cc4d/sys/src/games/blit
> Aiju reverse engineered the hardware from the source code on the second tape:
> https://www.tuhs.org/Archive/Distributions/Research/Dan_Cross_v8/v8jerq.tar.bz2

Thanks! The “blit” directory in that archive indeed appears to be what I’m looking for. Hopefully it has enough to enable rebuilding from source.
> I don't know how complete it is and I think the compiler is also not
> included, but I'm not too sure how it all worked.

From a quick inspection there appears to be a subdirectory “m” with motorola tools. It appears to have a M68K pcc-based compiler. It also has this README file:

the source for /usr/blit/lib/ccom has been lost.
the source here (Mip and Mcc) is for a compiler that does not generate
the correct symbol tables for joff and pi.
we wish we had the source, but we don't, so the binary is precious.
please handle it with care.

if you decide you need to recompile ccom, contact us.
we may have found a solution by then...

The “bin” directory has that ccom binary. It suggests that there once was a M68K compiler that derived from the Ritchie PDP11 compiler. I assume that the source for that has stayed missing ever since 1985.

> On 16 Dec 2019, at 07:25, emanuel stiebler <emu at e-bbes.com> wrote:
> On 2019-12-15 21:45, Paul Ruizendaal wrote:
>> I’m looking for source code of the original Blit as described here:
>> http://doc.cat-v.org/bell_labs/blit/blit.pdf
> Thanks for trying again. It pops up on this list every few years, but
> still no schematics (2002, 2012) …

It would seem that the circuit was intentionally simple and straightforward: a M68K cpu, ram, rom, two 6850 UARTS and the circuit to drive the display. The key aspects of the video circuitry (and mouse circuitry) are discussed in this paper:
https://9p.io/cm/cs/doc/87/archtr.ps.gz ("Hardware/Software Tradeoffs for Bitmap Graphics on the Blit”).

It would seem to me that doing a version of the Blit that runs on a FPGA board and generates 720p HDMI output would not be impossible to do, if the software can be configured to deal with a different geometry (e.g. 1024x720 instead of 800x1024). Whether that would be much different from running the emulator on a PC remains unclear, of course.

More information about the TUHS mailing list