Steve Dompier's coding...
Pete Lancashire
pete at petelancashire.com
Wed May 4 13:30:06 CDT 2016
Reminds me of a challenge I had in the early 80's The place I worked
made IC test and evaluation systems, starting price in 1980 was around
$300K and many where close to $1.5 million. This one was for IBM. They
were designing a 288K bit ram and one thing they wanted was to be able
to 'see' failed bits as parameters such as supply voltage were
changed. If you looked at the die it was 9 'squares' of i think 128 x
256 ( i think that was the size) cell or bits. The 9 th was for
parity. The memory was read by the system and a 0 or 1 was stored in a
buffer in the system. The system was run by a PDP11/44 the display was
a Tektronix GMA125 with option 42/43. The GMA 125 was the OEM display
used in the 4116, a 25" DVST terminal. Option 42/43 was feed from a
DR11. The 42/43 could be driven in Tek 401x format (that's the same
you still see today when you put your X11 display into Tek mode) which
had a point plotting set of commands.
So one had to read in a loop this external memory which came back in
some long forgotten 16 bits per something mode, calculate the position
of the 'bit' which was in memory block x and position x and y in each
block and either display a dot or plus or something at the respective
location on the CRT. Doing it all in some time IBM wanted it done in
.. loops within loops within loops and finally a test for 1 or 0 and
out the DR11W.
The only way I could get the code to meet IBM speed requirement was to
do the unthinkable. Upon start the inner most work that was test for
'display if zero' or display if one' was modified to be branch of true
or branch if false.
Sometimes you just have to violate all the rules. Other fun things
were using shifting bits and using indexing for some of the coordinate
translations.
oh well when every instruction time made a difference.
it was challenging but fun
-pete
On Wed, May 4, 2016 at 9:56 AM, Bill Sudbrink <wh.sudbrink at verizon.net> wrote:
> I took a peek at the access logs for the Cromemco Dazzler
> files that I recently put up on my web server. I'm
> gratified to see that a lot of people are taking advantage
> of the availability of these documents, that have not
> recently (if ever) been easily available on the web. I
> also see that a lot of people took the Dazzlemation HEX
> file and the Magenta Martini paper tape image, presumably
> to run on Udo Monk's great Windows Cromemco Z1 simulator.
>
> Also, thanks to everyone that generated pdf files for me!
>
> One thing I noticed is that not many people looked at the
> disassembly of Dazzlemation. If you are an 8080 or Z80
> programmer (or any 8-bitter for that matter) I really
> recommend that you take a look, it's a real treat. I'm
> reliably informed that Mr. Dompier hand wrote that program
> LITERALLY (hand, pencil, paper), no editor, no assembler.
> He then toggled it in (or maybe raw keyed it in with a
> primitive ROM monitor) and went through a few iterations of:
>
> 1) store to paper tape
> 2) modify in memory
> 3) test
> 4) go to 1
>
> It's neat to see some of the "tricks" he used and also the
> level of sophistication of the code. It does a lot of
> stuff in not a lot of bytes. Also, here and there, in
> "dead" areas, you can also see the debris of ideas that he
> started and then abandoned.
>
> Bill S.
>
>
>
More information about the cctech
mailing list