[Simh] BLISS ( was Re: 101 Basic Games for RSTS/E (was Re: PDP11 on Simh for public access))

Hunter Goatley goathunter at goatley.com
Fri Jan 26 16:49:00 EST 2018


On 1/26/2018 3:28 PM, Timothe Litt wrote:

> Sounds right.  The -16 and -36 versions stayed with the native backend 
> and didn't get much attention once GEM took off.  At least, I don't 
> recall GEM support for them.

I believe that's correct.

> Alpha pretty much repeated the VAX route (plus the stupid mistake of 
> splitting the VMS sources).  It cross-compiled from VAX to simulation,

I was porting a lot of freeware from VAX to Alpha when all that was 
available were the cross-compilers. The BLISS cross-compiler was great, 
but the early C cross-compilers were more problematic.

> All three (CMU ,BLISS, GEM) back ends used considerable creativity in 
> interpreting the instruction sets, and as time went on gave hand-coded 
> assembler a run for its money.  They especially liked to do 
> computations with bizarre-looking address calculations.  (Not all of 
> which ran fast on all processors.) In one case, a particularly 
> "clever" encoding of a test on a link-time constant broke RMS on an 
> unreleased VAX CPU. Interestingly, this one instruction was the ONLY 
> time this construct was encountered in all of VMS (including the top 
> dozen layered products), so waiting for the hardware spin wasn't as 
> bad as it might have been.

I vaguely remember hearing about that.

BLISS-32 on VAX generated some amazing optimizations. Before I got into 
BLISS, I programmed almost exclusively in MACRO-32, and it was fun to 
compare code I wrote to the assembly code generated by the BLISS 
compiler. Several times, I encountered generated code that was a lot 
more efficient than the code I wrote, which I thought was very 
efficient. I learned a few MACRO tricks looking at the code generated. 
It was less fun trying to understand the GEM output for Alpha. ;-)

> Every time I do handstands with C #if/#define I still wish for BLISS 
> %if and %macro.  (I once had to port a few 100K lines of my BLISS code 
> to C on a 68000, and even with automation, converting macros and 
> keyword initialized data structures to C was a painful exercise in 
> devolution by obfuscation...)

Yes, the BLISS macros and lexicals are awesome, and it also kills me 
that C never had them.

Hunter

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20180126/e4c4d49d/attachment.html>


More information about the Simh mailing list