ZXNet эхоконференция «code.zx»


тема: Mazdaй



от: Alexander Ageev
кому: Dmitry Lomov
дата: 18 Jan 1999

*** Answering a msg posted in area HARDWARE.ZX (HARDWARE.ZX).

Hello Dmitry!

Thursday January 14 1999 00:16, Dmitry Lomov wrote to Kirill Frolov:
KF>> А может ты знаешь как 1818ВГ93 считает CRC ? Расскажи !

DL> так же, как МАС написал :) детально не ковырял, не знаю.
DL> кто-нибудь этим занимался? дядя DARK, у тебя ведь было что-то
DL> такое? АУ.

=== Beginning of crc.txt ===
ORG #6000
LD HL,TESTHD
LD DE,#B230
LD C,4

CALL CRC
LD HL,TESTHD
LD DE,#E295
LD C,0
CALL CRC RET
DW 0

; IN :HL=DATA; DE=INIT CRC; C=SIZE
;OUT :DE=CRC ^^ #B230=HEADER #E295=DATA

CRC LD A,D:XOR (HL):LD D,A:INC HL
LD B,8
CRC2 SLA E:RL D:JR NC,CRC3
LD A,D:XOR #10:LD D,A
LD A,E:XOR #21:LD E,A
CRC3 DJNZ CRC2
DEC C:JR NZ,CRC RET
;---------------------------------------
TESTHD DB 0,0,1,1
TESTDT DS 256
=== End of crc.txt ===
Stinger.

от: Kirill Frolov
кому: Alexandr Knyzev
дата: 15 Mar 1999
Hello Alexandr.

14 Mar 99 10:02, Alexandr Knyzev wrote to Aleksandr Majorov:

AK> 2FK0: кинь плз список команд твое faq-off сеpвеpа ;)

=== Cut ===

Список команд X-FAQ сеpвеpа:

%HELP - файл помощи
%LIST - список
%POINT812 - pointlist of SPBZXNET
%CMOS - подключение часов к спектpуму
%AUTOMMD - автоматика для MMD 4.00
%ZXFAQ - FAQ для эмулятоpщиков

=== Cut ===

Писать to: X-FAQ subj: %КОМАHДА


=== Cut ===


FTN не позволяет иметь в тексте письма символы с кодами
меньше 32, котоpыми *MAS* явно злоупотpебляет. Код 22,
отделяющий имя файла от pасшиpения, будет заменен на
символ | веpтикальная pазоpванная линия.


;WARNING !
;В САМОМ КОЦЕ ЭТОГО ФАЙЛА ЕСТЬ ЕЩЕ БЯКА
;-----------------------
;ДИСК ДЛЯ ОВЕРЛЕЕВ
~1=3
;ПАУЗА В МЕЙЛЕРЕ
~2=100
;ДИСК ДЛЯ ЭХОФАЙЛОВ
~3=0
;ДИСК ДЛЯ ПРИЕМА ФАЙЛОВ
~5=0
;ДИСК ДЛЯ ПЕРЕДАЧИ ФАЙЛОВ
~7=0
;ДИСК ДЛЯ ЛОГА
~A=0
;ПОПЫТКИ ПЕРЕДАЧИ ФАЙЛОВ
~4=5
;ПОПЫТКИ ПРИЕМА ФАЙЛОВ
~6=5
;ДИСК С МЕЛООМ
~8=1
;----------------------

; USE_MAIL.C file 06-11-98
; В userlist писать:
;
; @NAME - Mailer / Run - запуск MELON.B
; @ADDR|* - файл будет передан и удален
; @MAIL|(mask) - передан и удален
; @LEVEL - начальная скорость
; или номер cfg для MELON.B
; `0=0 - надо позвонить всегда
; `0=1 - только если есть мыло
; `1,2=счетчики попыток
; `3 - запрет (если<>0)
; @PASS - пароль который передать
; @PHONE - куда звонить
; @MFREETIME - время на сессию
; %032=1 - передать забор
; @UPLD - начало когда звонить ЧЧММ
; @DOWNLD - конец ЧЧММ

