Compare commits

..

1 Commits

Author SHA1 Message Date
CrazyEttin a3152b2eea Add Templeng. 2021-07-12 12:28:12 +03:00
4 changed files with 0 additions and 683 deletions

View File

@ -1,128 +0,0 @@
CC0 1.0 Universal license
=========================
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work
of authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without
fear of later claims of infringement build upon, modify, incorporate in
other works, reuse and redistribute as freely as possible in any form
whatsoever and for any purposes, including without limitation commercial
purposes. These owners may contribute to the Commons to promote the
ideal of a free culture and the further production of creative, cultural
and scientific works, or to gain reputation or greater distribution for
their Work in part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or
she is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under
its terms, with knowledge of his or her Copyright and Related Rights in
the Work and the meaning and intended legal effect of CC0 on those
rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or
performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of
data in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of
the European Parliament and of the Council of 11 March 1996 on the
legal protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or
future medium and for any number of copies, and (iv) for any purpose
whatsoever, including without limitation commercial, advertising or
promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
benefit of each member of the public at large and to the detriment of
Affirmer's heirs and successors, fully intending that such Waiver shall
not be subject to revocation, rescission, cancellation, termination, or
any other legal or equitable action to disrupt the quiet enjoyment of
the Work by the public as contemplated by Affirmer's express Statement
of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non
exclusive, irrevocable and unconditional license to exercise Affirmer's
Copyright and Related Rights in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or
future medium and for any number of copies, and (iv) for any purpose
whatsoever, including without limitation commercial, advertising or
promotional purposes (the "License"). The License shall be deemed
effective as of the date CC0 was applied by Affirmer to the Work. Should
any part of the License for any reason be judged legally invalid or
ineffective under applicable law, such partial invalidity or
ineffectiveness shall not invalidate the remainder of the License, and
in such case Affirmer hereby affirms that he or she will not (i)
exercise any of his or her remaining Copyright and Related Rights in the
Work or (ii) assert any associated claims and causes of action with
respect to the Work, in either case contrary to Affirmer's express
Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived,
abandoned, surrendered, licensed or otherwise affected by this
document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other
persons that may apply to the Work or any use thereof, including
without limitation any person's Copyright and Related Rights in the
Work. Further, Affirmer disclaims responsibility for obtaining any
necessary consents, permissions or other rights required for any use
of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not
a party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.
For more information, please see
<http://creativecommons.org/publicdomain/zero/1.0/>

View File

@ -1,19 +0,0 @@
TEMPLE
======
TEMPLE is an assembly port for EttinOS of the web-based text adventure
game In the Temple by nortti. Its original readme is reproduced here:
A small game about a visit to a temple and the reasons for doing so.
Can be played online at https://ahti.space/~nortti/in-the-temple/ or at
https://nortti.itch.io/in-the-temple
The game is distributed under the Creative Commons Zero 1.0 Universal
license.
***
This package is part of EttinOS-extra, a collection of programs for
EttinOS, the git repository of which can be found at
https://ahti.space/git/crazyettin/EttinOS-extra.

View File

