Speccy - наш выбор!  
ZXPRESS
ZXTUNES
Virtual TR-DOS
World of Spectrum
ZX Spectrum Old Demos •

Go Back   Speccy - наш выбор! > ZX Spectrum Software > Программирование

Reply
 
Thread Tools Display Modes
Old 28th October 2005, 14:01   #1
Veteran
 
GriV's Avatar
 
Join Date: 18th February 2005
Location: Набережные Челны
Posts: 1,556
Thanks: 598
Thanked 115 Times in 75 Posts
GriV has a spectacular aura aboutGriV has a spectacular aura aboutGriV has a spectacular aura about
Question Связь двух спектрумов

кто нибудь этим занимался?
Я имею в виду заставить два спектрума работать в связке.
Тут в ФИДО-эхе пролетел вопрос - нужно ли использование эхотага? Я туда пробовал тыркнуть развить тему, да почему то форум руганулся на недостаток прав. но вопрос не в этом.
Вопрос вот в чём - все спектрумы имеют почти не используемый (в данное время) порт магнитофона - EAR и SPK биты - на ввод и на вывод. Чисто технически можно на достаточно большой скорости [для стандартных портов скорость известна, для магнитофонного же её конечно надо подбирать, но вполне очевидно что это будет не низкая скорость, вполне возможно что до нескольких килобайт в секунду, правда при полной загрузке обеих связываемых станций] связывать по этим портам (а кроме них, есть немало спекков с параллельным и последовательными портами) два спектрума (можно сделать и большее количество, но там реализация трудоёмкая - возникает необходимость в контроллере транзакций - отдельной вычислительной системе) - а так как у них производительность в принципе одна и та же, то использовав связку спектрумов можно удвоить производительность почти нахаляву. Собственно халява то в чём заключается: пусть имеет 1 спетрум более менее продвинутый (скажем, HDD, FDD, AY 256К и т.д.) и имеется достаточно старый, но работоспособный ZX-48K. И даже если его нет, наверняка можно либо в качестве подарка забрать у кого-нить из знакомых старенький но вполне работоспособный ZX-48K (на крайняк там даже 16К хватит; если же даже такого нет, дайте объявление о покупке сразу желающие найдутся).
Тогда подключив по одному из портов (магнитофонный, параллельный/последовательный) такой "маленький" спектрум, можно зафигарить два-в-одном производительность.
А для чего может быть нужна такая производительность?
Например, музяку музярить на одном (полноценный обсчёт для цифрового музона скажем) в то время как другой комп рисует графику.
Или распараллеливать математические вычисления (обсчёт сложных вычислений для трёхмерных демонстрашек например).
Ну и т.д.
В том смысле что для чего связать спектрумы - это найдётся. А вот практически пробовал ли кто это делать?

P.S. не имеется в виду что оба спектрума работают с одной памятью с одним экраном и т.д. Имеется в виду два дискретных спектрума которые работают в кластере, выполняя одну и ту же задачу в связке.
__________________
Биты рулят лучше байтов, байты рулят шустрее!
View, Звук, Цвет
GriV is offline   Reply With Quote
Old 28th October 2005, 15:55   #2
Veteran
 
jtn's Avatar
 
Join Date: 15th January 2005
Location: Kievska Rus
Posts: 1,147
Thanks: 0
Thanked 4 Times in 4 Posts
jtn is on a distinguished road
Default

Quote:
Originally Posted by GriV
пусть имеет 1 спетрум более менее продвинутый (скажем, HDD, FDD, AY 256К и т.д.) и имеется достаточно старый, но работоспособный ZX-48K.
именно так и было. на первом загружалась прога, жался магик и снапшотом передавалось на второй. ну и в сетевые игры тоже игрались
jtn is offline   Reply With Quote
Old 28th October 2005, 17:43   #3
Veteran
 
GriV's Avatar
 
Join Date: 18th February 2005
Location: Набережные Челны
Posts: 1,556
Thanks: 598
Thanked 115 Times in 75 Posts
GriV has a spectacular aura aboutGriV has a spectacular aura aboutGriV has a spectacular aura about
Wink

