From
Aleksandr Majorov
→
To
All
5 July 1997
Hayushki, All!
Here's the "doc" on the BBC team...
╔══════════════ let’s start from here ══════════╗
constants begin with the character "`"
variables begin with the "@" symbol
labels begin with the character "_"
comments begin with a ";"
commands start at the beginning of the line, parameters
separated by a space. as parameters
text, constants and variables can be used
*****************************************
commands:
output a line to the log
. string
line-to-line output
< string
transition
goto mark
go by counter if number
more than the number of tags - do not move.
transition to metka1 to #00
goto on #? metka1 metka2 metka3 ....
call p/p
call label
return from p/p
ret
request a password if the password is not found,
then go to the label
password err_metka
end of connection
off_line
waiting for a key for some time
time (in ticks). key code re-
rush into the chr variable
wait time
comparisons
condition options
'=' equals
'!' not equal
'>' more comparison
'<' less than / _character codes_
conditional transition
if
call p/p by condition
ifcall
move to another drive
disk D:
call and launch overlay
overlay D:12345678~9
loading a file into the working overlay buffer
and its implementation.
to variable #? enter code:
0 - ok, 1 - no file,
2 - too long, 3 - errorinsert D:12345678~9 #?
upload file to file page by
address addr.
to variable #? enter code:
0 - ok, 1 - no file,
2 - too long, 3 - error
load D:12345678~9 addr #?
call p/n in machine codes in file
page at
usr addr
delete files from the _current_ disk
erase 12345678~9
save log
save_log D:12345678~9
delete transferred mail files
era_mail
delete the last _uploaded_ file
The code is entered into the variable:
0 - ok, 1 - error (no file)
era_last #?
rename file
original new
ren 12345678~9 12345678~9
optimize disk
move D:
transfer files by mask
trans_file D:12345678~9
accept files to disk and name them as
new_name D:12345678~9
transfer soap from disk
trans_mail D:
upload the "fence" file
load_fence D:12345678~9
output current from the "fence" file
letter, if there are no letters - go
pri_fence tag
add text to the loaded "fence"
file and save it. If the file is not
loaded, the command is ignored.
text can be strings of characters,
so are the variables
new_fence "user:" @date @name 13 $3
select ehi number #?
echo #?
go to next echo
echo+
go to previous echo
echo-
print for what numbers there is an echo
pri_echo
print for what numbers there is fekha
pri_fecho
mark/unmark the current echo
mark_echo
display of titles and presence of marks
pri_markenter text from a line (line editor)
to variable $? with time limit
tim (in ticks) and the line size siz
(in characters).
End of input - Enter at the beginning of the line
(Enter twice)
To a numeric variable #? the code is entered:
0 - ok, 1 - time up,
2 - many characters, 3 - empty line
inp_txt$? #? tim siz
enter the number from line 0...99.
the current character must be a digit, its
put it in a variable (#?=@key-"0").
if the next character is a digit - add
her (#?=#?*10+@key-"0"), if not - return
inp_num #?
clear line
clr_str$?
add $? symbols.
can be text
and variables
add_str$?
write the number 0...255 to a variable
num #i 123
increase variable
inc #i
reduce variable
dec #i
decrease, if not 0 - go
djnz #i metka
reset user flag 00...23
ures??
set user flag 00...23
uset??
reset all operating flags
res_all
reset operating flag 00...31
res??
set operating flag 00...31
set??
prohibit (#00) / enable (#01) commands
receiving files
download?
prohibit (#00) / enable (#01) commands
file transfer
upload?
prohibit (#00) / enable (#01) commands
disk directory transfer
transcat?
receiving one file at a time (after receiving -
stop) (#01) or wholesale (#00)
oneload?
stop (#00) / allow (#01)
answer calls
ring?
set the hourly program according to realtime: looking for clock_wait with time
equal to or greater than current
clock_real
waiting for the specified time to arrive (or coincidence, or real more
specified) after which execution continues
!! 00:00, etc. more than 22:00, etc.
clock_wait ??:??
transition to a new number - corresponding
user list correction
new_day
add file to file sheet.
the file name, its access level are specified,
status (banned/no) and comment
per file
add_file D:12345678~9 lev stat
entering comments on file(s) by mask:
drive/name/ext/date. can be used
"*" - any. when searching with a date it passes
date from above and above
pri_file D:12345678~9 ??-??-??
*****************************************
fixed marks:
time is up
_end_time
reception/transmission: not enough for this file
time
_no_time
called before transferring files,
it is possible to control the length of marked f
files, transmission speed, etc.
_transmit
Lost connection - short beeps
_no_carrier
no signal from user
_no_answer
n/a auto-save log
_autosave_log
call detected, handset picked up
_ring
start of the one-hour program
_clock
name specifier eh
_echo
start of work program
_main
*****************************************
working variables, instead
is substituted accordingly. values
s line of text
c number/character (character code)
n two-byte number
@name s first/last name
@passw s password@addr s network address
@phone s phone
@level s level
@ltime c time limit
@ftime c remaining time
@upld n how many downloaded
@dwld n how much did you download?
@ncall c how many times did I call
@ldate s last date call hh-mm-yy
@ltime s last time call hh:mm
@date s current date hh-mm-yy
@time s current time hh:mm
@enum c number of the current echo
@etxt s the name of the current echo
@enew s file name for emails in tech. echo
@fnew s file name for emails in tech. fehu
@flag?? c user flag 00...23
@nfile s name of the uploaded file
@lfile c available/no uploaded file
@key c key pressed
@disk c current disk
@mark c marked files
@size n sectors marked
@speed c current speed (number)
@type c transfer type:
0 - echo, 1 - faha, 2 - files 3 - direct reading from disk
#? n numeric variable 0...9
$? s character variable 0...9
@len? c length of text string
*****************************************
flags:
00 full/short menus
01 automatic mail transfer
02 autotransmission marked eh/feh
03 ban on uploading to the "fence"
04 ban on uploading to Ehi
05 ban on downloading files
06 working with teams
07 direct disk access
08 access to drive E
09 transmit fehes along with echoes
*****************************************
Example of a constant descriptor:
`onln 010 ;entry delay
`delay 123 ;hook up delay*****************************************
descriptor eh.
first there is a sign of the downloaded fekha,
i.e. if a file is downloaded that does not go through
by mask, then it is renamed to letter
in the echo, if it passes through the mask, then it
renamed to letter in fehu.
Next comes the echo number (0...F), the name of the echo,
file name with echo/with echo. names come after
file of uploaded letters to echo and fahu.
For the names of the downloaded files, you can
use "?" characters instead
The file number will be substituted.
_echo
********~Z
0 SPBZXNET.GENERAL **-GEN~C ** _GEN~Z ??-gen~e ??_gen~z
1
2
3
E
F
*****************************************
╚═════════════ enough for today ═════════╝
Well, that's all...
Best regards, Aleksandr (*MAS*)