@ -1,530 +0,0 @@
cpu 8086
org 0x3000
;Intro
;Print the intro
intro:
mov si, introtxt
mov ah, 0x2
int 0x21
;Read any key to start
mov ah, 0x0
int 0x16
call readquit
;Start
;Print the text
mov si, startxt
mov ah, 0x2
int 0x21
;Read the player choice
readstart:
mov ah, 0x0
int 0x16
cmp al, "1"
je give
cmp al, "2"
je take
cmp al, "3"
je do
call readquit
jmp readstart
;Giving
;Print the text
give:
mov si, givetxt
mov ah, 0x2
int 0x21
;Read the player choice
readgive:
mov ah, 0x0
int 0x16
cmp al, "1"
je comb
cmp al, "2"
je coin
call readquit
jmp readgive
;Giving a Comb
;Print the text
comb:
mov si, combtxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Giving a Coin
;Print the text
coin:
mov si, cointxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Taking
;Print the text
take:
mov si, taketxt
mov ah, 0x2
int 0x21
;Read the player choice
readtake:
mov ah, 0x0
int 0x16
cmp al, "1"
je bowl
cmp al, "2"
je knife
cmp al, "3"
je idol
call readquit
jmp readtake
;Taking the Bowl
;Print the text
bowl:
mov si, bowltxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Taking the Knife
;Print the text
knife:
mov si, knifetxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Taking the Idol
;Print the text
idol:
mov si, idoltxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Doing
;Print the text
do:
mov si, dotxt
mov ah, 0x2
int 0x21
;Read the player choice
reado:
mov ah, 0x0
int 0x16
cmp al, "1"
je sacrifice
cmp al, "2"
je iconoclasm
cmp al, "3"
je prayer
call readquit
jmp reado
;Making a Sacrifice
;Print the text
sacrifice:
mov si, sacrificetxt
mov ah, 0x2
int 0x21
;Read the player choice
readsacrifice:
mov ah, 0x0
int 0x16
cmp al, "1"
je bread
cmp al, "2"
je blood
call readquit
jmp readsacrifice
;A Sacrifice of Bread
;Print the text
bread:
mov si, breadtxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;A Sacrifice of Blood
;Print the text
blood:
mov si, bloodtxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Iconoclasm
;Print the text
iconoclasm:
mov si, iconoclasmtxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Prayer
;Print the text
prayer:
mov si, prayertxt
mov ah, 0x2
int 0x21
;Read any key to return back to the beginning
mov ah, 0x0
int 0x16
call readquit
mov si, crlf
mov ah, 0x0
int 0x21
jmp intro
;Return
done:
int 0x20
;Data
introtxt db "In the Temple", 0xd, 0xa,\
"=============", 0xd, 0xa,\
0xd, 0xa,\
"This is a story of your visit to the temple of ",\
"Arattavesh.",\
0xd, 0xa,\
0xd, 0xa,\
"Press the corresponding number to choose an option or ",\
"escape to quit the", 0xd, 0xa,\
"game.", 0xd, 0xa,\
0xd, 0xa,\
"Press any key to start.", 0x0
startxt db 0xd, 0xa,\
"Before the Idol", 0xd, 0xa,\
"---------------", 0xd, 0xa,\
0xd, 0xa,\
"You are in the back of the temple, before the idol of ",\
"Arattavesh. It is", 0xd, 0xa,\
"a well made wooden statue painted with gold and blue.",\
0xd, 0xa,\
0xd, 0xa,\
"In front of the statue there is an ornate knife and a ",\
"plain wooden bowl.", 0xd, 0xa,\
0xd, 0xa,\
"You have come here to the sanctum to...", 0xd, 0xa,\
" 1. give something.", 0xd, 0xa,\
" 2. take something.", 0xd, 0xa,\
" 3. do something.", 0x0
givetxt db 0xd, 0xa,\
"Giving", 0xd, 0xa,\
"------", 0xd, 0xa,\
0xd, 0xa,\
"You have arrived to deposit a votive offering to ",\
"Arattavesh for healing", 0xd, 0xa,\
"your sickness over the winter. You intend to give...",\
0xd, 0xa,\
" 1. a wooden comb.", 0xd, 0xa,\
" 2. a silver coin.", 0x0
combtxt db 0xd, 0xa,\
"Giving a Comb", 0xd, 0xa,\
"-------------", 0xd, 0xa,\
0xd, 0xa,\
"You hold a finely carved wooden comb in your hands. ",\
"It is a comb you", 0xd, 0xa,\
"have made yourself, the masterpiece that gave you ",\
"full rights in the", 0xd, 0xa,\
"guild. You are sacrificing not only its monetary ",\
"value, but its value to", 0xd, 0xa,\
"you personally.", 0xd, 0xa,\
0xd, 0xa,\
"You place the comb next to the knife, say a few words ",\
"asking Arattavesh", 0xd, 0xa,\
"to accept your payment, and walk back to the door to ",\
"the sanctum. A", 0xd, 0xa,\
"priest sprinkles water on you, and closes the heavy ",\
"door after you step", 0xd, 0xa,\
"outside.", 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
cointxt db 0xd, 0xa,\
"Giving a Coin", 0xd, 0xa,\
"-------------", 0xd, 0xa,\
0xd, 0xa,\
"You take out a silver coin from the pouch hanging ",\
"from your belt. It", 0xd, 0xa,\
"represents the work of several weeks as a cobbler.",\
0xd, 0xa,\
0xd, 0xa,\
"You take the coin and throw it to the fountain that ",\
"is behind the idol,", 0xd, 0xa,\
"where you hear it clink against other coins that have ",\
"been deposited", 0xd, 0xa,\
"previously.", 0xd, 0xa,\
0xd, 0xa,\
"You turn back and walk through the curtains to the ",\
"common side of the", 0xd, 0xa,\
"temple, where other devout are waiting for their turn ",\
"to enter the", 0xd, 0xa,\
"sanctum.", 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
taketxt db 0xd, 0xa,\
"Taking", 0xd, 0xa,\
"------", 0xd, 0xa,\
0xd, 0xa,\
"There it is. Right before you. You steal a glance ",\
"behing you hoping to", 0xd, 0xa,\
"make sure that nobody spots you in the darkness as ",\
"you reach out and", 0xd, 0xa,\
"grab...", 0xd, 0xa,\
" 1. the bowl.", 0xd, 0xa,\
" 2. the knife.", 0xd, 0xa,\
" 3. the idol.", 0x0
bowltxt db 0xd, 0xa,\
"Taking the Bowl", 0xd, 0xa,\
"---------------", 0xd, 0xa,\
0xd, 0xa,\
"The bowl you had offered just a week before is still ",\
"here. You had left", 0xd, 0xa,\
"it as a thanks of your husband's recovery, but now ",\
"your husband is gone,", 0xd, 0xa,\
"your fields are destroyed, and all this is the name ",\
"of Arattavesh.", 0xd, 0xa,\
0xd, 0xa,\
"If the gods shall curse you for breaching the ",\
"holiness of the sanctum", 0xd, 0xa,\
"let them, for you curse the gods too. You take that ",\
"which you dedicated", 0xd, 0xa,\
'to Arattavesh and quietly state "You have taken back ',\
"your gift and so I", 0xd, 0xa,\
'shall take back mine" before slipping back into the ',\
"night.", 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
knifetxt db 0xd, 0xa,\
"Taking the Knife", 0xd, 0xa,\
"----------------", 0xd, 0xa,\
0xd, 0xa,\
"The knife is very nicely made. You admire it for a ",\
"small while, before", 0xd, 0xa,\
"slipping it into the bag you carry around your ",\
"shoulders.", 0xd, 0xa,\
0xd, 0xa,\
"You aren't committing a sin, or if you are it's not a ",\
"great one. The", 0xd, 0xa,\
"chanter who lives in the main city has not yet come ",\
"and completed the", 0xd, 0xa,\
"dedication. The one who's knelt before the idol and ",\
"left it here has", 0xd, 0xa,\
"merely announced an intention to give it to their god ",\
"so it's still", 0xd, 0xa,\
"theirs, and they will not miss it.", 0xd, 0xa,\
0xd, 0xa,\
"If Nagiri holds up his end of the bargain your debt ",\
"shall be gone come", 0xd, 0xa,\
"tomorrow and you can leave the land you work but do ",\
"not own. You get", 0xd, 0xa,\
"excited, but then try to calm down. It is not over ",\
"yet.", 0xd, 0xa,\
0xd, 0xa,\
"You walk out into the evening crowd still in the ",\
"market before the", 0xd, 0xa,\
"sanctum. There are so many people here nobody will ",\
"remember and be able", 0xd, 0xa,\
"to speak against you.", 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
idoltxt db 0xd, 0xa,\
"Taking the Idol", 0xd, 0xa,\
"---------------", 0xd, 0xa,\
0xd, 0xa,\
"Here it is. The protector god of your village, taken ",\
"by force when you", 0xd, 0xa,\
"were but a small child.", 0xd, 0xa,\
0xd, 0xa,\
"They call her Arattavesh, after the river, but you ",\
"know better. As you", 0xd, 0xa,\
'lift the idol you whisper: "Panglya, you shall be ',\
'home soon."', 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
dotxt db 0xd, 0xa,\
"Doing", 0xd, 0xa,\
"-----", 0xd, 0xa,\
0xd, 0xa,\
"Yes, it is finally time. You make sure that ",\
"everything is just right,", 0xd, 0xa,\
"and...", 0xd, 0xa,\
" 1. take the knife.", 0xd, 0xa,\
" 2. raise your axe.", 0xd, 0xa,\
" 3. kneel before the idol.", 0x0
sacrificetxt db 0xd, 0xa,\
"Making a Sacrifice", 0xd, 0xa,\
"------------------", 0xd, 0xa,\
0xd, 0xa,\
"You take the blade, and think of the long nights ",\
"spent replaying the", 0xd, 0xa,\
"formula of the sacrifice in your head. You've seen ",\
"ones before, but", 0xd, 0xa,\
"never this one, for it is one that a priest must do ",\
"alone.", 0xd, 0xa,\
0xd, 0xa,\
"You say the words, and cut...", 0xd, 0xa,\
" 1. a loaf of bread.", 0xd, 0xa,\
" 2. your finger.", 0x0
breadtxt db 0xd, 0xa,\
"A Sacrifice of Bread", 0xd, 0xa,\
"--------------------", 0xd, 0xa,\
0xd, 0xa,\
"As Arattavesh gives you grain, you shall give her ",\
"back. A slice of every", 0xd, 0xa,\
"loaf made before the next new moon shall be hers, and ",\
"the bakers will be", 0xd, 0xa,\
"giving their share starting tomorrow. But this loaf ",\
"is special, the", 0xd, 0xa,\
"first loaf baked from new grain, and it is reserved ",\
"for the junior", 0xd, 0xa,\
"priest of the temple. Which is you.", 0xd, 0xa,\
0xd, 0xa,\
"You know that you shall not be too stingy and cut ",\
"only the skin. You", 0xd, 0xa,\
"also know you have to be exact and not cut a too big ",\
"of a slice off. But", 0xd, 0xa,\
"that is no issue. You end up with a slice that is ",\
"just right, and place", 0xd, 0xa,\
"it in the bowl before the idol.", 0xd, 0xa,\
0xd, 0xa,\
"After this is done, you lay the knife back down, and ",\
"recite one of the", 0xd, 0xa,\
"old hymns, too old for people to understand anymore. ",\
"You feel that", 0xd, 0xa,\
"Arattavesh is pleased in you as you walk up to the ",\
"roof of the temple", 0xd, 0xa,\
"house and then across to the end of the block.", 0xd,\
0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
bloodtxt db 0xd, 0xa,\
"A Sacrifice of Blood", 0xd, 0xa,\
"--------------------", 0xd, 0xa,\
0xd, 0xa,\
"It hurts a little but you do not care, as you let the ",\
"droplets of blood", 0xd, 0xa,\
"drip into the bowl. Just like mixing your blood with ",\
"that of your sworn", 0xd, 0xa,\
"sister cements your bond, so does giving it to your ",\
"god.", 0xd, 0xa,\
0xd, 0xa,\
"You are a fully fledged priest of Arattavesh, the one ",\
"who rules behind", 0xd, 0xa,\
"the waves and in the dark caverns of earth. You hurry ",\
"to your new family", 0xd, 0xa,\
"who are waiting at the foot of the mountain.", 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
iconoclasmtxt db 0xd, 0xa,\
"Iconoclasm", 0xd, 0xa,\
"----------", 0xd, 0xa,\
0xd, 0xa,\
"There is but one abomination in the eyes of gods bad ",\
"enough to warrant a", 0xd, 0xa,\
"death in the marshes. And that is the worship of ",\
"earthly images in their", 0xd, 0xa,\
"stead.", 0xd, 0xa,\
0xd, 0xa,\
"You raise your axe and let it fall onto the head of ",\
"the idol. There is a", 0xd, 0xa,\
"crunching sound and you see the wood split, maggots ",\
"crawling out of it.", 0xd, 0xa,\
"Of course, of course. The idol is as rotten as the ",\
"act of worshiping it.", 0xd, 0xa,\
0xd, 0xa,\
"The heathen ways are over again, and the temple shall ",\
"be cleansed. You", 0xd, 0xa,\
"raise your arms and shout as loud as you can: ",\
'"Witness me Arattavesh,', 0xd, 0xa,\
"for I will cleanse your house of the ways of the ",\
"Eluwing, and enact", 0xd, 0xa,\
'revenge on those who have it thus defiled!"', 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
prayertxt db 0xd, 0xa,\
"Prayer", 0xd, 0xa,\
"------", 0xd, 0xa,\
0xd, 0xa,\
'"You who will remain when I am gone', 0xd, 0xa,\
"To help my family in time of need", 0xd, 0xa,\
"To shield the eastern flank of this city", 0xd, 0xa,\
"To leave the graves of our ancestors safe", 0xd, 0xa,\
"To bring the flood as you have brought", 0xd, 0xa,\
'I ask you"', 0xd, 0xa,\
0xd, 0xa,\
"Press any key to return back to the beginning.", 0x0
crlf db 0xd, 0xa, 0x0
;***
;Quit the game
readquit:
;Check for keypress Q
cmp al, 0x1b
je done
;Return
ret

View File

@ -19,12 +19,6 @@ zip -r ROT13.ZIP ROT13.BIN ROT13.ASM README.MD CC0 1>/dev/null
mv ROT13.ZIP ..
cd ..
cd TEMPLE/
nasm TEMPLE.ASM -f bin -o TEMPLE.BIN
zip -r TEMPLE.ZIP TEMPLE.BIN TEMPLE.ASM README.MD LICENSE.MD 1>/dev/null
mv TEMPLE.ZIP ..
cd ..
cd TEMPLENG/
nasm TEMPLENG.ASM -f bin -o TEMPLENG.BIN
zip -r TEMPLENG.ZIP TEMPLENG.BIN TEMPLENG.ASM README.MD LICENSE.MD TEMPLE.DAT 1>/dev/null