Quote:
Originally Posted by jtn
именно так и было. на первом загружалась прога, жался магик и снапшотом передавалось на второй. ну и в сетевые игры тоже игрались
Гаа, замечательно тока где это было??? И при чём здесь магик? имеется в виду взаимодействие по клиент-серверной модели, причём здесь разделение идёт на уровне программы, то же, о чём ты пишешь несколько другое.
__________________
Биты рулят лучше байтов, байты рулят шустрее!
View, Звук, Цвет
GriV is offline   Reply With Quote
Old 28th October 2005, 20:05   #4
Guru
 
jerri's Avatar
 
Join Date: 1st March 2005
Location: Samara
Posts: 2,649
Thanks: 395
Thanked 542 Times in 366 Posts
jerri is a splendid one to beholdjerri is a splendid one to beholdjerri is a splendid one to beholdjerri is a splendid one to beholdjerri is a splendid one to beholdjerri is a splendid one to behold
Default

а с какой скоростью планируешь передавать? всетаки не RS 232
__________________
[02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi.
[l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712
jerri is offline   Reply With Quote
Old 28th October 2005, 20:15   #5
Veteran
 
GriV's Avatar
 
Join Date: 18th February 2005
Location: Набережные Челны
Posts: 1,556
Thanks: 598
Thanked 115 Times in 75 Posts
GriV has a spectacular aura aboutGriV has a spectacular aura aboutGriV has a spectacular aura about
Exclamation используя хорошо оптимизированный алгоритм

я думаю можно передавать со скоростями (имеется в виду последовательная передача по порту магнитофона) около 1-2 кб в секунду. Т.о. 48 КБ спектрум целиком может быть залит сами можете посчитать за какое время

Конкретно пример: вся информаиця передаётся побайтово, 10 бит (+2 бита чётности), на стороне передатчика проблем с распознаванием почти нет, на стороне приёмника нужно делать по видимому 3-5 замеров, т.о. 3-5 команд In A,(#FE) со всей обвеской

Конкретно:

IN A,(254) ;+11 тактов
ADD A,D ; D=#40, бит нужный переходит в CY
LD A,E ; E=0
ADD A,B ;+12 тактов, в B хранится счётчик одинаковых замеров = 1
LD B,A ; +4 такта
итого 5*27=135 тактов (для 5 разовой проверки передачи 1 бита)

;в конце конечно же проверка уровня

LD A,B
CP 4 ; допускается 1 сбой, т.е. 4 одинаковых измерения
JR NC,BIT1 ; получился бит = 1
CP 2
JR C,BIT0 ; получился бит = 0

ERROR: END

; около 160 тактов на 1 бит, частота передачи = 20 кгц, делим на 10 = количестов бит, получается 2 кбайта в секунду пиковая способность, если провод хороший и порты чистые не наводят сами на себя шумы )

При наличии (как у меня в балтике) ппоследовательного порта всё проще конечно же...

Вопрос остался: кто нибудь в таком виде соединял 2 спектрума?
__________________
Биты рулят лучше байтов, байты рулят шустрее!
View, Звук, Цвет

Last edited by GriV; 28th October 2005 at 20:28.
GriV is offline   Reply With Quote
Old 28th October 2005, 21:12   #6
Guru
 
CHRV's Avatar
 
Join Date: 18th January 2005
Location: Москва
Posts: 3,661
Thanks: 5
Thanked 302 Times in 180 Posts
CHRV is a name known to allCHRV is a name known to allCHRV is a name known to allCHRV is a name known to allCHRV is a name known to allCHRV is a name known to all
Default

КАИ можно через LPT соединять!
__________________

Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
[Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
Все здесь: http://www.nedopc.com.
Новости/поддержка/Faq: http://forum.nedopc.com.
Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977
CHRV is offline   Reply With Quote
Old 29th October 2005, 18:38   #7
Member
 
Join Date: 2nd March 2005
Location: Екатеринбург
Posts: 82
Thanks: 0
Thanked 7 Times in 3 Posts
AlexCrush is on a distinguished road
Default

Quote:
Originally Posted by GriV
получается 2 кбайта в секунду пиковая способность
Quote:
Originally Posted by GriV
Вопрос остался: кто нибудь в таком виде соединял 2 спектрума?
Я так соединял 2 спектрума. Переделывал игру LastBattle (не могу выложить т.к. все на дискетах где то, вряд ли смогу найти.... блин). Только для связи использовались не магнитофонные порты т.к. там стоят на входе всякие цепочки, отрезающие частоты выше 5 кГц примерно. Использовался порт кемпстон джойстика (бит 0 - на вход есс-но) и порт принтера (тоже 0 бит на передачу, номер порта не стандартный). Достигнута скорость около 4 кб/сек. Передача осуществлялась блоками по 256 байт с контрольными суммами с повторной передачей в случае ошибки (были версии, снижающие скорость передачи в случае повторных ошибок). Работало очень даже прикольно, очень не хватало только защитных таймеров - если связь рвется (у меня иногда рвался провод - там посреди провода была стыковка разъемами джек3.5) где-то посреди передачи байта то все зависает.

Принцип работы: Стороны изначально знают кто приемник, кто передатчик на ближайшее время. Приемник ждет стартового бита от передатчика. Получив его начинает формировать цепочку 01010101010 на своем выходе. При каждой смене уровня передатчик выставляет на своем выходе следующий бит данных, а приемник его считывает.

Т.к. на втором компе не было дискогрыза то в качестве начальной загрузки использовалась фича: входной провод был подключен еще и на магнитофонный вход. Сначала грузился мелкий загрузчик стандартным методом (на передающей стороне была копия процедуры 1218 с изменненным портом). Затем этот загрузчик уже юзал описанный протокол и загружал основной код ласт-баттла.

P.S. нашел какие-то исходники приемника/передатчика которые вроде как раз там и использовал. См. аттачмент (CP866)
Attached Files
File Type: txt NetwTXT.txt (3.2 KB, 145 views)
AlexCrush is offline   Reply With Quote
Old 30th October 2005, 22:53   #8
Гость
 
Posts: n/a
Default Re: используя хорошо оптимизированный алгоритм

FromNet:

Hемедленно нажми на RESET, Григорьев Валерий!

On Fri, 28 Oct 05 19:34:26 +0400, Григорьев Валерий wrote:

Quote:
я думаю можно передавать со скоростями (имеется в виду последовательная
передача по порту магнитофона) около 1-2 кб в секунду. Т.о. 48 КБ спектрум
целиком может быть залит сами можете посчитать за какое время
Zhavoronkov Sergejj -- 115200 delal. Ja ogranichilsja na urovne 38400.


Quote:
; около 160 тактов на 1 бит, частота передачи = 20 кгц, делим на 10 =
количестов бит, получается 2 кбайта в секунду пиковая способность, если провод
хороший и порты чистые не наводят сами на себя шумы )
:-O

Quote:
При наличии (как у меня в балтике) ппоследовательного порта всё проще конечно
же...
Вопрос остался: кто нибудь в таком виде соединял 2 спектрума?
Spectrum and PC cherez COM-port.
  Reply With Quote
Old 28th October 2005, 22:31   #9
Master
 
ASDT's Avatar
 
Join Date: 4th August 2005
Location: Новосибирск
Posts: 715
Thanks: 1
Thanked 29 Times in 27 Posts
ASDT will become famous soon enough
Default

"заставить два спектрума работать в связке"
А зачем? Какая может быть задача для такой связки?
ASDT is offline   Reply With Quote
Old 29th October 2005, 02:18   #10
Veteran
 
GriV's Avatar
 
Join Date: 18th February 2005
Location: Набережные Челны
Posts: 1,556
Thanks: 598
Thanked 115 Times in 75 Posts
GriV has a spectacular aura aboutGriV has a spectacular aura aboutGriV has a spectacular aura about
Default

Quote:
Originally Posted by ASDT
"заставить два спектрума работать в связке"
А зачем? Какая может быть задача для такой связки?
Читайте повнимательней пожалуйста, выше всё написано...
__________________
Биты рулят лучше байтов, байты рулят шустрее!
View, Звук, Цвет
GriV is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +4. The time now is 12:25.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Map Яндекс.Метрика