Initial commit
[qbasicapps.git] / index.org
1 #+TITLE:  QBasicApps - collection of applications mostly written in MS QBasic for DOS environment
2
3 * (document settings) :noexport:
4 ** use dark style for TWBS-HTML exporter
5 #+HTML_HEAD: <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
6 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
7 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
8 #+HTML_HEAD: <style type="text/css">
9 #+HTML_HEAD:   footer {background-color: #111 !important;}
10 #+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
11 #+HTML_HEAD: </style>
12
13 * General
14
15 - This program is free software: you can redistribute it and/or modify
16   it under the terms of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] as
17   published by the Free Software Foundation, either version 3 of the
18   License, or (at your option) any later version.
19
20 - Program author:
21   - Svjatoslav Agejenko
22   - Homepage: https://svjatoslav.eu
23   - Email: mailto://svjatoslav@svjatoslav.eu
24
25 - [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
26
27 ** Source code
28 - [[https://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]]
29
30 - [[https://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=summary][Browse Git repository online]]
31
32 - Clone Git repository using command:
33   : git clone https://www2.svjatoslav.eu/git/qbasicapps.git
34
35 * Running QBasic applications on Debian GNU/Linux
36
37 To run these applications on a modern GNU Debian Linux system, follow
38 these steps:
39
40 1. Install DOSBox by running the following command in your terminal:
41    : sudo apt-get install dosbox
42
43 2. Place a copy of QBASIC.EXE and/or QuickBasic compiler in repository root directory.
44
45 3. Execute script that is located in the repository root directory:
46    : ./run_dosbox.sh
47
48 4. Run the script to launch DOSBox:
49    : ./run_dosbox.sh
50
51 5. Inside DOSBox, navigate to the directory containing your QBasic program and run it using the interpreter or compiler.
52
53
54 * DOSBox usage tips
55 ** How to change keyboard layout to Dvorak
56
57 In case you want to use Dvorak keyboard layout and DOSBox fails to
58 auto-apply it, here is how you can set it manually:
59
60 1. Edit file:
61   : ~/.dosbox/dosbox-<version>.conf
62
63 2. Modify *keyboardlayout* field as follows
64   : keyboardlayout=dv103
65
66 3. Save the changes and restart DOSBox for the configuration to take
67    effect.
68
69 ** Increase window size
70
71 If you have big high-resolution screen, by default DOSBox window could
72 appear small. To make it bigger:
73
74 1. Edit file:
75   : ~/.dosbox/dosbox-<version>.conf
76
77 2. Set windowresolution to either of those values:
78    : windowresolution=1366x768
79    : windowresolution=1600x900
80
81 3. Save the changes and restart DOSBox for the configuration to take
82    effect.
83
84
85 * Content
86 This collection contains lots of applications:
87 + Games.
88 + Graphics tests (2D/3D/4D).
89 + Algorithms tests.
90 + Utilities.
91
92 I wrote them long time ago mostly in QBasic, some in x86 assembly for
93 use under DOS operating system.
94
95
96 Few sample applications from the package:
97 ** Checkers
98  Play checkers against the computer with any board size and any amount
99  of caps. Does thinking by recursively testing many possible scenarios
100  with any depth.
101
102  Since it is slow QBasic implementation, it isn't practical to play
103  with many caps or big thinking depth, for reasonable responce time.
104
105  See directory:
106  : games/checkers
107
108  [[file:games/checkers/screenshot.png]]
109
110 ** Platform game
111  Jump around, collect coins and dont touch snails! Inspired by Super
112  Mario Bros.
113
114  See directory:
115  : games/platform
116
117  [[file:games/platform/screenshot.png]]
118
119 ** 3D Synthezier
120  Parses scene definition language and creates 3D world based on
121  it. Result will be in a [[https://en.wikipedia.org/wiki/Wavefront_.obj_file][wavefront obj file]], witch can be then
122  visualized using external renderer.
123
124  See directory:
125  : graphics/3D/3D Synthezier
126
127  [[file:graphics/3D/3D Synthezier/doc/rectangular city, 1.jpeg]]
128
129  [[file:graphics/3D/3D Synthezier/doc/hexagonal city, 2.jpeg]]
130
131  [[file:graphics/3D/3D Synthezier/doc/index.html][Read more]]