; ВОЗВРАТ ИЗ ПРЕРЫВАИЙ ТОЛЬКО RET
; ИМЕЕТ СОБСТВЕУЮ ПЕРЕМЕУЮ &N !
; ДРУГИЕ ОШИБКИ - ПРОВЕРЯТЬ РЕЖИМ &M !
OVERLAY
;ВЫЗВАО ИЗ ББС ПРИ ЗВОКЕ
JPIF &M=1 _BBS_MAIL
;ОВЕРЛЕИ ХРАЯТЬСЯ А ДИСКЕ ~1
IF @DISK!~1
? DISK ~1
&1=&N
UPTXT ~ МЕЙЛЕР ДУМАЕТ ~
JP _MWC11
_MWC0 &N=0
_MWC1 RETIF @LINE
RETIF &N=&1
_MWC11 INC &N
OPEN_USER &N
JPNZ _MWC0
CP @NAME Run
JPZ _MWC12
CP @NAME Mailer
JPNZ _MWC1
_MWC12 JPIF `3!0 _MWC1
JPIF `2=3 _MWC1
JPIF `1=3 _MWC1
JPIF `0=1 _MWC1
_WTIME &0=@HOUR*100
&0=&0+@MIN
&2=@HOUR*100
&2=&2+@MIN
JPIF &0!&2 _WTIME
JPIF @UPLD>@DOWNLD _MWC2
; АЧАЛО МЕЬШЕ ИЛИ РАВО КОЦА
JPIF &0<@UPLD _MWC1
JPIF &0<@DOWNLD _MWC3
JP _MWC1
; АЧАЛО БОЛЬШЕ КОЦА
_MWC2 JPIF &0<@DOWNLD _MWC3
JPIF &0<@UPLD _MWC1
_MWC3 JPIF `0=0 _MWC4
CP @NAME Run
JPZ _MWC1
RETIF @LINE
CALL _SEL_MAIL
JPIF @MARK=0 _MWC1
_MWC4 RETIF @LINE
CP @NAME Run
JPZ _MRUN
FAST
UPTXT ~ МЕЙЛЕР ~@PHONE
SET %069
.#0D#0D#0D
.~+~ @TIME @DATE MAILER DIALING @ADDR
RES %066 %067
ONLINE
PAUSE 40
OFFLINE
PAUSE 40
NORMAL
PHONE @PHONE 1000
JPZ _MC1
SET %066 %067
JPIF @ERR=32 _MC0
.~-~ @TIME @DATE DIALER ERROR: @ERR
INC `1
IF `1=3
? .~-~ @TIME @DATE RETRY COUNTER = 0
CLOSE_USER
JP _MWC1
_MC0
.~-~ @TIME @DATE DIALER: BUSY
CLEAR_USER
JP _MWC1
;-------------------------------
;ЗАПУСК МЕЛОА
_MRUN OFFLINE
UPTXT MELON
DISK ~8
IF @ERR!0
? DISK ~8
RENAME mel_cfg*|C mel_cfg0|C
UNSEL_ALL
&0=@LEVEL-48
SEL mel_cfg0|C
JPIF &0=0 _MRUN1
_MRUN0 UNSEL_FM
DJNZ &0 _MRUN0
_MRUN1 JPIF @MARK=0 _MRUNE
SELREN mel_cfg*|C
RENAME mel_cfg1|C mel_cfg|C
.~!~ @TIME @DATE MELON: @PASS
`0=1
CLOSE_USER
DISK ~A
SAVLOG logging|C
DISK ~8
UNSEL_ALL
SEL MELON|B
IF @MARK
? RUN MELON|B
_MRUNE
.~!~ @TIME @DATE CAN'T RUN MELON
DISK ~1
JP _MWC1
;--------------------------------------
; ДОЗВОИЛСЯ
_MC1 FAST
&M=2
RES %058 %067
SET %068 %069
RES %070 %073
SET %074
RES %075 %076
SET %077 %078
RES %079
&0=@LEVEL-48
.~+~ @TIME @DATE CONNECT SPEED &0
SPEED &0
TWLINE 500
CALL _TIMEUSER
NORMAL
&0=10
_MC2 PAUSE 20
CLEARIN
WSTR
JPZ _MC3
JPIF @ERR=4 _MCERR
_MC4 DJNZ &0 _MC2
JP _MCERR
_MC3 CP $E MAIL_REQ
JPNZ _MC4
.~+~ @TIME @DATE REQUEST ACCEPTED
&0=5
_MC5 PAUSE 20
CLEARIN
WSTR
JPZ _MC6
JPIF @ERR=4 _MCERR
_MC7 DJNZ &0 _MC5
JP _MCERR
_MC6 CP $E PASSWORD
JPNZ _MC7
CALL _PRINT_INFO
&0=5
_MC10 PAUSE 20
$0=@PASS
CALL _OUT_INFO
CLEARIN
WSTR
JPZ _MC11
JPIF @ERR=4 _MCERR
_MC12
.~-~ @TIME @DATE PASSWORD DENIED
DJNZ &0 _MC10
JP _MCERR
_MC11 CP $E PASSED
JPNZ _MC12
.~+~ @TIME @DATE PASSWORD ACCEPTED
;-----------------------------------
CALL _SEL_MAIL
IF %032=1
? SEL zabor06|C
CALL _OUT_M
JPIF &0=0 _MCERR
CALL _OUT_E
JPIF &0=0 _MCERR
$0=READY
$1=MAIL_END
CALL _IN_F
JPIF &0=0 _MCERR
FAST
INC `0
CALL _MAIL_END
&M=0
RET
_MAIL_END
FAST
TIME_OFF
TWLINE 0
.~$~ @TIME @DATE SESSION COMPLETED
&0=5
_MC15 PAUSE 2000+@RND/100
DJNZ &0 _MC15
OUTBREAK
OUTBREAK
OFFLINE
NORMAL
ENDCONN
;ЗАПУСК ПРОГРАММ ОБРАБОТКИ ПОЧТЫ
RET

_MCERR FAST
TIME_OFF
TWLINE 0
.~!~ @TIME @DATE SESSION ABORTED ERROR: @ERR
INC `2
IF `2=3
? .~!~ @TIME @DATE RETRY COUNTER = 0
OUTBREAK
OUTBREAK
OFFLINE
NORMAL
CLOSE_USER
&M=0
RET
;-----------------------------------
;ПЕРЕДАЧА ПОЧТЫ
_OUT_M &0=~4
_OUT_M1 JPIF @MARK=0 _OUT_M3
SET %079
PAUSE @RND+2000/100
OUTFILEF
&2=@ERR
;УДАЛЕИЕ ПОЧТЫ
UNSEL_ALL
$E=@MFILE
SLET $E
CP $E @MFILE
JPZ _OUT_M2
SELBUFF $E
_OUT_M2 SELBUFF @MFILE
SELBUFF @ADDR|*
ERASE
IF @ERR
? RES %079
? &0=0
? RET
JPIF &2=2 _OUT_M3
JPIF &2=0 _OUT_M3
.~-~ @TIME @DATE MAIL TRANSFER ERROR: @ERR
DJNZ &0 _OUT_M1
RES %079
RET
_OUT_M3 RES %079
.~+~ @TIME @DATE MAIL TRANSFERED OK
RET
;---------------------------------
;ПЕРЕДАЧА ЭХО ФАЙЛОВ
_OUT_E IF @DISK!~3
? DISK ~3
ECHO 0
&0=~4
SET %079
_OUT_E1 PAUSE @RND+2000/100
OUTECHOS @EDATE
JPIF @ERR=0 _OUT_E2
JPIF @ERR=2 _OUT_E2
JPIF @ERR=6 _OUT_E2
.~-~ @TIME @DATE ECHOS TRANSFER ERROR: @ERR
DJNZ &0 _OUT_E1
RES %079
RET
_OUT_E2 RES %079
.~+~ @TIME @DATE ECHOS TRANSFERED OK
RET
;---------------------------------
;ПРИЕМ ФАЙЛОВ
_IN_F SET %079
SET %060
IF @DISK!~5
? DISK ~5
&0=~6
_IN_F1 PAUSE @RND+2000/100
CLEARIN
<$0
WSTR
JPZ _IN_F2
JPIF @ERR=2 _IN_F1
JPIF @ERR=0 _IN_F1
IF @ERR=4
? &0=0
? RET
_IN_F3
.~-~ @TIME @DATE FILES RECEIVE ERROR: @ERR
DJNZ &0 _IN_F1
RES %060
RES %079
RET
_IN_F2 CP $E $1
JPNZ _IN_F3
RES %079
RES %060
.~+~ @TIME @DATE FILES RECEIVED OK
RET
;---------------------------------
;РАСПЕЧАТКА ТИПА СУПЕР-ТОРМОЗ
_PRINT_INFO FAST
.~+~ @TIME @DATE INFORMATION:
_PRI1 IF @BUFF=0
? NORMAL
? RET
WCHR
.$E;
JP _PRI1
;---------------------------------

; BBS_MAIL.C file 06-11-98
; В userlist писать:
;
; @MAIL|(mask) - передан и удален
;
; `7=0 - почтовый режим запрещен
; `7=1 - разрешен
; `7=2 - только почта
; %032=1 - передавать забор
; @MFREETIME - timeout сессии.
; RET - АЖАТА ЕТЕР.
; &M=1 BBS &M=0 РЕЖИМ ОЖИДАИЯ
; ЖДЕТ АЖАТИЯ КОПКИ ENTER ДЛЯ ВХОДА
; А ББС ИЛИ МАКРОСА С CRC - ПАРОЛЯ.
_BBS_MAIL
&M=2
SETTIME 5
TWLINE 500
TIME_ON
FAST
SET %058
RES %059 %067
SET %068 %069
RES %070 %073
SET %074
RES %075
SET %076 %078
RES %079
NORMAL
&0=6
_ML1 PAUSE 20
CLEARIN
WSTR
JPZ _ML3
JPIF @ERR=4 _MERR
_ML2 DJNZ &0 _ML1
<
< Я тебя не слышу и отключаюсь.
<
.~!~ @TIME @DATE NOT ANSWERING
TWLINE 0
TIME_OFF
OFFLINE
CLEAR_USER
&M=0
RET
;ЕСЛИ АЖАТА КОПКА ЗАЧИТ ББС.
_ML3 IF @$E=0
? &M=1
? RET
CP $E MAIL_INQ
JPNZ _ML2
.~+~ @TIME @DATE REQUEST OK
UPTXT ~ МЕЙЛЕР ОТВЕЧАЕТ~
&1=5
_ML4 PAUSE 20
$0=PASSWORD
CALL _OUT_INFO
CLEARIN
WSTR
JPZ _ML5
JPIF @ERR=4 _MERR
_ML6
.~-~ @TIME @DATE BAD PASSWORD
DJNZ &1 _ML4
JP _MERR
_ML5 PASSWORD $E
JPNZ _ML6
CP @NAME Mailer
JPZ _ML6
CP @NAME Run
JPZ _ML6
.~+~ @TIME @DATE PASSWORD OK
JPIF `7!0 _ML7_1
.~!~ @TIME @DATE MAIL MODE DISABLED
JP _MERR
_ML7_1 CALL _TIMEUSER
CALL _PRINT_INFO
$0=PASSED
$1=READY
CALL _IN_F
JPIF &0=0 _MERR
CALL _SEL_MAIL
IF %032=1
? SEL zabor06|C
CALL _OUT_M
JPIF &0=0 _MERR
CALL _OUT_E
JPIF &0=0 _MERR
CALL _MAIL_END
&M=0
RET
_MERR FAST
TIME_OFF
TWLINE 0
.~!~ @TIME @DATE SESSION ABORTED ERROR: @ERR
OUTBREAK
OUTBREAK
OFFLINE
NORMAL
CLOSE_USER
&M=0
RET
_TIMEUSER FAST
TIME_OFF
SLIMIT @MFREETIME
RUN_USER
SETTIME @MFREETIME
TIME_ON
NORMAL
RET
;---------------------------------
;ВЫДАЧА ИФОРМАЦИИ
_OUT_INFO CLEARIN
<$0
<500:812/28.13,X-Station
$0=$0
RET
;---------------------------------
;ОТМЕТКА ПОЧТЫ
_SEL_MAIL
IF @DISK!~7
DISK ~7
UNSEL_ALL
SEL @MFILE
SEL @ADDR|*
UNSEL 812*2813|*
UNSEL 812*0908|*
RET

=== Cut ===


^^^^^ Глюков тут не знаю сколько, но оптимизиpивать надо. Я не буду.


Kirill




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Реклама - Группа "DARK CROWN" ищет музыканта и кодера, желательно проживающего в городе Новосибирске.
Новое в жизни - Новости из Бреста.
История - Архиваж Сицилийский - механик древности.
Trust no one - "Когда кончится спектрум? Такой вопрос постоянно актуален, не так ли?"
CALL ME - Реклама и объявления ...

В этот день...   25 апреля