(67/97) _____A____L____I____E____N____ - Archilog - 01-30-2020 08:24 PM
[attachment=8053]
"Very well done... you would almost think you were aboard!"
Here is a game to escape the Nostromo spacecraft before being devoured by Alien or being lost in space after the final explosion!
How can I play it?
You are Sgt Ripley and you have just initiated the self-destruction process: you have 20 seconds left to leave the Nostromo by reaching the airlock. But Alien will follow in your footsteps...
Will you survive?
The room where the famous scene occurs is represented by an 8x8 square, 0.0 being the airlock you have to reach without being eaten (i.e. being on Alien's coordinates); you can not touch any side of the spacecraft since Alien has infected them: your only chance is to flee by the airlock within 20 seconds.
How does it work?
Once you have pressed a key to move (see below), your position is displayed during a pause; then Alien's distance to you and your time left are displayed. Alien's position is NOT known.
You benefit the particular feature of being able to key in an input during execution (no need to press [R/S] or whatever), a premiere in 1976 on a pocket calculator - as far as I know.
So you use your numeric keyboard like a pad to move in eight possible directions:
Code:
[7][8][9] [NW][N][NE]
[4][X][6] = [W ][0][ E]
[1][2][3] [SW][S][SE]
This has to be done when Alien to player's distance is displayed, else the program may stop (in that case, just enter your move again and press [R/S]). If you don't press any key or press the 5 key (and therefore don't move), your time is lost as well and Alien is approaching... So be quick!
With a little stress it is unfortunately possible to press a key two times... if that occurs, your calculator won't accept your number and will display a -5, asking for a new entry. Once again, your time will be lost.
Example
- Once you have keyed in the program, enter a positive number not greater than 10^7 (say .999) and press [A]
Calculator displays your position: 7.2...
... then displays your distance to Alien and time left: 7.071 19.
You decide to press [1], your new position is 6.1 and the new distance and time are... 5.385 18,
so you press [1] and your new position is 5.0...
but Alien's distance is displayed: 3.606, and you have 17 seconds left... what will you do? Go on or draw back?
- If you reach the airlock, you are safe! Your calculator will display 0.0 (a number of times identical to the number of your remaining moves).
- If time is over, you will be lost for ever, like Alien, in infinite spaces: your calculator will display 0 . 000000000 and an error will occur.
- If you meet a side of the spacecraft or Alien (or more probably, Alien meets you), your calculator will scream 1111111111 for you ! Actually, you won't emit anything anymore... an error will occur as well. You can enter a new seed or recall register 5 to panic once again...
You need luck, tactical thinking and good nerves...
Program:
Code:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
ST. INSTR. CODE(67) CODE(97) Comment || ST. INSTR. CODE(67) CODE(97) Comment
------------------------------------------------------------------------------++------------------------------------------------------------------------------
001 LBL A 31 25 11 21 11 -Phase 1-(000-009)-Initialization---------|| 113 GTO 5 22 05 22 05
002 STO 5 33 05 35 05 Seed in R5 || 114 CF 0 35 61 00 16 22 00
003 2 02 02 || 115 RTN 35 22 24
004 0 00 00 You can change number of || 116 LBL 5 31 25 05 21 05
005 STO I 35 33 35 46 seconds here (max. 99). || 117 CF 0 35 61 00 16 22 00
006 GRD 35 43 16-23 || 118 CF 1 35 61 01 16 22 01
007 GSB 0 31 22 00 23 00 To respective pos. calculus (st. 152) || 119 1 01 01
008 GSB 1 31 22 01 23 01 To player position display (st. 121) || 120 RTN 35 22 24
009 GSB 2 31 22 02 23 02 To Alien-Player dist. calc. (st. 141) || 121 LBL 1 31 25 01 21 01 ------- Player's Position Display ------
010 LBL 9 31 25 09 21 09 -Phase 2-(010-042)- Keypad detection -----|| 122 FIX 31 23 -11
011 CF 3 35 61 03 16 22 03 || 123 DSP 1 23 01 -63 01
012 GSB E 31 22 15 23 15 'E' routine (st. 191) waits for pressed || 124 8 08 08
013 1 01 01 key detected by flag 3 and displays || 125 RCL 0 34 00 36 00
014 - 51 -45 distance and countdown. || 126 GSB 7 31 22 07 23 07 Routine '7' (st. 184) checks if a side
015 x<0 ? 31 71 16-45 Flag 3 must be cleared first. || 127 8 08 08 is reached.
016 GTO 9 22 09 22 09 || 128 RCL 1 34 01 36 01
017 9 09 09 || 129 GSB 7 31 22 07 23 07
018 x<=y? 32 71 16-35 If pressed key(s) is/are incorrect, || 130 x><y 35 52 -41
019 GTO 9 22 09 22 09 go to routine '9' (st. 038). || 131 Rd 35 53 -31
020 x><y 35 52 -41 || 132 1 01 01
021 3 03 03 || 133 0 00 00
022 / 81 -24 2 formulas to transformate number into || 134 / 81 -24
023 ENTER 41 -21 direction : || 135 + 61 -55
024 INT 31 83 16 34 || 136 PAUSE 35 72 16 51
025 1 01 01 -INT((K-1)/3)-1 || 137 x≠0 ? 31 61 16-42
026 - 51 -45 and || 138 RTN 35 22 24
027 x><y 35 52 -41 RND(FRAC((K-1)/3)*3)-1 || 139 DSZ I 31 33 16 25 46 Well done, you are safe !
028 FRAC 32 83 16 44 || 140 GTO 1 22 01 22 01 0.0 is displayed while remaining moves
029 3 03 03 with K for the pressed key. || 141 R/S 84 51 are available.
030 * 71 -35 || 142 LBL 2 31 25 02 21 02 ------- Distance & Angle Calculus ------
031 RND 31 24 16 24 || 143 RCL 3 34 03 36 03
032 1 01 01 || 144 RCL 1 34 01 36 01
033 - 51 -45 || 145 - 51 -45
034 STO+0 33 61 00 35-55 00 Modifying player's coordinates || 146 RCL 2 34 02 36 02
035 x><y 35 52 -41 then going to '8' (st. 043). || 147 RCL 0 34 00 36 00
036 STO+1 33 61 01 35-55 01 || 148 - 51 -45
037 GTO 8 22 08 22 08 || 149 →>P 32 72 34
038 LBL 9 31 25 09 21 09 || 150 x=0 ? 31 51 16-43
039 DSP 0 23 00 -63 00 || 151 GTO C 22 13 22 13 Once upon a time...
040 5 05 05 || 152 RTN 35 22 24
041 CHS 42 -22 || 153 LBL 0 31 25 00 21 00 –----- Positions are decided here ------
042 GTO 9 22 09 22 09 || 154 RCL 5 34 05 36 05
043 LBL 8 31 25 08 21 08 -Phase 3-(044-120)- Alien's Move ---------|| 155 GSB 6 31 22 06 23 06
044 GSB 1 31 22 01 23 01 Displaying Player's Position || 156 STO 2 33 02 35 02
045 GSB 2 31 22 02 23 02 Displaying Alien's Distance || 157 RCL 5 34 05 36 05
046 x<>y 35 52 -41 Angle is recovered from Y register and || 158 PI 35 73 16-24
047 4 04 04 compared to 8 GRAD angles in order to || 159 * 71 -35
048 0 00 00 increment or decrement Alien's location, || 160 GSB 6 31 22 06 23 06
049 0 00 00 (Registers 2 & 3). || 161 STO 3 33 03 35 03
050 x<>y 35 52 -41 || 162 RCL 5 34 05 36 05
051 x<0 ? 31 71 16-45 || 163 PI 35 73 16-24
052 + 61 -55 || 164 e^x 32 52 33
053 1 01 01 || 165 * 71 -35
054 0 00 00 || 166 GSB 6 31 22 06 23 06
055 / 81 -24 || 167 STO 0 33 00 35 00
056 STO 4 33 04 35 04 || 168 RCL 5 34 05 36 05
057 3 03 03 || 169 PI 35 73 16-24
058 GSB 3 31 22 03 23 03 || 170 x² 32 54 53
059 1 01 01 || 171 e^x 32 52 33
060 7 07 07 || 172 * 71 -35
061 GSB 4 31 22 04 23 04 || 173 GSB 6 31 22 06 23 06
062 STO-3 33 51 03 35-45 03 || 174 STO 1 33 01 35 01
063 RCL 4 34 04 36 04 || 175 RTN 35 22 24
064 2 02 02 || 176 LBL 6 31 25 06 21 06 —- Returns an integer between 0 and 7 ---
065 3 03 03 || 177 8 08 08
066 GSB 3 31 22 03 23 03 || 178 / 81 -24
067 3 03 03 || 179 FRAC 32 83 16 44
068 7 07 07 || 180 8 08 08
069 GSB 4 31 22 04 23 04 || 181 * 71 -35
070 STO+3 33 61 03 35-55 03 || 182 INT 31 83 16 34
071 RCL 4 34 04 36 04 || 183 RTN 35 22 24
072 1 01 01 || 184 LBL 7 31 25 07 21 07 –- Checks if Player has touched a wall --
073 3 03 03 || 185 x<0 ? 31 71 16-45
074 GSB 3 31 22 03 23 03 || 186 GTO C 22 13 22 13
075 2 02 02 || 187 x≠y ? 32 61 16-32
076 7 07 07 || 188 RTN 35 22 24
077 GSB 4 31 22 04 23 04 || 189 - 51 -45
078 STO+2 33 61 02 35-55 02 || 190 GTO C 22 13 22 13
079 RCL 4 34 04 36 04 || 191 LBL E 31 25 15 21 15 –--- Distance & Time Display Routine ----
080 0 00 00 || 192 SCI 32 23 -12
081 GSB 3 31 22 03 23 03 || 193 DSP 3 23 03 -63 03
082 7 07 07 || 194 F? 3 35 71 03 16 23 03
083 GSB 4 31 22 04 23 04 || 195 RTN 35 22 24
084 STO-2 33 51 02 35-45 02 || 196 DSZ I 31 33 16 25 46
085 RCL 4 34 04 36 04 || 197 GTO 0 22 00 22 00
086 3 03 03 || 198 0 00 00 –------------ Time is over... -----------
087 3 03 03 || 199 DSP 9 23 09 -63 09
088 x>y ? 32 81 16-34 || 200 FIX 31 23 -11
089 GTO 8 22 08 22 08 || 201 PAUSE 35 72 16 51 BRRAAAOOOM !
090 1 01 01 || 202 1/x 35 62 52
091 STO-2 33 51 02 35-45 02 || 203 LBL 0 31 25 00 21 00 ---------–- I seconds remaining ---------
092 LBL 8 31 25 08 21 08 || 204 RCL I 35 34 36 46
093 GSB 2 31 22 02 23 02 Once new distance is shown, the program || 205 10^x 32 53 16 33
094 GTO 9 22 09 22 09 go back to '9' (st. 010) for a new loop. || 206 * 71 -35
095 LBL 3 31 25 03 21 03 || 207 PAUSE 35 72 16 51
096 x<=y? 32 71 16-35 Routines '3', '4' and '5' are used to || 208 F?3 35 71 03 16 23 03
097 SF 0 35 51 00 16 21 00 combine the flags and decide if 0 or 1 || 209 RTN 35 22 24
098 RCL 4 34 04 36 04 will be add or substract to/from Alien's || 210 LASTx 35 82 16-63
099 RTN 35 22 24 coordinates. || 211 / 81 -24
100 LBL 4 31 25 04 21 04 || 212 GTO E 22 15 22 15
101 x>y ? 32 81 16-34 (This algorithm seems quite heavy, || 213 LBL C 31 25 13 21 13 –-------------- Bon appétit ! -----------
102 SF 1 35 51 01 16 21 01 it must be possible to gain some || 214 . 83 -62 for Alien...
103 0 00 00 steps here...) || 215 9 09 09
104 GSB 5 31 22 05 23 05 || 216 1/x 35 62 52
105 RTN 35 22 24 || 217 DSP 9 23 09 -63 09
106 LBL 5 31 25 05 21 05 || 218 EEX 43 -23
107 F? 0 35 71 00 16 23 00 || 219 9 09 09
108 GTO 5 22 05 22 05 || 220 * 71 -35
109 CF 1 35 61 01 16 22 01 || 221 PAUSE 35 72 16 51
110 RTN 35 22 24 || 222 Clx 44 -51
111 LBL 5 31 25 05 21 05 || 223 1/x 35 62 52
112 F? 1 35 71 01 16 23 01 ||
This program was definitively published there in 2019 (p. 14).
Thank you, Sylvain, for the drawing legend translation; many thanks also to Pir2 from Silicium's forum for the two magic formulas.
RE: (67/97) _____A____L____I____E____N____ - teenix - 01-31-2020 02:47 AM
Was there anything supposed to be after step 223
It seems the code would go out the way of the alien :-)
cheers
Tony
RE: (67/97) _____A____L____I____E____N____ - Archilog - 01-31-2020 04:05 PM
(01-31-2020 02:47 AM)teenix Wrote: Was there anything supposed to be after step 223
It seems the code would go out the way of the alien :-)
cheers
Tony
That's an interesting point you make, Tony.
Technically the program stops there (step 223) with an absurdity, since clearing the X register and then divide one with it drives to an error.
From the fictional perspective we are in the alien's abdomen (as you noticed) but it seems to be nowhere... or out of nowhere... but where?
Well, this is a delicate issue. Human beings (perhaps since they are human beings) frequently ask if a place after death exists; for some people there is nothing, for other people it is a certainty so fundamental (that something exists) that I have finally choosen to leave the question undecided.
Everyone can consequently add at step 224, the last step of the partition, a function or command which reflects what he/she has in mind:
- PAUSE,
- RTN,
- MERGE,
or even any other instruction without any clear signification like 0, 1, 7, +, x><y, Rd or Rup... Technically it will have no effect but it may ease the mind.
Note that on the 67/97 however, NOP (No operation, Nope, No hope) is impossible.
Regards :)
RE: (67/97) _____A____L____I____E____N____ - rprosperi - 01-31-2020 06:18 PM
There is an obvious and fitting final step for this situation, however the HP-67/97 has no BURP instruction.
RE: (67/97) _____A____L____I____E____N____ - teenix - 02-01-2020 02:32 AM
(01-31-2020 04:05 PM)Archilog Wrote: That's an interesting point you make, Tony.
Technically the program stops there (step 223) with an absurdity, since clearing the X register and then divide one with it drives to an error.
I think I have some alien space lurking in my head :-)
I rewrote the code to work with my emulator and created an Alien card for it. I used the notes feature to add a winning display for the Alien
http://www.teenix.org/Alien.zip
cheers
Tony
RE: (67/97) _____A____L____I____E____N____ - Paul Dale - 02-01-2020 05:35 AM
I did wonder if messages were the intention ...
Pauli
RE: (67/97) _____A____L____I____E____N____ - Archilog - 02-02-2020 10:38 AM
(02-01-2020 05:35 AM)Paul Dale Wrote: I did wonder if messages were the intention ...
Pauli
The answer is: No.
RE: (67/97) _____A____L____I____E____N____ - Archilog - 06-17-2022 01:41 PM
Ahoy, Nostromo!
I used Fabian Fraenz's Legendary 67 application and filmed three short rounds of this Alien game - without sound.
Surprisingly, the CapCut editing software did not show the legitimate "Error" message in the first two, which was actually recorded by the VRecorder application.
In the second movie, at the very end, there is a little display bug in the Fabian Fraenz firmware, but nothing too serious - it's an excellent application that I use regularly.
1st round (2 x...): https://vimeo.com/718035007
2nd & 3rd rounds: https://vimeo.com/718084916
Stay safe.
[attachment=10810]
|