--- /dev/null
+ SECT JUGGLE\r
+/ SUBROUTINE JUGGLE(OBJECT)\r
+/ C\r
+/ C JUGGLE AN OBJECT BY PICKING IT UP AND PUTTING IT DOWN AGAIN, THE PURPOSE\r
+/ C BEING TO GET THE OBJECT TO THE FRONT OF THE CHAIN OF THINGS AT ITS LOC.\r
+/ C\r
+/ IMPLICIT INTEGER (A-Z)\r
+/ COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG\r
+/ DIMENSION ATLOC(150),LINK(200),PLACE(100),FIXED(100)\r
+/ \r
+ EXTERN MOVE\r
+ JA #ST\r
+#XR, ORG .+10\r
+ TEXT +JUGGLE+\r
+#RET, SETX #XR\r
+ SETB #BASE\r
+ JA .+3\r
+#BASE, ORG .+6\r
+OBJECT, ORG .+3\r
+I, ORG .+3\r
+J, ORG .+3\r
+#TMP, ORG .+3\r
+HUND, F 100.0\r
+ ORG #BASE+30\r
+ FNOP\r
+ JA #RET\r
+ FNOP\r
+#GOBAK, 0;0\r
+ #LBL=.\r
+ COMMON PLACOM\r
+ATLOC, ORG .+0702\r
+LINK, ORG .+1130\r
+PLACE, ORG .+454\r
+FIXED, ORG .+454\r
+HOLDNG, ORG .+3\r
+ ORG #LBL\r
+#RTN, BASE #BASE\r
+ JA #GOBAK\r
+#ST, STARTD\r
+ 0210\r
+ FSTA #GOBAK,0\r
+ 0200\r
+ SETX #XR\r
+ SETB #BASE\r
+ LDX 0,1\r
+ FSTA #BASE\r
+ FLDA% #BASE,1+\r
+ FSTA OBJECT\r
+ STARTF\r
+ FLDA% OBJECT\r
+ ATX 7\r
+/ I=PLACE(OBJECT)\r
+ FLDA PLACE-3,7\r
+ FSTA I\r
+/ J=FIXED(OBJECT)\r
+ FLDA FIXED-3,7\r
+ FSTA J\r
+ STARTD\r
+/ CALL MOVE(OBJECT,I)\r
+ FLDA OBJECT\r
+ FSTA #G1\r
+ STARTF\r
+ JSR MOVE\r
+ JA .+6\r
+#G1, JA .\r
+ JA I\r
+/ CALL MOVE(OBJECT+100,J)\r
+/ RETURN\r
+/ END\r
+ FLDA% OBJECT\r
+ FADD HUND\r
+ FSTA #TMP\r
+ JSR MOVE\r
+ JA #RTN\r
+ JA #TMP\r
+ JA J\r