-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhelpfile.pas
399 lines (398 loc) · 18 KB
/
helpfile.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
sl.add(' ');
sl.add(' ');
sl.add(' |08// |15Index');
sl.add(' ');
sl.add(' Press number/char. on your keyboard to quick navigate');
sl.add(' ');
sl.add(' :: 1. |15Key ShortCuts');
sl.add(' :: 2. |15Codes for use in Macros');
sl.add(' :: 3. |15Pipe Color Values');
sl.add(' :: 4. |15Calculating Color Value for INI file');
sl.add(' :: 5. |15INI Configuration');
sl.add(' a. |03[MsgBox]');
sl.add(' b. |03[Form] ');
sl.add(' c. |03[General]');
sl.add(' d. |03[ACS]');
sl.add(' e. |03[Macro]');
sl.add(' f. |03[Music]');
sl.add(' :: 6. |15Play some music!!!');
sl.add(' g. |03How it''s done...');
sl.add(' h. |03How Blocker gets the tracks...');
sl.add(' i. |03INI file have this format');
sl.add(' :: 7. |15Autotext');
sl.add(' :: 8. |15Regular Expressions');
sl.add('');
sl.add(' |08// |15Features');
sl.add(' ');
sl.add(' In random order... :p');
sl.add(' ');
sl.add(' + Macros...');
sl.add(' + Take ANSI snapshots of the screen...');
sl.add(' + Up to 600 phonebook records, more than enough...');
sl.add(' + Load multiple phonebooks...');
sl.add(' + Sort phonebook in many ways...');
sl.add(' + Scrollback');
sl.add(' + Import SyncTerm phonebook...');
sl.add(' + Comes with a BASH shell to automatically get the latest list from ');
sl.add(' BBSIndex');
sl.add(' + Preview local ANSI files...');
sl.add(' + Convert an ANSI file to a Mystic Pipe Codes file...');
sl.add(' + Use it as a DOOR program in your BBS...');
sl.add(' + Change fields to view in Phonebook list...');
sl.add(' + Use the ASCII char. dialog to enter any ASCII code to a BBS, very ');
sl.add(' usefull when customizing your BBS.');
sl.add(' + Autotext feature!... see below.');
sl.add(' + Custom StatusBar...');
sl.add(' + zmodem download support [added in v2.1]');
sl.add(' zmodem upload has some issues yet, but i am working it out.');
sl.add(' + Copy/paste within the terminal, with the normal terminal key shortcuts');
sl.add(' for Gnome Terminal is CTRL+SHIFT+V/C');
sl.add(' + Fascinating theme!!!!');
sl.add(' + You can search the BBS list, by typing the name/address of a bbs');
sl.add(' and more...');
sl.add('');
sl.add(' ');
sl.add(' ');
sl.add(' |08// |15Key ShortCuts');
sl.add(' ');
sl.add(' :: |11PhoneBook Editor');
sl.add(' ');
sl.add(' ALT-C // Convert ANSI file to Mystic Pipes File');
sl.add(' ALT-D // Direct/Quick Dial');
sl.add(' ALT-E // Edit Record');
sl.add(' ALT-I // Import SyncTerm Phonebook file');
sl.add(' ALT-M // Edit Macros');
sl.add(' ALT-O // Open/Load Phonebook file');
sl.add(' ALT-P // Preview ANSI file, locally');
sl.add(' ALT-S // Change PhoneBook Sort Order');
sl.add(' ALT-X // Exit Program');
sl.add(' ');
sl.add(' DEL // Delete Phonebook Entry');
sl.add(' ESC // Menu');
sl.add(' ENTER // Dial to Select BBS');
sl.add('');
sl.add(' :: |11While Connected');
sl.add(' ');
sl.add(' ALT-Z // Brings up a command Menu');
sl.add(' ALT-A // Snapshot of screen, with file dialog');
sl.add(' ALT-D // Snapshot of screen, immediately');
sl.add(' ALT-B // ScrollBack History');
sl.add(' ALT-E // Edit PhoneBook Entry');
sl.add(' ALT-H // Hang Up');
sl.add(' ALT-L // Send Login Credentials');
sl.add(' ALT-M // Edit/View Macros');
sl.add(' ALT-P // Stop Music');
sl.add(' ALT-Q // File Queue');
sl.add(' ALT-T // Transfer File [not quite implemented yet]');
sl.add(' ALT-W // Write AutoText');
sl.add(' ALT-R // Find RegEx in screen');
sl.add(' ALT-C // Insert an ASCII char, with dialog');
sl.add(' CTR-S // Statusbar on/off');
sl.add(' ');
sl.add(' ');
sl.add(' ');
sl.add(' |08// |15Codes for use in Macros');
sl.add(' ');
sl.add(' Put one of these codes in place of the value you want to put in a ');
sl.add(' field of the BBS.');
sl.add(' ');
sl.add(' BD : Blocker Directory');
sl.add(' CR : Carriage Return');
sl.add(' CL : Clear Screen');
sl.add(' CE : Escape Char.');
sl.add(' UN : Username (from the phonebook record)');
sl.add(' PW : Password (from the phonebook record)');
sl.add(' PA : Pause for half a second');
sl.add(' QO : Random Quote from the Quote File');
sl.add(' DA : Current Date');
sl.add(' * SH : Execute BASH Shell Script');
sl.add(' ');
sl.add(' * For use only in the main program and not while connected to a BBS');
sl.add(' ');
sl.add(' ');
sl.add(' ');
sl.add(' |08// |15Pipe Color Values');
sl.add(' ');
sl.add(' 00 : Sets the current foreground to Black');
sl.add(' 01 : Sets the current foreground to Dark Blue');
sl.add(' 02 : Sets the current foreground to Dark Green');
sl.add(' 03 : Sets the current foreground to Dark Cyan');
sl.add(' 04 : Sets the current foreground to Dark Red');
sl.add(' 05 : Sets the current foreground to Dark Magenta');
sl.add(' 06 : Sets the current foreground to Brown');
sl.add(' 07 : Sets the current foreground to Grey');
sl.add(' 08 : Sets the current foreground to Dark Grey');
sl.add(' 09 : Sets the current foreground to Light Blue');
sl.add(' 10 : Sets the current foreground to Light Green');
sl.add(' 11 : Sets the current foreground to Light Cyan');
sl.add(' 12 : Sets the current foreground to Light Red');
sl.add(' 13 : Sets the current foreground to Light Magenta');
sl.add(' 14 : Sets the current foreground to Yellow');
sl.add(' 15 : Sets the current foreground to White');
sl.add(' ');
sl.add(' ');
sl.add(' ');
sl.add(' |08// |15Calculating Color Value for INI file');
sl.add(' ');
sl.add(' |03Foreground and Background');
sl.add(' 00 : Sets the current foreground to Black');
sl.add(' 01 : Sets the current foreground to Dark Blue');
sl.add(' 02 : Sets the current foreground to Dark Green');
sl.add(' 03 : Sets the current foreground to Dark Cyan');
sl.add(' 04 : Sets the current foreground to Dark Red');
sl.add(' 05 : Sets the current foreground to Dark Magenta');
sl.add(' 06 : Sets the current foreground to Brown');
sl.add(' 07 : Sets the current foreground to Grey');
sl.add(' ');
sl.add(' |03Only Foreground');
sl.add(' 08 : Sets the current foreground to Dark Grey');
sl.add(' 09 : Sets the current foreground to Light Blue');
sl.add(' 10 : Sets the current foreground to Light Green');
sl.add(' 11 : Sets the current foreground to Light Cyan');
sl.add(' 12 : Sets the current foreground to Light Red');
sl.add(' 13 : Sets the current foreground to Light Magenta');
sl.add(' 14 : Sets the current foreground to Yellow');
sl.add(' 15 : Sets the current foreground to White');
sl.add(' ');
sl.add(' To get the color value for White Text in Red Background you do ');
sl.add(' this: 15 + 4 * 16 =|07 79. The format is FG + BG * 16.');
sl.add(' ');
sl.add(' ');
sl.add(' ');
sl.add(' |08// |15INI Configuration');
sl.add(' ');
sl.add(' :: |11[List] Stanza');
sl.add(' Contains the color attributes for any list object. The color is ');
sl.add(' in form FG + BG * 16. ');
sl.add(' ');
sl.add(' |09Hi=|0763 // White on Dark Cyan');
sl.add(' |09Low=|073 // Dark Cyan on Black');
sl.add(' |09Tag=|0714 // Yellow on Black');
sl.add(' ');
sl.add(' :: |11[MsgBox] Stanza');
sl.add(' Contains attributes for boxes, like in the message box, phone ');
sl.add(' rec. list etc.');
sl.add(' ');
sl.add(' |09Frame=|079 // 1 to 9, different chars. for box frame');
sl.add(' |09Header=|0715 // Color value as above');
sl.add(' |09Attr1=|0711 // Color value as above');
sl.add(' |09Attr2=|073 // Color value as above');
sl.add(' |09Attr3=|077 // Color value as above');
sl.add(' |09Attr4=|0715 // Color value as above');
sl.add(' |093D=|071 // 1 for true, 0 for false, also adds shadow to the');
sl.add(' // box.');
sl.add(' ');
sl.add(' :: |11[Form] Stanza');
sl.add(' Contains attributes for the edit entry form. All attributes are ');
sl.add(' color values.');
sl.add(' ');
sl.add(' |09Lo=|073');
sl.add(' |09Hi=|0763');
sl.add(' |09Data=|077');
sl.add(' |09Lokey=|0711');
sl.add(' |09HiKey=|0762');
sl.add(' |09Field1=|0711');
sl.add(' |09Field2=|0715');
sl.add(' ');
sl.add(' :: |11[General] Stanza');
sl.add(' Various settings for the program. ');
sl.add(' ');
sl.add(' |09auto_zmodem=|071');
sl.add(' |09download_path=');
sl.add(' Where to save downloaded files.');
sl.add(' ');
sl.add(' This is the file to use for Quotes/Tags. If you don''t specify ');
sl.add(' one, nothing happens :)');
sl.add(' |09quotefile=|07greektags.txt');
sl.add(' ');
sl.add(' This value saves the last phonebook file you used. By default is ');
sl.add(' blocker.bbs.');
sl.add(' |09phonebook=|07blocker.bbs');
sl.add(' ');
sl.add(' The statusbar value contains the text format for the status bar ');
sl.add(' in the program. You can use the following codes to customize your ');
sl.add(' status bar and also any Pipe color code to colorize it.');
sl.add(' statusbar=|07|19|15ALT-Z|07 H|08elp Screen |00|DA|16');
sl.add(' ;|DA =|07 Date');
sl.add(' ;|BN =|07 BBS Name');
sl.add(' ;|CS =|07 Total Calls');
sl.add(' ;|LO =|07 Last Call');
sl.add(' ;|QO =|07 Random Quote');
sl.add(' ;|SL =|07 Security Level');
sl.add(' ;|UY =|07 User IP ?');
sl.add(' ;|UN =|07 Username');
sl.add(' ;|BD =|07 Blocker Dir');
sl.add(' ');
sl.add(' :: |11[ACS] Stanza');
sl.add(' The ACS stanza contains ACS (securitly level) values for various ');
sl.add(' functions of the program, in case you are using it as a DOOR app. ');
sl.add(' This way, you don''t allow users to have access to sensitive data ');
sl.add(' on your BBS system and you can allow/forbid what they can do or ');
sl.add(' not.');
sl.add(' ');
sl.add(' Any function that browses the BBS file system, should not be let ');
sl.add(' free to use, to random users, so by default the ACS level is ');
sl.add(' increased. The program gets current users ACS level from the ');
sl.add(' DOOR32.SYS file and compares it with this one. If the user has ');
sl.add(' higher or equal, sec.level the function is allowed.');
sl.add(' ');
sl.add(' |09PreviewANSI=|0750');
sl.add(' |09PreviewChars=|0720');
sl.add(' |09ConvertANSI=|0750');
sl.add(' |09ImmidiateDial=|0720');
sl.add(' |09LoadPhoneBook=|0750');
sl.add(' |09SortRecords=|0720');
sl.add(' |09ImportSyncTerm=|0750');
sl.add(' |09EditMacros=|0750');
sl.add(' |09EditBook=|0750');
sl.add(' |09DelBook=|0750');
sl.add(' |09DelRecord=|0750');
sl.add(' |09Upload=|0750');
sl.add(' |09Download=|0750');
sl.add(' |09SaveScreen=|0750');
sl.add(' ');
sl.add(' :: |11[Macro] Stanza');
sl.add(' This stanza saves the Macro commands, which you can also edit ');
sl.add(' from within the program.');
sl.add(' |090=|07');
sl.add(' |091=|07|UN|PA|PW');
sl.add(' |092=|07|CE');
sl.add(' |093=|07|CE|PA');
sl.add(' |094=|07|UN');
sl.add(' |095=|07|PW');
sl.add(' |096=|07|QO');
sl.add(' |097=|07');
sl.add(' |098=|07');
sl.add(' |099=|07|SH|BDbbstelnet.sh');
sl.add(' ');
sl.add(' |11[regex_x] Stanza');
sl.add(' Use the internal RegEx editor. Blocker supports up to 50 different RegEx records');
sl.add(' |09Name=|07URL/HTTP');
sl.add(' |09RegEx=|07https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)');
sl.add(' |09Command=|07firefox %M');
sl.add(' ');
sl.add(' :: |11[Music] Stanza');
sl.add(' Here you can configure which program to use for playing music. ');
sl.add(' See below on how to customize your BBS to support Music/Sounds.');
sl.add(' ');
sl.add(' By default the program uses XMP which is the best player for ');
sl.add(' track music. You can use anything you want, but i do recommend ');
sl.add(' XMP.');
sl.add(' ');
sl.add(' The |15%f|07 represents the file than the music player will play. ');
sl.add(' Blocker needs one command to play music and one to stop/kill the ');
sl.add(' player. XMP doesn''t support a mode to interact through a command ');
sl.add(' or protocol, so it needs to be killed.');
sl.add(' ');
sl.add(' |09play=|07xmp "%f" -q &');
sl.add(' |09stop=|07pkill xmp');
sl.add(' ');
sl.add(' ');
sl.add(' ');
sl.add('|08// |15Play some music!!!');
sl.add('');
sl.add(' Do you want to add some music/sound fx to your BBS? Now you can, ');
sl.add(' with Blocker! It''s not easy, but you can do it and it also opens ');
sl.add(' many possibilities in using your BBSes, like Sound Notifications ');
sl.add(' ;)');
sl.add(' ');
sl.add(' |03How it''s done...');
sl.add(' Blocker uses some character codes to recognize when to play a ');
sl.add(' track file. So, when it finds a code, it knows to play a specific ');
sl.add(' file or stop the music. The code is similar to Pipe codes but ');
sl.add(' instead of a Pipe it uses the SOH/x01 (#01 for Pascal) character ');
sl.add(' and also two more characters from 0 to 9 and A to Z.');
sl.add(' ');
sl.add(' For displaying the codes in this file, i will use the [SOH] label.');
sl.add(' ');
sl.add(' So, a music code can be: [SOH]00 or [SOH]AF or [SOH]WW etc. One ');
sl.add(' exception is the StopMusic code which is 3 time the [SOH] char. ');
sl.add(' like [SOH][SOH][SOH]. Values from 00 to FE are used for ');
sl.add(' recognizing tracks. This way you have the possibility to use 254');
sl.add(' tracks, which i think are enough. The FF code is a special one ');
sl.add(' and is used to play a random music file, from a specific folder. ');
sl.add(' This way, you can use even more tracks than 254. Let''s recap...');
sl.add(' ');
sl.add(' [SOH][SOH][SOH] : Stop Music');
sl.add(' [SOH]00 to [SOH]FE : Play Track with HEX value 00 to FE');
sl.add(' [SOH]FF : Play random track from specified folder.');
sl.add(' ');
sl.add(' |03How Blocker gets the tracks...');
sl.add(' Actually, Blocker can''t get any track :( You have to provide ');
sl.add(' them. A BBS that wants to add Music/Sound, should build a package ');
sl.add(' containing all the tracks, in a specified directory structure and ');
sl.add(' also include an INI file. The INI file must have a name, exactly ');
sl.add(' as the name of the BBS used in the PhoneBook. Lets see an ');
sl.add(' example.');
sl.add(' ');
sl.add(' Lets say you have a PhoneBook entry for a BBS called "Ansimania ');
sl.add(' BBS". The music package for this BBS, should have the following ');
sl.add(' format:');
sl.add(' ');
sl.add(' + ansimania [DIR]');
sl.add(' +--+ random [DIR]');
sl.add(' [ [ track1.mod [File]');
sl.add(' [ [ track2.mod [File]');
sl.add(' [ [ etc.');
sl.add(' [');
sl.add(' [ trackx.mod [File]');
sl.add(' [ tracky.mod [File]');
sl.add(' [ trackz.mod [File]');
sl.add(' [ etc.');
sl.add(' [ Ansimania_BBS.ini [File]');
sl.add(' ');
sl.add(' If you have enabled to use music for the specific BBS in your ');
sl.add(' PhoneBook, Blocker will search for the Ansimania_BBS.ini file, it ');
sl.add(' will read it and then play the music according to the music codes ');
sl.add(' the BBS will provide.');
sl.add(' ');
sl.add(' The INI file have this format:');
sl.add(' ');
sl.add(' [music]');
sl.add(' |09dir=|07|BDmusic/local/');
sl.add(' |0901=|07modem.xm');
sl.add(' |0902=|07evil.xm');
sl.add(' |0903=|07programming.xm');
sl.add(' ');
sl.add(' |09dir=|07');
sl.add(' This is the directory where the music files are stored. It can be ');
sl.add(' anywhere in your disk. You can use the |BD pipe code to specify ');
sl.add(' that is inside the same folder as Blocker (Blocker Directory).');
sl.add(' ');
sl.add(' |0901=|07, |0902=|07... |09FE=|07,');
sl.add(' This tells which file to play when Blocker sees the [SOX]10 code. ');
sl.add(' Accordingly you can have values up to |09FE=|07');
sl.add(' ');
sl.add(' |03The Random Dir...');
sl.add(' As you see there is also a dir. called "random". Inside this ');
sl.add(' directory you can put any track music you want. When Blocker ');
sl.add(' recognizes the [SOH]FF command, it will pick one track, randomly, ');
sl.add(' from this directory and play it. This way you can use the [SOH]FF ');
sl.add(' command to have different music, on the same menus/functions, ');
sl.add(' with just using one code.');
sl.add(' ');
sl.add(' Check the included package for Another Droid BBS, to get an ');
sl.add(' example and understand the use better. Also, login to Another ');
sl.add(' Droid BBS to listen to it ;)');
sl.add(' ');
sl.add(' ');
sl.add(' ');
sl.add(' |08// |15Autotext');
sl.add(' ');
sl.add(' In some BBSes i noticed that there is a lot of lag. This is ');
sl.add(' normal if you are connecting from a very long distance or the ');
sl.add(' connection is bad. In some cases, typing text to a BBS was ');
sl.add(' impossible, with a lag of 1-3 secs. This way, i figured to have ');
sl.add(' the Autotext feature.');
sl.add(' ');
sl.add(' By pressing ALT-W, a form appears, where you can type text, up to ');
sl.add(' 10 lines at a time. This way you can write your message, edit it ');
sl.add(' and when you are ready, you press OK and Blocker sends it as a ');
sl.add(' stream of text to the BBS.');
sl.add(' ');
sl.add(' This way, you don''t have to wait 1-3 secs for each keypress or ');
sl.add(' when you did a typo, stop wait, press backspace, wait etc... I ');
sl.add(' hope that this will be useful and who knows, you may find other ');
sl.add(' ways to use it. ');
sl.add(' ');
sl.add(' ');