textfiles/phreak/BLUEBOXING/yabb.txt
2021-04-15 13:31:59 -05:00

184 lines
5.6 KiB
Plaintext

YABB - Yet Another Blue Box Version 0.93 Jan, 08 1992
All code and ideas by: fst, gofty, panda, friedo, nevs and to-pse
Sine-Code written by fst, gofty & to-pse
Macro-Parser written by fst and additions by to-pse
Sound-blaster & Ad-Lib support by friedo & to-pse
Testing & suggestions by panda & nevs
YABB is a blue-box program for the PC-compatibles. It was written to support
the circuitry of the Chaos Computer Club Hamburg, FRG. In addition there will
be support for Adlib-compatible Sound-Cards and the Soundblaster and an much
improved version of the original d/a-circuitry. Currently the program has been
tested on the following systems:
AT486 33Mhz
AT386 33Mhz
AT386 ~8Mhz (slow mode)
AT286 12Mhz
The program requires at least a 286 processor. As the calculations involved
require some performance, there is the slight (?) possibility that the program
won't run correctly on slower systems. Especially the Sound-blaster support
needs a certain amount of speed for timing reasons.
YABB is supposed to be a replacement for the pcm.c program supplied for the
d/a-converter-card by the CCC. The handling of pcm was pretty crude. Com-
pared to this, YABB is a v e r y big improvement.
YABB is fully macro-oriented. First of all there are no definitions for things
like 'Clear Forward', 'Start', 'Seize' etc. Almost everything is defineable.
This makes YABB v e r y flexible.
If you find YABB to be a useful piece of software, please be so kind to send us
the amount of $20, DM40,- or equivalent. If you have any suggestions, questions
or other things concerning YABB, please contact us via email:
uucp: yabb@xfswob.han.de
yabb@xfswob.wob.sub.org
fido: yabb@(2:240/13)
DOCUMENTATION
-------------
After starting YABB, it tries to locate a precalculated sinus-table on your
disk, pointed to by the environment-variable YABB. You can set this variable
like this (for example):
set yabb=c:\yabb
If the variable is not set, YABB tries to load the table from the directory it
has been loaded from. If neither of those files can be found, a new sinetable
is being computed. This will take a while (depending on the speed of your sys-
tem). Afterwards the file will be written either to the path pointed to by the
environment-variable or into the directory from which YABB was loaded as a file
named sinus.dat.
Next YABB looks for a default-symbol-tabel called symbols.sym in the directory
pointed to by the environment-varible or in the directory YABB was loaded from.
If found it is loaded into YABB.
Afterwards YABB enters the command-mode. Here you have the possibilty to enter
new macros (here called symbols), execute macros, change the current mode of
operation or execute built-in procedures.
BUILT-IN COMMANDS
-----------------
.Info information about the authors and program
.List [symbol] list [symbol] or if missing all symbols
.Mode list the current state of the mode-stack
.Read [filename] reads [filename] and interprets it as commands
.Write [filename] stores current symbol-definitions as [filename]
.Hotkey enters hotkey-mode for instantaneaous access to macros
.Clear clears all symbol-definitions and the mode-stack
.Device [device] selects appropriate output-device (LPTx,AL,SB,DA)
.Quit quits YABB
.HElp displays all currently supported builtin command
.Fullscreen enters full-screen command mode with mouse-support
(currently not supported - wait for Release 1.00)
All commands can be abbreviated by the first or first two letters.
MODE-CHANGING
-------------
/xxx pushes xxx on the mode-stack, making it the current
Mode
\ pops the last element off the mode-stack
SYMBOL-DEFINITION
-----------------
<symbol>=<Commands> Defines <symbol> as being a sequenz of <Commands>,
where Commands can be symbols itself, Mode-Changes,
OutPut of Sound etc.
<symbol>= Deletes <symbol>
SYMBOL-EXECUTION
----------------
<symbol> Expands and executes <symbol>
HOTKEY-DEFINITIONS
------------------
Key Normal Val Shifted Val Alted Val Ctrl-Val
-------------------------------------------------------------------------
F1 315 340 360 350
F2 316 341 361 351
F3 317 342 362 352
F4 318 343 363 353
F5 319 344 364 354
F6 320 345 365 355
F7 321 346 366 356
F8 322 347 367 357
F9 323 348 368 358
F10 324 349 369 359
F11 -- -- -- --
F12 -- -- -- --
PRT -- -- -- --
ROLL -- -- -- --
PAUSE -- -- -- --
L_ARR 331 331 -- 371
R_ARR 333 333 -- 372
U_ARR 328 328 -- --
D_ARR 336 336 -- --
INS 338 338 -- --
DEL 339 339 -- --
POS1 327 327 -- 375
END 335 327 -- 373
PGUP 329 329 -- 388
PGDN 337 337 -- 374
TAB 9 271 -- --
BS 8 8 -- 127
CR 13 13 -- 10
ESC ************* should not be used **************
The other keys, like 0..9, A..Z, a..z and the special symbols (!,",$..)
are mapped to their ascii-values...
STILL MISSING
-------------
whitespaces should be handled much smoother
clear should clear mode-stack
program should run on any 286 fast than 12 Mhz (in SB-Mode, too)
read should not try to interpret .commands as filename
readkey should be able to get ALL extended keys (F11, F12 for example)
ad-lib support is still missing
keys should first not be mapped to upcase for definitions of hotkeys...
pulse-dialing
support for (auto-recognition of) D/A-card!
fullscreen-mode with mouse-support
syntax-check when defining macros