1

Chciałbym połączyć dwie Atarki XE kablem SIO i z poziomu mojego programu w asemblerze wymieniać paczki danych wielkości kilkudziesięciu bajtów, najlepiej z szybkością poniżej ramki.

Czy coś takiego jest możliwe bez żadnych przeróbek/dodatków sprzętowych i jak się do tego zabrać?

2 Ostatnio edytowany przez voy (2015-11-30 17:31:04)

Było kiedyś coś takiego jak SimDrive (simdrv) Simiusa. Stara wersja programu do sterowania komunikacją (i schemat) jest tutaj, jego źródła tutaj, a najnowsza chyba wersja (ale pod SDX) na stronie Mono.

Powszechnie wiadomo, że kamień potrafi myśleć. Na tym fakcie opiera się cała elektronika.

Terry Pratchett - Równoumagicznienie

3 Ostatnio edytowany przez mono (2015-11-30 17:53:16)

Możesz też prowadzić komunikację przez MIDI (np. MIDIMate) albo przez implementację pana Ireneusza Kuczki: http://ixkuczek.republika.pl/ixkuczek_pol.html - weź interfejs dwukierunkowy MIDI In+Out.

Edit: Jest też jakieś czeskie MIDI zrobione przez Rastera. Jest parę ichnich gier komunikujących się przez to.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

4

@voy - dzięki za ten link, zaraz się zapoznam. Ale już po opisie Simiusa w tym wątku widzę, że to jest mocno niebanalne i kombinowane rozwiązanie.

@mono - ale ja nie chcę MIDI. Tzn nie rozumiem dlaczego konieczny jest interfejs sprzętowy? Skoro SIO jest dwukierunkowym intefejsem szeregowym i może komunikować się ze stacją dysków, to spodziewałem się, że równie łatwo mogą ze sobą gadać dwie Atarki połączone standardowym kablem SIO. I że znajdę mnóstwo driverów, które udostępnią mi "literkę" urządzenia w systemie, za pomocą którego będę mógł łatwo wysyłać i odbierać dane. Z pewnym zdziwieniem nie wygooglałem niczego i stąd ten temat. Czego nie wziąłem pod uwagę w swojej naiwnej wizji? ;)

5

voy napisał/a:

Było kiedyś coś takiego jak SimDrive (simdrv) Simiusa. Stara wersja programu do sterowania komunikacją (i schemat) jest tutaj, jego źródła tutaj, a najnowsza chyba wersja (ale pod SDX) na stronie Mono.

Pin gdzie jesteś...
@nosty, Pin ma coś takiego i nie raz targaliśmy dane między dwoma atarkami po sio.....

6 Ostatnio edytowany przez mono (2015-11-30 19:02:28)

@as: Pin ma SimDrive.
@nosty: Zobacz na schemat. Ten cały "interface sprzętowy" to są transoptory separujące zasilania obydwu maszyn.
Żeby się komunikować między dwoma Atari przez SIO niby powinien wystarczyć skrosowany kabel SIO (Tx/Rx) jeśli użyjesz transmisji asynchronicznej taktowanej wewnętrznie. SimDrive pozwala na emulację stacji dysków za pomocą drugiego Atari i pewnie urządzenie Simiusa realizuje parę dodatkowych funkcji. Warto by go popytać, czy sam kabel ze skrosowanymi liniami Tx/Rx i spiętymi do kupy masami nie wystarczyłby.
Możesz też zmontować transmisję równoległą przez PIA (porty joysticka), wtedy robisz tylko kabel. W ten sposób działała komunikacja z Amigą (oprogramowanie publikowane w ostatnich Tajemnicach Atari) i komunikacja z C64 (miało być w TA) z oprogramowaniem JoyTrans (JAD od strony C64 i Krzysztof Chudziński od strony Atari).

Edit: Atari-Amiga to ATOA - od strony Amigi Piotr Nowak oidp, od strony Atari Marcin Grochowina.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

7

@As - przecież Mono wyczerpał temat ;)

Dodam, że programem Mono można udostępniać dla drugiej Atarki partycje dysku twardego, lub np. obraz ATR i jeden z komputerów staje się takim powiedzmy SIO2PC. Dodatkowo program w aktualnej wersji obsługuje sektor 512 bajtowy, prędkość transmisji jaką udało mi się stabilnie uzyskać to około 100kbps.

Co do pytania zasadniczego, to powinno się dać. Jeśli się nie mylę, to "Popierdzi" sobie tylko przed nawiązaniem transmisji. Najlepiej jednak niech się wypowie Simius.

Kontakt: pin@usdk.pl

8 Ostatnio edytowany przez mono (2015-11-30 19:25:22)

Może powiem coś oczywistego.

SIO jest pomyślane, jako magistrala do której podpina się urządzenia. W związku z tym linie sygnałowe nie są krossowane. Jeśli chcesz połączyć kablem SIO dwie Atarki to wtedy DI  jednej Atarki trafi na DI drugiej Atarki, a DO jednej do DO drugiej, co uniemożliwia komunikację. Linie te należy zamienić po stronie jednej z Atarek. Rozwiązanie Simiusa zamienia te linie i pewnie dba jeszcze o propagację linii COMMAND, która służy do sygnalizowania, że Atari które jest masterem na takiej szynie właśnie wysyła paczkę z rozkazem. Linia COMMAND jest podawana na przerwanie INTERRUPT od PIA do drugiego komputera.

Edit: @Pin: Program ma dwóch autorów: Simiusa i mnie - ja przecież nie pisałem go od zera, a tylko dorabiałem różne funkcjonalności.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

9

Znalazłem na forumie jeszcze info o multilinku: http://www.atari.org.pl/forum/viewtopic.php?id=6109

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

10

Dzięki mono. Czyli da się po prostu spiąć kabelkiem. Przekrosowanie Tx/Rx jest jesne.

11

I masy razem. Ale lepiej niech się jeszcze wypowie jakiś elektronik, bo ja to jestem proszę pana teoretyk-gawędziarz.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

12 Ostatnio edytowany przez Montezuma (2015-12-17 13:34:39)

nosty napisał/a:

Chciałbym połączyć dwie Atarki XE kablem SIO i z poziomu mojego programu w asemblerze wymieniać paczki danych wielkości kilkudziesięciu bajtów, najlepiej z szybkością poniżej ramki.

@Nosty
zerknij na poniższą stronkę:
http://www.mathyvannisselroy.nl/special … #multilink
W sekcji MultiLink/GameLink2
jest do ściągnięcia plik: NTWGAME.ARC
z opisem autora jak się za to zabrać :)

ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3