X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Fadventure%2Fsrc%2FJUGGLE.RA;fp=sw%2Fadventure%2Fsrc%2FJUGGLE.RA;h=516cde44944690fd6e14432f624f3869a43226ae;hb=81e70d488b71bf995c459ca3a02c025993460ffa;hp=0000000000000000000000000000000000000000;hpb=07ec0278333ed187ac242dedcff13c56cf1b0b91;p=pdp8.git diff --git a/sw/adventure/src/JUGGLE.RA b/sw/adventure/src/JUGGLE.RA new file mode 100644 index 0000000..516cde4 --- /dev/null +++ b/sw/adventure/src/JUGGLE.RA @@ -0,0 +1,76 @@ + SECT JUGGLE +/ SUBROUTINE JUGGLE(OBJECT) +/ C +/ C JUGGLE AN OBJECT BY PICKING IT UP AND PUTTING IT DOWN AGAIN, THE PURPOSE +/ C BEING TO GET THE OBJECT TO THE FRONT OF THE CHAIN OF THINGS AT ITS LOC. +/ C +/ IMPLICIT INTEGER (A-Z) +/ COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG +/ DIMENSION ATLOC(150),LINK(200),PLACE(100),FIXED(100) +/ + EXTERN MOVE + JA #ST +#XR, ORG .+10 + TEXT +JUGGLE+ +#RET, SETX #XR + SETB #BASE + JA .+3 +#BASE, ORG .+6 +OBJECT, ORG .+3 +I, ORG .+3 +J, ORG .+3 +#TMP, ORG .+3 +HUND, F 100.0 + ORG #BASE+30 + FNOP + JA #RET + FNOP +#GOBAK, 0;0 + #LBL=. + COMMON PLACOM +ATLOC, ORG .+0702 +LINK, ORG .+1130 +PLACE, ORG .+454 +FIXED, ORG .+454 +HOLDNG, ORG .+3 + ORG #LBL +#RTN, BASE #BASE + JA #GOBAK +#ST, STARTD + 0210 + FSTA #GOBAK,0 + 0200 + SETX #XR + SETB #BASE + LDX 0,1 + FSTA #BASE + FLDA% #BASE,1+ + FSTA OBJECT + STARTF + FLDA% OBJECT + ATX 7 +/ I=PLACE(OBJECT) + FLDA PLACE-3,7 + FSTA I +/ J=FIXED(OBJECT) + FLDA FIXED-3,7 + FSTA J + STARTD +/ CALL MOVE(OBJECT,I) + FLDA OBJECT + FSTA #G1 + STARTF + JSR MOVE + JA .+6 +#G1, JA . + JA I +/ CALL MOVE(OBJECT+100,J) +/ RETURN +/ END + FLDA% OBJECT + FADD HUND + FSTA #TMP + JSR MOVE + JA #RTN + JA #TMP + JA J