[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

205.0. "GT40 Moonlander" by VAXUUM::DYER () Tue Feb 18 1986 15:56

			The following used to be notes in Topic #130.  Since
		Topic #130 was corrupted, they were extracted and brought here.
				<_Jym_>

================================================================================
 BLOTT::WARWICK                     HACKERS                  24-JUN-1985 03:28
 Note 130.0                      GT40 Moonlander                    8 responses
--------------------------------------------------------------------------------

	Just out of interest, does anyone know who wrote the GT40 Moonlander
program ? Does he still work for Digital ? I came across it at University
while we were all struggling with a project to write a Pinball game for the
GT40. That was bad enough, so we were all fairly impressed with the Monnlander.

Trevot

================================================================================
 SNOV15::QUODLING                   HACKERS                  24-JUN-1985 21:04
 Note 130.1                      GT40 Moonlander                         1 of 8
--------------------------------------------------------------------------------

The Start of the Lunar Lander listing says,

	MOONLANDER FOR THE GT40 TERMINAL, FIRST EDITION.
		LEM.090,	FEBRUARY 25, 1973	5:55 PM
	WRITTEN BY JACK BURNESS.
			FOR FANTASTIC PROGRAMS AT REASONABLE PRICES,
		OR EXPERT CONSULTING DONE IN EVERY PHASE OF SYSTEM
		DESIGN AND IMPLEMENTATION, WRITE
			JACK BURNESS
			P.O. BOX 411
			MATNARD, MASS.
					01754.
------

While on the subject of GT40's we have two here which we are setting up as 
display units in a museum. One of the problems is having to reload from paper 
tape whenever the screen gets cluttered, or the image get's corrupted. Does 
anyone have any code for Down line loading/boot of a GT40 from a Vax. I 
started on it once but the Gt40 does something funny with 6 bit words on it's 
comms port which confused me.

Peter Q.

================================================================================
 REX::MINOW                         HACKERS                  25-JUN-1985 08:46
 Note 130.2                      GT40 Moonlander                         2 of 8
--------------------------------------------------------------------------------

The GT40 loader was designed to down-line load programs over a
terminal line.  It encodes 3 8-bit bytes into 4 six-bit characters
(I think the six-bit char's then are in the range 32-95).  I think
the format is
  Transmitted	Received
	1	Bits 0-5 of byte 1
	2	Bits 6-7 of byte 1, bits 0-3 of byte 2
	3	Bits 4-7 of byte 2, bits 0-1 of byte 3
	4	Bits 2-7 of byte 3

good luck.

Martin.

================================================================================
 SANFAN::HAYESJO                    HACKERS                  25-JUN-1985 17:43
 Note 130.6                      GT40 Moonlander                         6 of 8
--------------------------------------------------------------------------------

Ahh, memories...

At Grinnell College we had a GT42, which, as I remember, was identical
to a GT40 except that it had an 11/10 instead of the 11/05.

My favorite variations of the moonlander game -

	If you preserve enough fuel, you can get the LEM going to the
	right at a pretty high rate of speed.  You will pass through
	the tunnel through the mountain and then the 11/10 will crash.

	Every now and then along the surface of the moon there are little
	buttes that you can land on.  There's an especially challenging
	one near the base of the mountain.

	We used to have a contest to see who could leave the biggest
	crater closest to MacDonalds without actually destroying the
	restaurant.

	If you try to land the LEM in the tunnel, the LEM disappears
	from  the bottom of the screen and dust appears at the top of
	the display (so you're landing "blind").  But you CAN land...

And it's always fun to burn flags...

Tom Dahl and I stayed awake an entire spring break one year to write
a Star Trek game for the GT42.  I still have it on our 11/44, if
anyone would like to try it out...

John Hayes (@SANFAN::HAYESJO)

================================================================================
 SANFAN::HAYESJO                    HACKERS                  25-JUN-1985 17:46
 Note 130.7                      GT40 Moonlander                         7 of 8
--------------------------------------------------------------------------------

RE: .6

	Sorry, I mean, go to the LEFT at a high rate of speed.  Also,
	you have to remain in the "close-up" frames in order to pass
	through the tunnel...

John

================================================================================
 BLOTT::WARWICK                     HACKERS                  26-JUN-1985 03:48
 Note 130.8                      GT40 Moonlander                         8 of 8
--------------------------------------------------------------------------------

	There was also the trick of halting the CPU, and depositing a large
positive number in location 150 (or 300, I forget...), which gave you a 
lot of fuel to play with !

	On the subject of the down-line loader, I used a VT-11 attached to
an 11/40, and also to an 11/20. There was some magic location that you started
the processor from, and it came up in a terminal emulation mode,
so that you could connect to the KL10 and down-line load your program (written
using MACY11, of course). 


Trevor

================================================================================
T.RTitleUserPersonal
Name
DateLines
205.1Tunnel, hell...go over the top!SKYLAB::FISHERMon Feb 24 1986 12:3010
    By the way, you can also land to the left of the mountain by going
    up and over, but you must be VERY stingy with fuel.
    
    I never knew about the tunnel.  In fact I am surprised that it could
    exist.  The surface data structure, as I recall, consisted of just
    a set of heights of the surface (may have been delta height).  That
    would not allow a tunnel.  Is there special casing in the code?
    I don't remember seeing it.
    
    Burns
205.2The GT40 bootstrapRAJA::MINOWWhy are manhole covers round?Tue Feb 25 1986 13:4896
I think the following was lost in the transition from old to new notes.

-----

A while back in some notesfile (CTNOTES or the somewhat belly-up
HACKERS), someone was asking for the GT40 down-line loader format.
It is just the standard PDP-11 absolute loader.  However, it uses
six-bit data (ignoring random carriage-returns).

While cleaning out my office, I came upon a paper copy of the
bootstrap.  The relevant parts follow the form feed.  Note that
I'm just typing them in -- and haven't assembled or tested them.

This was taken from Jack Burness's GT40 bootstrap, "BOOTVT S09"
Copyright 1973, 1974, Digital Equipment Inc.

With hope that this reaches the requestor...

Martin.

;
; GET8 gets an eight-bit byte (absldr calls it to read binary data):
; Uses r2, r4 (permanently).  Returns the 8-bit byte in r0.
;
get8:	jsr	pc,getsix		; Get a six-bitter
	mov	r0,-(sp)		; save
	br	getp84			; and off we go
;
; GET84 is entered when the "which byte" counter overflows
get84:	clr	r2			; reset the counter
getp84:	tst	(r2)+			; next position
	add	get8tb-2(r2),pc		; off we go.
;
; Dispatch table, don't move it.
get8tb:	.word	get81-get8tb
	.word	get82-get8tb
	.word	get83-get8tb
	.word	get84-get8tb
;
get81:	jsr	pc,getsix		; get a character now
	mov	r0,r4			; save for a second
	asl	r0
	asl	r0			; shift to left of byte
	aslb	r0
	rolb	@sp			; pack them in
	aslb	r0
	rolb	@sp			; a good 8 bit thing
	mov	(sp)+,r0		; pop and return now
	rts	pc
;
get82:	asl	r0			; worst case, shift 4
	asl	r0
	aslb	r0
	rolb	r4
	aslb	r0
	rolb	r4
	aslb	r0
	rolb	r4
	mov	r4,r0
	mov	(sp)+,r4
	rts	pc
;
get83:	rol	r0
	rol	r0
	ror	r4
	rorb	r0
	ror	r4
	rorb	r0			; final character assembled
	tst	(sp)+			; fudge stack
	rts	pc
;
; Getsix gets one byte from the DL11E
;
getsix:	jsr	pc,getkb		; Any traffic to host?
	tstb	@#DLICSR		; Any traffic from host?
	bpl	getsix			; Loop until we have work to do
	jsr	r5,getbyt		; Get the byte
	  br	getsix			; Ignore <cr>, etc.
	rts	pc			; And return
;
; Getbyt is called from interrupt and non-interrupt modes to obtain
; one byte and strip off garbage.  Result in r0.  Return:
;	 (r5)	if the byte is not alphanumeric
;	2(r5)	if the byte is alphanumeric.
;
getbyt	mov	@#DLIBUF,r0		; Get the byte from the DL11E
	bic	@#177600,r0		; Remove junk and parity
	cmpb	r0,#137			; Is it too big?
	bhi	1$			; If so, return to (r5)
	cmpb	r0,#40			; Is it too small
	blo	1$			; Return to (r5) if so.
	tst	(r5)+			; Alphanumeric, return to 2(r5)
1$:	rts	r5			; Exit.
	.end


205.3taBUNYIP::QUODLINGKnown to most as Q.Wed Feb 26 1986 02:135
        Twas me that asked, Martin. And your response is gratefully
        appreciated. As one of my favourite SF authors would say, "You
        are a blinding flash and a deafening report". 
        
        Ta. Qz
205.4Tunnels, races, IFRMOSAIC::CAMPBELLFri Mar 07 1986 16:0511
    Re .1:  there was indeed a tunnel, but the only way I could ever
    fly all the way through was by cheating (loc 150).
    
    You can indeed land on the left of the mountain, but it's pretty
    tricky.  After many many hours of practice I was only able to do
    it successfully one out of three tries.
    
    Another game we used to play (at MR1) was to see who could land
    at McDonald's in the smallest amount of elapsed time.  A variation
    on this was to fly on instruments -- we had a piece of cardboard
    cut out to conceal the picture but show the instruments.
205.5John Mucci paid for the originalENGGSG::GROLLMANGSG Systems EngineeringMon Mar 24 1986 03:5216
	Although he might have been pulling my leg, John Mucci (currently 
LDP group manager?), claims to have been the one to pay for the production 
of the "lunar lander" program. It was originally (and quite successfully) 
used to demonstrate what could be done with the GT4x hardware and later the 
VT11 and VS60. The return on investment analysis could probably be gotten 
out of John.

	The work was done as noted by the contractor in the comments and 
many others have had fun and learned by hacking at the code.

	From what I remember of the sources, the tunnel effect disappeared 
in the move from 16 to 18 bit addressing or was it from 18 to 22 bit? I 
haven't personally hacked at it since 1976 at Naval Research Labs while 
making it drive a fast graphics display (old Megatek Whizzard?).

Regards, Ira Grollman (GSG Systems Engineering)
205.6"Tunnel" in MOONLANDERSSDEVO::LARYWed Jul 23 1986 20:459
As I remember, the tunnel was caused by a program bug - if you were going fast
enough, you could fool the collision detector. At that point MOONLANDER was
scanning through random memory interpreting the bits as a map of the terrain.
It crashed when it got into NXM territory.....

Jack Burness is at Masscomp and is the person who designed the software for
their graphics processor.
							Richie

205.7Is the moonlander source around?REGENT::MINOWMartin Minow -- DECtalk EngineeringWed Nov 05 1986 13:578
Does anyone have the Moonlander source lying around gathering dust
on a disk somewhere?

You see, I just bought this Atari 1040ST and it has a good graphics
display, and...

Martin.

205.8not on disk, but...HAYNES::GUENTHERWed Nov 05 1986 14:336
    I have a listing if you want to type it in.  You realize it is pdp-11
    macro, and uses the GT40 display processor.
    
    Is there no "product" like it for micros?
    
    								/alan
205.9The good old daysYALI::LASTOVICANorm LastovicaWed Nov 05 1986 23:082
    RE: .-1
    	But there is HISTORY at stake here!
205.10One big network -- it works.REGENT::MINOWMartin Minow -- DECtalk EngineeringThu Nov 06 1986 01:4111
So Peter Quodling walked into my office today, coping with being
right-side up (and not in the Australian springtime) quite well.

Moonlander?  Of course I've got it.  SET HOST to Australia and
set the protection.  The blast off a 24,000 mile $COPY.

Mail to me if you want a copy.  J. F. Mucci did hack on the sources
to force a "logout" down the throat of the remote host.

Martin.

205.11hmmASIA::MCLEMANEnjoy Oregon Wines!Thu Nov 06 1986 10:255
    There's a pascal version somewhere, but was written to VAX/VWS
    graphics,and runs on VAXstations.
    
    Jeff
    
205.12Macro is not a high-level languageREGENT::MINOWMartin Minow -- DECtalk EngineeringThu Nov 06 1986 11:227
A pascal version would be nice to look at -- Jack Burness' code (and the
GT40 display list hacking) isn't exactly easy to follow.

Pointers to the code would be greatly appreciated.

Martin.

205.13PointersERIS::CALLASO jour frabbejais! Calleau! Callai!Fri Nov 07 1986 14:2919
    Here's a pointer to the black and white DEClander. Color was added
    by Mike (STAR::) Rosenblum, and the executable is part of the VWS
    V3 demo kit, which can be found on BULOVA::VWS$KIT:VWSDEMO030.A
    as a VMSINSTAL save set.
    
    	Jon
    
              <<< STAR::DISK$SYSKITS:[NOTES$LIBRARY]VWS.NOTE;2 >>>
                          -<  MicroVAX Workstations  >-
================================================================================
Note 975.2                    Moon Lander Program?                        2 of 2
ADVAX::C_YOST                                         3 lines   7-NOV-1986 08:20
                                     -<   >-
--------------------------------------------------------------------------------

    look in JACOB::USER1:[VAXSTATION.UVMS.VWS020.GAMES.DECLSRC]
    
    clay