Уважаемый All.
Вот, зависает Post-station в этих заборах. Глюка такого, чтобы
станция зависала, я найти не могу.
Пиплы, поможите, чем можите! Hайдите глюк! (мой или фатальный
Масовый)...
INT'ы прилагаются в конце.
Вот заборный оверлей:
;
; Доска пользователей
;
;&V - номер текущего забора
;$N - его название
~0=0
OVERLAY
. Заборы
CP @NAME User
JPZ _locden
FAST
&V=1
CALL _locload
RES %080
_zabor1
<#0C
< Bulletin system v4.1 by Igor K.
_ReadZ
.rd
_ReadZ0 &8=@MAX_FEN
IF &8=0
? $0=#0d#0d#0d#20#20#20#20Мессагов#20нет~!~#0d#0d#0d
? &9=666
? &8=666
? JP _RepZ
IF &8=1
? &9=1
? JP _ReadZ1
PAUSE 15
NORMAL
<
<
< С какого мессага будешь читать ?
<(можно от 1 до &8).
WSTR
FAST
CALL _strnum
IF &2!0
? &9=@MAX_FEN
_ReadZ1
FAST
$8=
IF &9=0
? &9=1
IF &9>&8
? &9=&8
$7=
JPIF @MAX_FEN=0 _ReadZ0
DEC &9
SETFEN &9
PRIFEN $0
$6=$0(0 7)
CP $6 [cont:01
JPNZ _ReadZ1_1
JPIF &9<1 _ReadZ1_1
JP _ReadZ1
_ReadZ1_1 INC &9
SETFEN &9
PRIFEN $5
$6=$5(0 7)
CP $6 [cont:01
JPZ _ReadZ1_2
RES %080
$5=
JP _RepZ
_ReadZ1_2 SET %080
&1=11
&0=@$5-&1
_loops $7=$7$5(&1)
INC &1
DJNZ &0 _loops
$8=~+add~
_RepZ
NORMAL
<#0C;
<[&V/7]: $N
<[&9(3)/&8(3)] $8
<
<$0;
<$7
<
<
<- + = n w a s < > z m q "H" - HELP
RES %071
CLEARIN
WCHR
FAST
SET %071
INT 0
JPON $E "-" _PrevZ "+" _NextZ "=" _RepZ "N" _ReadZ "W" _WritZ "A" _ReplZ "S"
_sel_b "<" _PrevB2 ">" _NextB2 "M" _WrTo
JPON $E "Z" _ReadB2
JPON $E "O" _PrevZ "P" _NextZ "L" _RepZ "1" _ReadZ "2" _WritZ "3" _ReplZ "4"
_sel_b "7" _PrevB2 "6" _NextB2 "8" _WrTo
JPON $E "5" _ReadB2
JPON $E 13 _NextZ "H" _HelpZa "Q" _rett "0" _rett
JP _RepZ
;
_rett
NORMAL
RET
_HelpZa
CALL _HelpZ
JP _RepZ
_ReadB2
CALL _ReadB
JP _ReadZ
_NextB2
CALL _NextB
JP _ReadZ
_PrevB2
CALL _PrevB
JP _ReadZ
;=======================================
_NextZ JPIF &9=&8 _ReadZ1
INC &9
IF %080=1
? INC &9
IF &9>&8
? &9=&8
JP _ReadZ1
_PrevZ JPIF &9=1 _ReadZ1
DEC &9
JP _ReadZ1
;=======================================
_sel_b
.select subj
NORMAL
<#0C
< Выберите тему
<
<текущая: $N
<
<1 - общие разговоры
<2 - бизнес
<3 - музыка
<0 - выход
WCHR
FAST
JPON $E "0" _RepZ
JPNZ _RepZ
CALL _ReadB_1
JP _ReadZ
;=======================================
_ReadB
NORMAL
<
<
<Текущая тема: $N
<
< Какую доску будешь читать (1..3) ?
WCHR
FAST
JPIF @$E=0 _NextB
_ReadB_1 IF $E="1"
? &V=1
IF $E="2"
? &V=2
IF $E="3"
? &V=3
JP _locload
;=======================================
_PrevB
IF &V=1
? &V=&3
DEC &V
JP _locload
;=======================================
_NextB
IF &V=3
? &V=1
INC &V
JP _locload
;=======================================
_WrTo
FAST
.wrto
&3=0
$1=$0(0 40)
FND_WORD $1 &3 ~from~
JPNZ _wrtoerr
&3=0
FND_WORD $1 &3 ~[cont~
JPNZ _wrto1
_wrtoerr
NORMAL
<
6 - следующая доска
3
? .ввел большое число $E
? RET
&2=@$E
&3=0
&9=0
_strnum_1
&4=$E(&3)
INC &3
JPIF &4=13 _strnum_2
JPIF &4<"0" _strnum_3
JPIF &4>"9" _strnum_3
&4=&4-"0"
&9=&9*10+&4
DJNZ &2 _strnum_1
_strnum_2
&2=0
RET
_strnum_3
&2=2
RET
;=======================================
_conv_netaddr
$4=@ADDR
; $4=$4(4 7)
; $4=$4(0 1)#2E$4(2 3)
RET
;=======================================
_locload
FAST
IF &V=1
? $0=bulb1 z
? $N=~общие разговоры~
IF &V=2
? $0=bulb2 z
? $N=~бизнес~
IF &V=3
? $0=bulb3 z
? $N=~музыка~
<#0Cloading...;
.ld &V
IF @DISK!~0
? DISK ~0
UNSEL_ALL
SEL $0
JPIF @MARK=0 _locload1
UNSEL_ALL
LDFEN $0
UNSEL_ALL
RETZ
.ОШИБКА ЗАБОРА @ERR
.делаем обрыв связи
<
<Внимание!
< Станиция перешла на системную метку !
< Перезвоните через 10 минут.
INT 1
.int не выполнен
ret
_locload1
.+ @TIME Создание новой доски
OPEN_MEM
FILL_MEM 8 5115
SAVE_MEM $0
LDFEN $0
RETZ
<
<Ошибка диска !
< Дальнейшая работа невозмона.
<
<
.! @TIME ERROR файла доски
PAUSE 70
APOP
RET
;
;
; кусок Оверля написания письма
;
;
;in:
; &0=4 - авто (to не спрашивает)
; расш. не ставит сама
; (адрес спрашивается в начале)
;out: mail
;
;Диск для писем
~0=0
;
;=======================================
_noto_mail
_nt_mail2 CALL _read_subj
JPIF &1=233 _nt_mail2
$1=$E
;
_read_other
$F=
$G=
$H=
$I=
$J=
$K=
$L=
_ro1
<#0c;