A large commit.
[pdp8.git] / sw / adventure / work / JUGGLE.RA
CommitLineData
84b5715c
PH
1 SECT JUGGLE\r
2/ SUBROUTINE JUGGLE(OBJECT)\r
3/ C\r
4/ C JUGGLE AN OBJECT BY PICKING IT UP AND PUTTING IT DOWN AGAIN, THE PURPOSE\r
5/ C BEING TO GET THE OBJECT TO THE FRONT OF THE CHAIN OF THINGS AT ITS LOC.\r
6/ C\r
7/ IMPLICIT INTEGER (A-Z)\r
8/ COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG\r
9/ DIMENSION ATLOC(150),LINK(200),PLACE(100),FIXED(100)\r
10/ \r
11 EXTERN MOVE\r
81e70d48
PH
12 JA #ST\r
13#XR, ORG .+10\r
14 TEXT +JUGGLE+\r
15#RET, SETX #XR\r
16 SETB #BASE\r
17 JA .+3\r
18#BASE, ORG .+6\r
19OBJECT, ORG .+3\r
20I, ORG .+3\r
21J, ORG .+3\r
22#TMP, ORG .+3\r
23HUND, F 100.0\r
24 ORG #BASE+30\r
25 FNOP\r
26 JA #RET\r
27 FNOP\r
28#GOBAK, 0;0\r
84b5715c
PH
29 #LBL=.\r
30 COMMON PLACOM\r
31ATLOC, ORG .+0702\r
32LINK, ORG .+1130\r
33PLACE, ORG .+454\r
34FIXED, ORG .+454\r
35HOLDNG, ORG .+3\r
36 ORG #LBL\r
81e70d48
PH
37#RTN, BASE #BASE\r
38 JA #GOBAK\r
39#ST, STARTD\r
40 0210\r
41 FSTA #GOBAK,0\r
42 0200\r
43 SETX #XR\r
44 SETB #BASE\r
45 LDX 0,1\r
46 FSTA #BASE\r
47 FLDA% #BASE,1+\r
84b5715c 48 FSTA OBJECT\r
81e70d48
PH
49 STARTF\r
50 FLDA% OBJECT\r
51 ATX 7\r
84b5715c 52/ I=PLACE(OBJECT)\r
81e70d48 53 FLDA PLACE-3,7\r
84b5715c
PH
54 FSTA I\r
55/ J=FIXED(OBJECT)\r
81e70d48 56 FLDA FIXED-3,7\r
84b5715c 57 FSTA J\r
81e70d48 58 STARTD\r
84b5715c 59/ CALL MOVE(OBJECT,I)\r
81e70d48
PH
60 FLDA OBJECT\r
61 FSTA #G1\r
62 STARTF\r
84b5715c
PH
63 JSR MOVE\r
64 JA .+6\r
81e70d48 65#G1, JA .\r
84b5715c
PH
66 JA I\r
67/ CALL MOVE(OBJECT+100,J)\r
68/ RETURN\r
69/ END\r
81e70d48
PH
70 FLDA% OBJECT\r
71 FADD HUND\r
72 FSTA #TMP\r
84b5715c 73 JSR MOVE\r
81e70d48
PH
74 JA #RTN\r
75 JA #TMP\r
84b5715c 76 JA J\r