+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-\f
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-\f
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
-\r
-\r
-\r
- Kooli Kell programmi kasutusjuhend\r
-\r
+
+ Kooli Kell programmi kasutusjuhend
+
2002.10
-\r
-Programmi, juhendi ja skeemi autor:\r
-Svjatoslav Agejenko\r
-n0@hot.ee
-www.hot.ee/n0/
-\r
-K\93ik on vabavara!\r
-\r
-Programm Kooli Kell on m\93eldud kella laskmiseks koolis, tundi sisse ja v\84lja.\r
-Samuti juhib programm arvuti k\81ljes olevat liidest, kahekohaliste numbrite\r
-n\84itamiseks (minutid / tunnid), 3 klahvilist klaviatuuri ja releed.\r
-Tundi sisse minev kell on 1 pikk ning 1 l\81hem helin. V\84ljaminev kell on 1\r
-tavaline pikk helin. Programm loeb aega arvuti s\81steemsest kellast.\r
-Kella laskmis ajad on organiseeritud failidesse *.PP .\r
-Aasta v\93i p\84evaplaani muutmiseks tuleb redakteerida vastavaid faile.\r
-(s\93nast P\84eva Plaan) Programm valib sobiva p\84evaplaani l\84htudes aastaplaanist,\r
-mis asub failis "aasta.ap" . Programmi saab kasutada arvutil millele on\r
-printeri pesasse (LPT1) \81hendatud spetsiaalne liides, liidese skeem on\r
-failis "skeem.bmp". Liides omab kolme nummerdatud nuppu paigutusega:\r
-\r
- [1] [2]\r
- [3]\r
-\r
-Programm on etten\84htud iseseisvalt t\94\94tama, kuid on ka v\93imalus erandkorras\r
-k\84sitsi kella lasta, aega muuta jne.. Programm eristab tavalisi nupuvajutusi\r
-ja topeltkl\93pse. Eesm\84rgiga suurendada funktsionaalsust v\84heste nuppudega.\r
-\r
- Nuppude funktsioonid peamen\81\81s:\r
-\r
-[1] kl\93ps - laseb kella tundi sisse\r
- topeltkl\93ps - laseb kella tunnist v\84lja\r
-[2] kl\93ps - l\84heb aja muutmis men\81\81sse\r
- topeltkl\93ps - hakkab t\94\94le uuendatud graafikuga, vajalik p\84rast\r
- sisendfailide redigeerimist.\r
-[3] kl\93ps - \81mardab s\81steemse aja t\84istunnini, vajalik aja\r
- s\81nkroniseerimiseks.\r
- topeltkl\93ps - laeb s\81steemse: aasta, kuu, p\84eva, tunnid, minutid\r
- failist "sync.txt"\r
-\r
- Nuppude funktsioonid aja muutmis men\81\81s:\r
-\r
-[1] kl\93ps - v\84hendab s\81steemsed tunnid/minutid 1. v\93rra\r
-[2] kl\93ps - suurendab s\81steemsed tunnid/minutid 1. v\93rra\r
-[3] kl\93ps - valib n\84itamiseks ja redigeerimiseks tunnid v\93i minutid.\r
- topeltkl\93ps - l\84heb tagasi peamen\81\81sse.\r
-\r
-Aja muutmis men\81\81d tunneb \84ra selle j\84rgi et indikaator tunnid v\93i\r
-minutid vilgub, mitte ei p\93le nagu peamen\81\81s.\r
-\r
-\r
-\r
- faili AASTA.AP formaat: (aastaplaan)\r
-\r
-\r
-v <kuu>-<p\84ev> <kuu>-<p\84ev> <p\84evaplaan>\r
-\r
-S\93nast vahemik. Paneb paika p\84evaplaani antud ajavahemikus. Esimene\r
-daatum peab kindlasti olema v\84iksem kui teine. St. kui on t\93esti vaja:\r
-\r
-v 10-4 2-1 eri\r
-\r
-tuleb kirjutada:\r
-\r
-v 10-4 12-31 eri\r
-v 1-1 2-1 eri\r
-\r
-P\84evaplaan kehtib vahemiku esimesest p\84evast kuni vahemiku viimase p\84evani.\r
-\r
-\r
-n <kuu>-<p\84ev> <kuu>-<p\84ev> <n\84dalap\84ev> <p\84evaplaan>\r
-\r
-S\93nast n\84dalap\84ev. sama mis "v" kuid: paneb paika p\84evaplaani antud\r
-ajavahemikus, antud n\84dalap\84eval. N\84dalap\84eva kirjeldatakse numbriga.\r
-n\84dala esimene p\84ev on esmasp\84ev, talle vastab number 1.\r
-\r
-\r
-e <kuu>-<p\84ev> <p\84evaplaan>\r
-\r
-S\93nast eriline. Paneb paika antud kuup\84evale antud p\84evaplaani. Sobib h\84sti\r
-erakorraliste l\81hendatud v\93i muul moel muudetud p\84evaplaanide kehtestamiseks.\r
-N\84iteks riigip\81had, spordip\84ev jne.\r
-\r
-Kui teatud p\84eva kohta ei k\84inud \81htegi kirjet siis toimib vaikimisi "tuhi"\r
-p\84evaplaan. Kui teatud p\84eva kohta k\84is mitu kirjet siis j\84\84b peale viimane.\r
-\r
-\r
-\r
- failide *.PP formaat: (p\84evaplaanid)\r
-\r
-\r
-# <tund>:<minut> <kell>\r
-\r
-Laseb antud ajal antud kella. V\93imalikud kella helinad on:\r
-\r
- sis -kell tundi sisse\r
- val -kell tunnist v\84lja\r
-\r
-\r
-\r
- faili SYNC.TXT formaat:\r
-\r
-faili esimesel kahel real peab olema j\84rgnev:\r
-\r
-KK-PP-AAAA\r
-TT:MM\r
-\r
-kus KK = kuu\r
- PP = p\84ev\r
- AAAA = aasta\r
- TT = tunnid\r
- MM = minutid\r
+
+Programm Kooli Kell on m\93eldud kella laskmiseks koolis, tundi sisse ja v\84lja.
+Samuti juhib programm arvuti k\81ljes olevat liidest, kahekohaliste numbrite
+n\84itamiseks (minutid / tunnid), 3 klahvilist klaviatuuri ja releed.
+Tundi sisse minev kell on 1 pikk ning 1 l\81hem helin. V\84ljaminev kell on 1
+tavaline pikk helin. Programm loeb aega arvuti s\81steemsest kellast.
+Kella laskmis ajad on organiseeritud failidesse *.PP .
+Aasta v\93i p\84evaplaani muutmiseks tuleb redakteerida vastavaid faile.
+(s\93nast P\84eva Plaan) Programm valib sobiva p\84evaplaani l\84htudes aastaplaanist,
+mis asub failis "aasta.ap" . Programmi saab kasutada arvutil millele on
+printeri pesasse (LPT1) \81hendatud spetsiaalne liides, liidese skeem on
+failis "skeem.bmp". Liides omab kolme nummerdatud nuppu paigutusega:
+
+ [1] [2]
+ [3]
+
+Programm on etten\84htud iseseisvalt t\94\94tama, kuid on ka v\93imalus erandkorras
+k\84sitsi kella lasta, aega muuta jne.. Programm eristab tavalisi nupuvajutusi
+ja topeltkl\93pse. Eesm\84rgiga suurendada funktsionaalsust v\84heste nuppudega.
+
+ Nuppude funktsioonid peamen\81\81s:
+
+[1] kl\93ps - laseb kella tundi sisse
+ topeltkl\93ps - laseb kella tunnist v\84lja
+[2] kl\93ps - l\84heb aja muutmis men\81\81sse
+ topeltkl\93ps - hakkab t\94\94le uuendatud graafikuga, vajalik p\84rast
+ sisendfailide redigeerimist.
+[3] kl\93ps - \81mardab s\81steemse aja t\84istunnini, vajalik aja
+ s\81nkroniseerimiseks.
+ topeltkl\93ps - laeb s\81steemse: aasta, kuu, p\84eva, tunnid, minutid
+ failist "sync.txt"
+
+ Nuppude funktsioonid aja muutmis men\81\81s:
+
+[1] kl\93ps - v\84hendab s\81steemsed tunnid/minutid 1. v\93rra
+[2] kl\93ps - suurendab s\81steemsed tunnid/minutid 1. v\93rra
+[3] kl\93ps - valib n\84itamiseks ja redigeerimiseks tunnid v\93i minutid.
+ topeltkl\93ps - l\84heb tagasi peamen\81\81sse.
+
+Aja muutmis men\81\81d tunneb \84ra selle j\84rgi et indikaator tunnid v\93i
+minutid vilgub, mitte ei p\93le nagu peamen\81\81s.
+
+
+
+ faili AASTA.AP formaat: (aastaplaan)
+
+
+v <kuu>-<p\84ev> <kuu>-<p\84ev> <p\84evaplaan>
+
+S\93nast vahemik. Paneb paika p\84evaplaani antud ajavahemikus. Esimene
+daatum peab kindlasti olema v\84iksem kui teine. St. kui on t\93esti vaja:
+
+v 10-4 2-1 eri
+
+tuleb kirjutada:
+
+v 10-4 12-31 eri
+v 1-1 2-1 eri
+
+P\84evaplaan kehtib vahemiku esimesest p\84evast kuni vahemiku viimase p\84evani.
+
+
+n <kuu>-<p\84ev> <kuu>-<p\84ev> <n\84dalap\84ev> <p\84evaplaan>
+
+S\93nast n\84dalap\84ev. sama mis "v" kuid: paneb paika p\84evaplaani antud
+ajavahemikus, antud n\84dalap\84eval. N\84dalap\84eva kirjeldatakse numbriga.
+n\84dala esimene p\84ev on esmasp\84ev, talle vastab number 1.
+
+
+e <kuu>-<p\84ev> <p\84evaplaan>
+
+S\93nast eriline. Paneb paika antud kuup\84evale antud p\84evaplaani. Sobib h\84sti
+erakorraliste l\81hendatud v\93i muul moel muudetud p\84evaplaanide kehtestamiseks.
+N\84iteks riigip\81had, spordip\84ev jne.
+
+Kui teatud p\84eva kohta ei k\84inud \81htegi kirjet siis toimib vaikimisi "tuhi"
+p\84evaplaan. Kui teatud p\84eva kohta k\84is mitu kirjet siis j\84\84b peale viimane.
+
+
+
+ failide *.PP formaat: (p\84evaplaanid)
+
+
+# <tund>:<minut> <kell>
+
+Laseb antud ajal antud kella. V\93imalikud kella helinad on:
+
+ sis -kell tundi sisse
+ val -kell tunnist v\84lja
+
+
+
+ faili SYNC.TXT formaat:
+
+faili esimesel kahel real peab olema j\84rgnev:
+
+KK-PP-AAAA
+TT:MM
+
+kus KK = kuu
+ PP = p\84ev
+ AAAA = aasta
+ TT = tunnid
+ MM = minutid
DECLARE SUB dispt ()\r
' Svjatoslav Agejenko\r
-' E-mail: svjatoslavagejenko@gmail.com\r
+' E-mail: svjatoslav@svjatoslav.eu\r
' Homepage: www.hot.ee/n0/\r
\r
DECLARE SUB dispp ()\r
2003.09\r
\r
Programmi, juhendi ja skeemi autor: Svjatoslav Agejenko\r
-E-post: svjatoslavagejenko@gmail.com\r
+E-post: svjatoslav@svjatoslav.eu\r
kodulehekylg: www.hot.ee/n0/\r
\r
Ettevaatust: Siin tekstis olev info v6ib olla vananenud, vigane v6i\r
' (c) Svjatoslav Agejenko\r
' All rights reserved.\r
\r
-' E-mail: svjatoslavagejenko@gmail.com\r
+' E-mail: svjatoslav@svjatoslav.eu\r
' Homepage: svjatoslav.eu\r
\r
DECLARE SUB dispp ()\r
' Dos Database\r
' made by Svjatoslav Agejenko\r
' in 2002\r
-' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
- \r
+\r
DECLARE SUB box (x1%, y1%, x2%, y2%)\r
DECLARE SUB ssort (s%, m%)\r
DECLARE SUB sort (s%, w%)\r
\r
\r
END SUB\r
-\r
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
-<meta
- http-equiv="Content-Type"
- content="text/html; charset=UTF-8">
-<title>QBasicApps</title>
+<title>QBasicApps - collection of applications mostly written in MS QBasic for DOS environment</title>
+<!-- 2015-03-31 Tue 08:02 -->
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta name="generator" content="Org-mode" />
+<meta name="author" content="Svjatoslav Agejenko" />
+<style type="text/css">
+ <!--/*--><![CDATA[/*><!--*/
+ .title { text-align: center; }
+ .todo { font-family: monospace; color: red; }
+ .done { color: green; }
+ .tag { background-color: #eee; font-family: monospace;
+ padding: 2px; font-size: 80%; font-weight: normal; }
+ .timestamp { color: #bebebe; }
+ .timestamp-kwd { color: #5f9ea0; }
+ .right { margin-left: auto; margin-right: 0px; text-align: right; }
+ .left { margin-left: 0px; margin-right: auto; text-align: left; }
+ .center { margin-left: auto; margin-right: auto; text-align: center; }
+ .underline { text-decoration: underline; }
+ #postamble p, #preamble p { font-size: 90%; margin: .2em; }
+ p.verse { margin-left: 3%; }
+ pre {
+ border: 1px solid #ccc;
+ box-shadow: 3px 3px 3px #eee;
+ padding: 8pt;
+ font-family: monospace;
+ overflow: auto;
+ margin: 1.2em;
+ }
+ pre.src {
+ position: relative;
+ overflow: visible;
+ padding-top: 1.2em;
+ }
+ pre.src:before {
+ display: none;
+ position: absolute;
+ background-color: white;
+ top: -10px;
+ right: 10px;
+ padding: 3px;
+ border: 1px solid black;
+ }
+ pre.src:hover:before { display: inline;}
+ pre.src-sh:before { content: 'sh'; }
+ pre.src-bash:before { content: 'sh'; }
+ pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
+ pre.src-R:before { content: 'R'; }
+ pre.src-perl:before { content: 'Perl'; }
+ pre.src-java:before { content: 'Java'; }
+ pre.src-sql:before { content: 'SQL'; }
+
+ table { border-collapse:collapse; }
+ caption.t-above { caption-side: top; }
+ caption.t-bottom { caption-side: bottom; }
+ td, th { vertical-align:top; }
+ th.right { text-align: center; }
+ th.left { text-align: center; }
+ th.center { text-align: center; }
+ td.right { text-align: right; }
+ td.left { text-align: left; }
+ td.center { text-align: center; }
+ dt { font-weight: bold; }
+ .footpara:nth-child(2) { display: inline; }
+ .footpara { display: block; }
+ .footdef { margin-bottom: 1em; }
+ .figure { padding: 1em; }
+ .figure p { text-align: center; }
+ .inlinetask {
+ padding: 10px;
+ border: 2px solid gray;
+ margin: 10px;
+ background: #ffffcc;
+ }
+ #org-div-home-and-up
+ { text-align: right; font-size: 70%; white-space: nowrap; }
+ textarea { overflow-x: auto; }
+ .linenr { font-size: smaller }
+ .code-highlighted { background-color: #ffff00; }
+ .org-info-js_info-navigation { border-style: none; }
+ #org-info-js_console-label
+ { font-size: 10px; font-weight: bold; white-space: nowrap; }
+ .org-info-js_search-highlight
+ { background-color: #ffff00; color: #000000; font-weight: bold; }
+ /*]]>*/-->
+</style>
+<link rel="stylesheet" type="text/css" href="http://thomasf.github.io/solarized-css/solarized-dark.min.css" />
+<script type="text/javascript">
+/*
+@licstart The following is the entire license notice for the
+JavaScript code in this tag.
+
+Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+The JavaScript code in this tag is free software: you can
+redistribute it and/or modify it under the terms of the GNU
+General Public License (GNU GPL) as published by the Free Software
+Foundation, either version 3 of the License, or (at your option)
+any later version. The code is distributed WITHOUT ANY WARRANTY;
+without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
+
+As additional permission under GNU GPL version 3 section 7, you
+may distribute non-source (e.g., minimized or compacted) forms of
+that code without the copy of the GNU GPL normally required by
+section 4, provided you include this license notice and a URL
+through which recipients can access the Corresponding Source.
+
+
+@licend The above is the entire license notice
+for the JavaScript code in this tag.
+*/
+<!--/*--><![CDATA[/*><!--*/
+ function CodeHighlightOn(elem, id)
+ {
+ var target = document.getElementById(id);
+ if(null != target) {
+ elem.cacheClassElem = elem.className;
+ elem.cacheClassTarget = target.className;
+ target.className = "code-highlighted";
+ elem.className = "code-highlighted";
+ }
+ }
+ function CodeHighlightOff(elem, id)
+ {
+ var target = document.getElementById(id);
+ if(elem.cacheClassElem)
+ elem.className = elem.cacheClassElem;
+ if(elem.cacheClassTarget)
+ target.className = elem.cacheClassTarget;
+ }
+/*]]>*///-->
+</script>
</head>
<body>
- <h1>QBasicApps - collection of applications mostly written in MS QBasic for DOS environment</h1>
- <a href="http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz">Download</a>
-
- <a href="http://www2.svjatoslav.eu/gitbrowse/qbasicapps/doc/index.html">Online homepage</a>
-
- <a href="http://svjatoslav.eu/programs.jsp">Other applications hosted on svjatoslav.eu</a>
- <pre>
-<b>Programs author:</b>
- Svjatoslav Agejenko
- Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
- Email: <a href="mailto:svjatoslav@svjatoslav.eu">svjatoslav@svjatoslav.eu</a>
+<div id="content">
+<h1 class="title">QBasicApps - collection of applications mostly written in MS QBasic for DOS environment</h1>
+<hr />
+<ul class="org-ul">
+<li><a href="http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a>
+</li>
+
+<li>These programs are free software; you can redistribute them and/or
+modify them under the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General
+Public License</a> or later as published by the Free Software
+Foundation.
+</li>
+
+<li>Programs author:
+<ul class="org-ul">
+<li>Svjatoslav Agejenko
+</li>
+<li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
+</li>
+<li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
+</li>
+</ul>
+</li>
-This software is distributed under <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU GENERAL PUBLIC LICENSE Version 2</a>.
+<li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a>
+</li>
+</ul>
-This collection contains lots of applications (games, graphics tests (2D/3D/4D)
-algorithms tests, utilities) I wrote long time ago.
-Mostly in QBasic, some in x86 assembly for use under DOS environment.
+<p>
+This collection contains lots of applications:
+</p>
+<ul class="org-ul">
+<li>games
+</li>
+<li>graphics tests (2D/3D/4D)
+</li>
+<li>algorithms tests
+</li>
+<li>utilities
+</li>
+</ul>
+<p>
+I wrote them long time ago mostly in QBasic, some in x86 assembly for
+use under DOS environment.
+</p>
+<p>
Few sample applications from the package:
- <a href="../games/checkers/index.html">Checkers game</a>
- <a href="../games/mario/index.html">Super Mario clone</a>
- <a href="../graphics/3D/3dSynthezier/doc/index.html">3D synthezer</a>
- <a href="../graphics/3D/ray casting engine/index.html">Ray casting 3D engine</a>
- <a href="../graphics/4D engine/index.html">4D engine</a>
- <a href="../math/3D graph/index.html">Interactive 3D graph for visualizing formulas</a>
- <a href="../math/biorythm/index.html">Biorythm calculator</a>
- <a href="../networking/digital data over analog audio channel/index.html">Digital data over analog audio channel</a>
- <a href="../simulation/explosion/index.html">Explosion simulation</a>
- <a href="../simulation/life/index.html">Game of life</a>
-
-
-</pre>
+</p>
+<ul class="org-ul">
+<li><a href="../games/checkers/index.html">Checkers game</a>
+</li>
+<li><a href="../games/mario/index.html">Super Mario clone</a>
+</li>
+<li><a href="../graphics/3D/3dSynthezier/doc/index.html">3D synthezer</a>
+</li>
+<li><a href="../graphics/3D/ray casting engine/index.html">Ray casting 3D engine</a>
+</li>
+<li><a href="../graphics/4D engine/index.html">4D engine</a>
+</li>
+<li><a href="../math/3D graph/index.html">Interactive 3D graph for visualizing formulas</a>
+</li>
+<li><a href="../math/biorythm/index.html">Biorythm calculator</a>
+</li>
+<li><a href="../networking/digital data over analog audio channel/index.html">Digital data over analog audio channel</a>
+</li>
+<li><a href="../simulation/explosion/index.html">Explosion simulation</a>
+</li>
+<li><a href="../simulation/life/index.html">Game of life</a>
+</li>
+</ul>
+</div>
+<div id="postamble" class="status">
+<p class="author">Author: Svjatoslav Agejenko</p>
+<p class="date">Created: 2015-03-31 Tue 08:02</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.4.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p>
+<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
+</div>
</body>
</html>
--- /dev/null
+#+TITLE: QBasicApps - collection of applications mostly written in MS QBasic for DOS environment
+
+-----
+- [[http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]]
+
+- These programs are free software; you can redistribute them and/or
+ modify them under the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General
+ Public License]] or later as published by the Free Software
+ Foundation.
+
+- Programs author:
+ - Svjatoslav Agejenko
+ - Homepage: http://svjatoslav.eu
+ - Email: mailto://svjatoslav@svjatoslav.eu
+
+- [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
+
+
+This collection contains lots of applications:
++ games
++ graphics tests (2D/3D/4D)
++ algorithms tests
++ utilities
+I wrote them long time ago mostly in QBasic, some in x86 assembly for
+use under DOS environment.
+
+
+Few sample applications from the package:
++ [[file:../games/checkers/index.html][Checkers game]]
++ [[file:../games/mario/index.html][Super Mario clone]]
++ [[file:../graphics/3D/3dSynthezier/doc/index.html][3D synthezer]]
++ [[file:../graphics/3D/ray casting engine/index.html][Ray casting 3D engine]]
++ [[file:../graphics/4D engine/index.html][4D engine]]
++ [[file:../math/3D graph/index.html][Interactive 3D graph for visualizing formulas]]
++ [[file:../math/biorythm/index.html][Biorythm calculator]]
++ [[file:../networking/digital data over analog audio channel/index.html][Digital data over analog audio channel]]
++ [[file:../simulation/explosion/index.html][Explosion simulation]]
++ [[file:../simulation/life/index.html][Game of life]]
' Checkers game (unfinished)\r
' by Svjatoslav Agejenko 2001\r
-' svjatoslavagejenko@gmail.com\r
\r
\r
DECLARE SUB compki (m%, h%, x1%, y1%)\r
\r
humx1 = 0\r
END SUB\r
-\r
' Super Mario style game\r
' by Svjatoslav Agejenko 1999\r
-' E-mail: svjatoslavagejenko@gmail.com\r
\r
DECLARE SUB CL ()\r
DECLARE SUB esc ()\r
PRINT "You are "\r
LOCATE 2, 1\r
PRINT " killed! "\r
- \r
+\r
FOR x = 0 TO 80\r
FOR y = 0 TO 16\r
IF POINT(x, y) > 0 THEN LINE (x * 5, y * 5 + 50)-(x * 5 + 4, y * 5 + 54), 4, BF\r
NEXT a\r
CLOSE\r
END SUB\r
-\r
' Worm game\r
' by Svjatoslav Agejenko 2002\r
-' E-mail: svjatoslavagejenko@gmail.com\r
\r
DECLARE FUNCTION cnum$ (a%)\r
DECLARE SUB putworm (a%)\r
NEXT a\r
\r
END SUB\r
-\r
' by Svjatoslav Agejenko\r
' homeage: http://svjatoslav.eu\r
-' e-mail: svjatoslavagejenko@gmail.com\r
+' e-mail: svjatoslav@svjatoslav.eu\r
\r
' Before running, make sure include path is correct. See below.\r
\r
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
-<html>\r
-<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
-<title>3D Synthezier</title>\r
-</head>\r
-<body>\r
-<h1>3D Synthezier</h1>\r
-<a href="http://svjatoslav.eu/programs.jsp">Other applications hosted on svjatoslav.eu</a>\r
-<br/><br/>\r
-<b>Program author:</b>\r
-<br/>Svjatoslav Agejenko\r
-<br/>Homepage: http://svjatoslav.eu\r
-<br/>E-mail: svjatoslav@svjatoslav.eu\r
-<br/><br/>\r
-Distributed under <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU GENERAL PUBLIC LICENSE Version 2</a>.\r
-\r
-<br/>\r
-<br/>\r
-<pre>\r
- \r
-This QBasic program was written by me in around 2003. It parses scene definition language and creates 3D world based on it.\r
-Result will be in a wavefront obj file, witch can be then visualized using external renderer.\r
-\r
-Basic concept of defining scene is:\r
- Simple and primitive objects are created on point and polygon level.\r
- More complex ones can be created my combinig already existing ones,\r
- while applying various transformations on them.\r
-\r
-Objects with all its subobjects can be rotated, flipped or resized omong any axis.\r
-Generator has built in cache for data input and output to minimize file access.\r
-\r
-</pre>\r
-\r
-<BR/>Examples:\r
-<CENTER>\r
- <BR/><IMG src="city1.jpg">\r
- <BR/>Attempt to make "Fifth Eelement" like city.\r
- <BR/><BR/>\r
- \r
- <BR/><IMG src="city2.jpg">\r
- <BR/>Attempt to make "Fifth Eelement" like city. Night.\r
- <BR/><BR/>\r
-\r
- <BR/><IMG src="city3.jpg">\r
- <BR/>Attempt to make "Fifth Eelement" like city. Night.\r
- <BR/><br/>\r
-\r
- \r
- <BR/><IMG src="c1.jpg">\r
- <BR/>Hexangular city.\r
- <BR/><BR/>\r
- \r
- <BR/><IMG src="c2.jpg">\r
- <BR/>Hexangular city, closer.\r
- <BR/><BR/>\r
- \r
- <BR/><IMG src="c3.jpg">\r
- <BR/>Hexangular city, even closer.\r
- <BR/><BR/>\r
-</CENTER>\r
-\r
-<pre>\r
-<CODE>\r
-\r
-I converted these 2 generated cities also to <a href="http://www.blender.org/">Blender</a> format\r
-so you can explore them interactively :)\r
-\r
-Download:\r
- <a href="city_square.blend">Square city (3.5 MB)</a>\r
- <a href="city_hexagon.blend">Hexagonal city (20.3 MB)</a>\r
-\r
-\r
-\r
-\r
- System requirements\r
- ===================\r
- \r
-DOS (6.22 preferred)\r
-QBasic (4.5 preferred)\r
-\r
-\r
- Installation\r
- ============\r
- \r
-* Unpack ZIP file in any folder.\r
-* update include path inside bin/3dparse.bas\r
-\r
-\r
- Running program\r
- ===============\r
-\r
-Make sure you have QB binaries in your PATH.\r
-Execute bin/city1.bat or bin/city2.bat to generate example citys.\r
-After parsing is finished appropriate *.obj files will\r
-appear in the bin directory holding generated scene.\r
-Visualize scene with your favourite renderer.\r
-(3D Studio MAX or Nugraf 3D rendering System will do)\r
-\r
-\r
- Directory layout\r
- ================\r
-\r
-bin\r
- 3dparse.bas 3D generator main executable\r
- city1.3d city with square-like buildings\r
- city2.3d city with hexangular buildings\r
- result.mtl shared material library\r
- *.bat quick launch scripts\r
-doc manual\r
-include 3D objects used to compose the scene\r
- \r
-\r
- Scene description language\r
- ==========================\r
- (read examples...)\r
- \r
-\r
-here - defines new segment\r
-p x y z - defines new point\r
-f p1 p2 p3 p4 - defines new polygon, p4 may be unused\r
-warn message - displays warning message, and wait for key\r
-end - terminates parser\r
-mtl material - selects material\r
-mtlrnd material ... - selects random material from list\r
-obj object xz45 xy20 x+3 y*2 - includes sub object, can be rotated moved\r
- or resized,\r
- across X Y Z. If object name begin vith ~\r
- then it will be loaded from current directory.\r
- if object name ends with ~ then object will\r
- be parsed directly from file, and not chached,\r
- to allow loading of greater than 500 lines\r
- files.\r
- <IMG src="axes.png">\r
- \r
- \r
-rnd p^1^2^3 p^7^2^1 - select random command to execute, ^ will be\r
- converted to spaces.\r
-# whatever text - comment\r
-out file - specify output file name, must be first command\r
-set variable contents - set variable contents, variable must be\r
- number, contents can be string. max variables\r
- is 100. first is 0.\r
-anycommand %1 anything - inserts variable 1 contents info line\r
-cmp flag string1 string2 - compares strings, and inserts TRUE to flag, if\r
- they are equal, else inserts FALSE. max 9 falgs\r
- ,0 first. Each subobject has its own flags.\r
-?flag anycommand - executes command if flag is true.\r
- exapmle: ?3 obj car z*2 xy45\r
-dum - dummy function, does notheing\r
-\r
-</CODE>\r
-</pre>\r
-</BODY>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>3D Synthezier</title>
+</head>
+<body>
+<h1>3D Synthezier</h1>
+
+<pre>
+This QBasic program was written by me in around 2003. It parses scene
+definition language and creates 3D world based on it. Result will be
+in a wavefront obj file, witch can be then visualized using external
+renderer.
+
+Basic concept of defining scene is:
+ Simple and primitive objects are created on point and polygon level.
+ More complex ones can be created my combinig already existing ones,
+ while applying various transformations on them.
+
+Objects with all its subobjects can be rotated, flipped or resized
+omong any axis. Generator has built in cache for data input and
+output to minimize file access.
+
+</pre>
+
+<BR/>Examples:
+<CENTER>
+ <BR/><IMG src="city1.jpg">
+ <BR/>Attempt to make "Fifth Eelement" like city.
+ <BR/><BR/>
+
+ <BR/><IMG src="city2.jpg">
+ <BR/>Attempt to make "Fifth Eelement" like city. Night.
+ <BR/><BR/>
+
+ <BR/><IMG src="city3.jpg">
+ <BR/>Attempt to make "Fifth Eelement" like city. Night.
+ <BR/><br/>
+
+
+ <BR/><IMG src="c1.jpg">
+ <BR/>Hexangular city.
+ <BR/><BR/>
+
+ <BR/><IMG src="c2.jpg">
+ <BR/>Hexangular city, closer.
+ <BR/><BR/>
+
+ <BR/><IMG src="c3.jpg">
+ <BR/>Hexangular city, even closer.
+ <BR/><BR/>
+</CENTER>
+
+<pre>
+<CODE>
+
+I converted these 2 generated cities also
+to <a href="http://www.blender.org/">Blender</a> format so you can
+explore them interactively :)
+
+Download:
+ <a href="city_square.blend">Square city (3.5 MB)</a>
+ <a href="city_hexagon.blend">Hexagonal city (20.3 MB)</a>
+
+
+
+
+ System requirements
+ ===================
+
+DOS (6.22 preferred)
+QBasic (4.5 preferred)
+
+
+ Installation
+ ============
+
+* Unpack ZIP file in any folder.
+* update include path inside bin/3dparse.bas
+
+
+ Running program
+ ===============
+
+Make sure you have QB binaries in your PATH.
+Execute bin/city1.bat or bin/city2.bat to generate example citys.
+After parsing is finished appropriate *.obj files will
+appear in the bin directory holding generated scene.
+Visualize scene with your favourite renderer.
+(3D Studio MAX or Nugraf 3D rendering System will do)
+
+
+ Directory layout
+ ================
+
+bin
+ 3dparse.bas 3D generator main executable
+ city1.3d city with square-like buildings
+ city2.3d city with hexangular buildings
+ result.mtl shared material library
+ *.bat quick launch scripts
+doc manual
+include 3D objects used to compose the scene
+
+
+ Scene description language
+ ==========================
+ (read examples...)
+
+
+here - defines new segment
+p x y z - defines new point
+f p1 p2 p3 p4 - defines new polygon, p4 may be unused
+warn message - displays warning message, and wait for key
+end - terminates parser
+mtl material - selects material
+mtlrnd material ... - selects random material from list
+obj object xz45 xy20 x+3 y*2 - includes sub object, can be rotated moved
+ or resized,
+ across X Y Z. If object name begin vith ~
+ then it will be loaded from current directory.
+ if object name ends with ~ then object will
+ be parsed directly from file, and not chached,
+ to allow loading of greater than 500 lines
+ files.
+ <IMG src="axes.png">
+
+
+rnd p^1^2^3 p^7^2^1 - select random command to execute, ^ will be
+ converted to spaces.
+# whatever text - comment
+out file - specify output file name, must be first command
+set variable contents - set variable contents, variable must be
+ number, contents can be string. max variables
+ is 100. first is 0.
+anycommand %1 anything - inserts variable 1 contents info line
+cmp flag string1 string2 - compares strings, and inserts TRUE to flag, if
+ they are equal, else inserts FALSE. max 9 falgs
+ ,0 first. Each subobject has its own flags.
+?flag anycommand - executes command if flag is true.
+ exapmle: ?3 obj car z*2 xy45
+dum - dummy function, does notheing
+
+</CODE>
+</pre>
+</BODY>
</HTML>
' Galaxy explorer\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
' H-Page: svjatoslav.eu\r
\r
DECLARE SUB temp ()\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB startext ()\r
DECLARE SUB control ()\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB star (x!, y!, z!, an1!, an2!, an3!)\r
DECLARE SUB gp (x!, y!, z!, x1!, y1!)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB prn (x!, y!, a$)\r
DECLARE SUB pch (x!, y!, a$)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB startext ()\r
DECLARE SUB control ()\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB gravi ()\r
DECLARE SUB adda (x!, y!, z!, s!)\r
' Ray casting engine, written by Svjatoslav Agejenko\r
-' E-mail: svjatoslavagejenko@gmail.com\r
+' E-mail: svjatoslav@svjatoslav.eu\r
' Homepage: svjatoslav.eu\r
' 2003.03\r
\r
DECLARE SUB ling (x1%, y1%, x2%, y2%)\r
-' Svjatoslav Agejenko, svjatoslavagejenko@gmail.com, svjatoslav.eu\r
+' Svjatoslav Agejenko, svjatoslav@svjatoslav.eu, svjatoslav.eu\r
' 2004.07\r
\r
' Generate stereo image. Red & Green (blue) glasses necessary.\r
' made by Svjatoslav Agejenko\r
' in 2001\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
' arrow keys - move around\r
' 2, 6, 4, 8 - look around\r
' made by Svjatoslav Agejenko\r
' in 2003.03\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB setstar (x2!, y2!, z2!)\r
DECLARE SUB galaxy ()\r
' 3D engine\r
' made by Svjatoslav Agejenko\r
' last edit 2004.1\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
' H-Page: svjatoslav.eu\r
\r
DECLARE SUB fill3 ()\r
' made by Svjatoslav Agejenko\r
' last edit 2004.01\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB ln (x1!, y1!, x2!, y2!)\r
SCREEN 13\r
' made by Svjatoslav Agejenko\r
' in 2000\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
' Use keys to move around:\r
' Left, Right, Up, Down look around\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB loadScript (a$)\r
\r
' made by Svjatoslav Agejenko\r
' in 2003.08\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB chlin (x1!, y1!, z1!, q1!, x2!, y2!, z2!, q2!)\r
DECLARE SUB rot (x1!, y1!, z1!, q1!, x4!, y4!, z4!, q4!)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DIM SHARED px(1000) ' point x & y location\r
DIM SHARED py(1000)\r
-' by Svjatoslav Agejenko svjatoslavagejenko@gmail.com\r
+' by Svjatoslav Agejenko svjatoslav@svjatoslav.eu\r
' 2003.04\r
\r
DECLARE FUNCTION getc% ()\r
-' Svjatoslav Agejenko svjatoslavagejenko@gmail.com\r
+' Svjatoslav Agejenko svjatoslav@svjatoslav.eu\r
' 2003.10\r
\r
\r
' made by Svjatoslav Agejenko\r
' last edit 2004.01\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
SCREEN 7, , , 1\r
\r
' made by Svjatoslav Agejenko\r
' in 1999\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
\r
DECLARE SUB maa (a2%, b2%, c2%)\r
' Svjatoslav Agejenko 2003.01\r
-' svjatoslavagejenko@gmail.com\r
+' svjatoslav@svjatoslav.eu\r
\r
DEFINT A-Z\r
CLS\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
SCREEN 13\r
\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
SCREEN 13\r
\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB mo (x!, y!, an!, s!, w!)\r
DIM SHARED depth\r
' made by Svjatoslav Agejenko\r
' in 2001\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DEFINT A-Z\r
DECLARE SUB fp (x1, y1, x2, y2, x3, y3, c)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB startext ()\r
DECLARE SUB control ()\r
' made by Svjatoslav Agejenko\r
' in 2002\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
SCREEN 13\r
DIM SHARED byt AS STRING * 1\r
; made by Svjatoslav Agejenko\r
; in 2002\r
; H-Page: svjatoslav.eu\r
-; E-Mail: svjatoslavagejenko@gmail.com\r
+; E-Mail: svjatoslav@svjatoslav.eu\r
\r
[BITS 16]\r
[ORG 0x100]\r
' made by Svjatoslav Agejenko\r
' in 2002\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB pag4 ()\r
DECLARE SUB getkey (a$)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB linem (x1!, y1!, x2!, y2!, col!)\r
DIM SHARED linevx(1 TO 100)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DIM SHARED torux(1 TO 10000)\r
DIM SHARED toruy(1 TO 10000)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DIM SHARED torux(1 TO 10000)\r
DIM SHARED toruy(1 TO 10000)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DIM SHARED torux(1 TO 10000)\r
DIM SHARED toruy(1 TO 10000)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
\r
DECLARE SUB fill (x1, y1, x2, y2, xx1, yy1, xx2, yy2)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB fill (x1, y1, x2, y2, xx1, yy1, xx2, yy2, hel)\r
DIM SHARED torux(1 TO 10000)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DEFINT A-Z\r
SCREEN 13\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DEFINT A-Z\r
SCREEN 13\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB box (x1%, y1%, s%)\r
DECLARE SUB setpal ()\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB paper (x1%, y1%, x2%, y2%)\r
DEFINT A-Z\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
SCREEN 13\r
\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB wood (x1%, y1%)\r
DECLARE SUB paper (x1%, y1%)\r
' made by Svjatoslav Agejenko\r
' in 2001\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB start ()\r
DECLARE SUB show (d%)\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB init ()\r
DECLARE SUB pp (x1, y1, x2, y2, c!)\r
' made by Svjatoslav Agejenko\r
' in 2002\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB mulr2 (a!, b!)\r
DECLARE SUB show2 ()\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
\r
' this program calculates sinus without using SIN function\r
made by Svjatoslav Agejenko\r
in 2002.08\r
H-Page: svjatoslav.eu\r
-E-Mail: svjatoslavagejenko@gmail.com\r
+E-Mail: svjatoslav@svjatoslav.eu\r
\r
LPTDRV is a memory resident driver for LPT network.\r
It hooks IRQ 0 and checks ca. 18 times per second LPT status.\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
CLS\r
\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
\r
\r
' made by Svjatoslav Agejenko\r
' in 2003.12\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DIM SHARED byte AS STRING * 1\r
OPEN COMMAND$ FOR BINARY AS #1\r
' made by Svjatoslav Agejenko\r
' in 2002\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
DEFINT A-Z\r
DECLARE SUB send (char$)\r
' made by Svjatoslav Agejenko\r
' in 2002\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
' Control current on LPT port pins,\r
' use keys 1 - 8 to toggle on/off\r
' made by Svjatoslav Agejenko\r
' in 2002\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
\r
' Monitors LPT1 pins 14, 16, 17 and some others.\r
' made by Svjatoslav Agejenko\r
' in 2001\r
' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' E-Mail: svjatoslav@svjatoslav.eu\r
\r
\r
' in observing mode use keys:\r
-' Svjatoslav Agejenko svjatoslavagejenko@gmail.com year:2002\r
+' Svjatoslav Agejenko svjatoslav@svjatoslav.eu year:2002\r
' See or modify "passwd.dat" for password.\r
' Is useful when compiled into EXE, and put into AUTOEXEC.BAT\r
\r
' window engine, 2003\r
' Svjatoslav Agejenko\r
-' svjatoslavagejenko@gmail.com\r
+' svjatoslav@svjatoslav.eu\r
\r
DECLARE SUB demo ()\r
DECLARE FUNCTION getline$ (w%, l%)\r