1 Ostatnio edytowany przez Montezuma (2014-12-30 20:02:20)

Witajcie,
Projekt SIO2BT obejmuje hardware i software związany z bezprzewodową komunikacją Bluetooth pomiędzy 8-bitowymi komputerami Atari i emulowanymi urządzeniami SIO.
Ponieważ projekt wysłałem na tegoroczny konkurs ABBUC-a w kategorii hardware, nie mogę więc narazie za wiele zdradzić:

http://youtu.be/Brw_GES8OkY

Pozdrawiam
Montezuma

EDYCJA (30.12.2014)
Dodaję tutaj (żeby łatwiej było znaleźć) link to dokumentacji projektu:
https://drive.google.com/file/d/0B3-191 … FBsRW1iRUE
i do aplikacji na Androidzie:
https://play.google.com/store/apps/deta … uma.sio2bt

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

2 Ostatnio edytowany przez mono (2014-08-17 18:26:30)

Ha! Świetne! A można uzyskać większe prędkości niż standardowe 19.2k?

Edit: I czy nie ma problemu z różnymi telefonami? Zawsze się dogadują?

Edit 2: Jakie komendy rozpoznaje telefon? Na jakich telefonach działa Twoja aplikacja do SIO?

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

3

mono napisał/a:

Ha! Świetne! A można uzyskać większe prędkości niż standardowe 19.2k?

Dzieki. Nie, SIO2BT dziala tylko z 19.2k.

mono napisał/a:

Edit: I czy nie ma problemu z różnymi telefonami? Zawsze się dogadują?

Dziala tylko z Androidem od wersji 2.2 w gore.

mono napisał/a:

Edit 2: Jakie komendy rozpoznaje telefon? Na jakich telefonach działa Twoja aplikacja do SIO?

Wiecej szczegolow po zakonczeniu konkursu ;-)

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

4

genialne. szkoda ze nie mozesz wiecej powiedziec. wyobraznia zaczyna pracowac :D

http://atari.pl/hsc/ad.php?i=1.

5

Genialne, kiedy będzie można to dostać??

tP

Atari, Inc., 1512 Crossman Ave., PO. Box 61657, Sunnyvale, CA 94086.
Złym błędem jest cofać się do tyłu, gdy wieje zimnym chłodem.
Jest to najprawdziwsza prawda. (c) VC

6

Montezuma napisał/a:

Dzieki. Nie, SIO2BT dziala tylko z 19.2k.

a czy funkcjonalność powyżej tej prędkości jest przewidywana?

Kontakt: pin@usdk.pl

7

Kto był u Ryśka w Głuchołazach ten mógł zobaczyć urządzenie w działaniu.

8

czy z poziomu atari mozna wybierac obrazy atr lub pliki .xex na telefonie?

czy dzialaja calodyskowe gry takie jak behind jagi lines?

czy obslugiwane sa .atr czy .xex

czy dziala to: http://atarionline.pl/forum/?PostBackAc … entID=6209   ( Beep em all 5 )

czy obslugiwany jest zapis?

http://atari.pl/hsc/ad.php?i=1.

9

Dzięki za zainteresowanie. Poniżej moje odpowiedzi.

> a czy funkcjonalność powyżej tej prędkości jest przewidywana?

Nie. Musiałbym wdać się w szczegóły techniczne, żeby obronić moją decyzję.
Obiecuję napisać więcej po ogłoszeniu wyników konkursu (25.10.2014).
Na razie mogę powiedzieć tylko, że miałem ku temu swoje powody i że rozważałem różne rozwiązania.
Tak więc SIO2BT nie jest alternatywą dla KMK IDE jeśli chodzi o prędkość ;-)

> czy z poziomu atari mozna wybierac obrazy atr lub pliki .xex na telefonie?

Nie.

> czy dzialaja calodyskowe gry takie jak behind jagi lines?

Tak. Wersja "atr" z atarionline.pl działa (Rescue On Fractalus zresztą też)

> czy obslugiwane sa .atr czy .xex

Tak. Pliki atr (również duże dyski) i pliki xex też (żeby nie wymyślać koła od nowa użyłem za zgodą Bob!ka loader z projektu SDrive).

> czy dziala to: http://atarionline.pl/forum/?PostBackAc … entID=6209   ( Beep em all 5 )

Działa. Ale horror :)

> czy obslugiwany jest zapis?

Tak, działa. Generalnie obługiwane są standardowe komendy 1050 + blok percom

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

10

Rewelacja! SIO2SD w telefonie :) Mam nadzieję, że nie zrobiłeś tam przycisków K1, K2, K3 itd... :P

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

11 Ostatnio edytowany przez Pin (2014-08-18 21:06:59)

Montezuma napisał/a:

Tak więc SIO2BT nie jest alternatywą dla KMK IDE jeśli chodzi o prędkość ;-)

... a nawet dla SIO2SD ;)

Kontakt: pin@usdk.pl

12

wez pod uwage wygode.
po co Ci dos? obsluge plikow zalatwisz tabletem,
po co Ci hdd / cf / sd? tablet/fołn ma dostep do internetu

pod tym wzgledem KMK czy SIO2SD nie jest zadna alternatywa dla SIO2BT

http://atari.pl/hsc/ad.php?i=1.

13

wyłączam się z tej rozmowy. Tak będzie lepiej dla wszystkich ;)

Kontakt: pin@usdk.pl

14

I slusznie ;)

SIO2BT - swietna szpeja!
Widzialem juz w akcji podobne rozwiazanie ale polaczenie, z telefonu do atarki, odbywalo sie po kabelku. Im wiecej rozwiazan tym lepiej. Git.

15 Ostatnio edytowany przez Montezuma (2014-10-03 14:48:55)

Hej,
ponizej wklejam opis projektu, ktory bedzie zamieszczony w kolejnym magazynie ABBUC-a.
Na pelne dokumentacje, software i hardware trzeba jeszcze poczekac do JHV (25.10.2014).

SIO2BT project is a set of hardware and software solutions related to the wireless Bluetooth communication between the 8-bit Atari computers and Bluetooth (BT) enabled Serial Input Output (SIO) devices.

Due to delay in the Bluetooth data transmission it was necessary to modify the original Atari OS. For that reason the timeout values (which could not be met) were increased.

A tool for patching Atari OS rom files for Atari 800 and for Atari XL/XE is provided as a part of the project.
Thanks to Stefan Dorndorf it is possible to patch QMEG 4.04 for Bluetooth as well.
Additionally there are disk images (*.atr) available for Atari XL/XE for those who want to use SIO2BT with original, not modified Atari computers.

Another difficulty was missing information about the SIO Command Line status. Hardware handshaking had to be replaced with a software solution for Command Frame detection.
Most of the Bluetooth transceivers available on the market are based on the CSR BC417143 chipset supporting SPP (Bluetooth Serial Port Profile). Two Bluetooth transceivers plugged between any two legacy serial devices would (in theory) be transparent and would appear as if they were connected via cable. In practice missing hardware handshaking and non-deterministic delays cause problems if the protocols rely on timing or on handshaking. And this is exactly the case with the SIO Protocol.

The BT transceivers provide RxD and TxD lines (TTL voltage level), which can be connected directly to the DATA OUT and DATA IN lines of the Atari SIO port.
Once configured for the SIO Communication (Baudrate = 19200, etc.), a Bluetooth transceiver can be paired with a PC. When a device is paired, the Bluetooth Software Stack on the PC creates a virtual serial port for it. Opening such ports establishes a Bluetooth connection between the PC and the transceiver. A PC can run the software emulating SIO devices.

I have adapted one of the most popular tools for emulating SIO devices – AspeQt 0.8.8 – for communication via Bluetooth. The tool is licensed under GNU General Public License version 2.0 (GPLv2) and my source code modifications are available freely to everyone.
The modifications include:
- a bug fix for Windows to support COM port numbers higher than 9
- a removal of a background image in the logger window, which consumes a lot of the CPU power (especially visible with weak machines like Raspberry Pi)
- software command frame detection (SOFTWARE handshaking)
- configurable delay for writing data to the Atari

The additional delay for writing is required for Bluetooth, because an Atari expects (according to the SIO specification) a minimum time delay between the “Acknowledge” Byte and the “Complete” Byte.
This timing is critical and unfortunately can not be guaranteed by Bluetooth. If we send two bytes waiting X milliseconds in between, the first byte can get stuck somewhere in the Bluetooth stack and the second byte will catch it up so they will arrive one after each other at the Atari. The Atari could skip the second byte and keep waiting for it. Luckily (after a certain timeout) the last Command Frame would be repeated and the communication would continue.

Using a Logic Analyzer and „trial and error“ approach I had to face the fact that there is no 100% guarantee for fast and error free communication. I can recommend a delay value of 10 milliseconds (default setting) for the most cases and bigger values for machines with slower Bluetooth stacks.

The SOFTWARE handshaking can also be used (even without any delay) with cheap USB2Serial cables (TTL) that do not support hardware handshaking.

There is one drawback of the SOFTWARE handshaking that should be understood by the users. The emulated SIO device is analyzing data coming from the Atari to detect an incoming Command Frame. We are on the safe side if our device is the only SIO device on the bus. However if the Atari writes data to a different physical SIO devices on the bus, the data (for example a disk sector) can include bytes that build a valid Command Frame. In such cases our device would incorrectly react upon it.

My recommendation is NOT TO USE other physical SIO devices when working with SOFTWARE handshaking, or to use them only to provide data to Atari.

As a part of the project I have provided a binary version of the AspeQt for Windows users and the source code for Linux users (tested successfully under Windows XP, Windows 7 and Ubuntu).

As long as the SIO devices are emulated on a PC, there is no real advantage of wireless communication.
However if SIO devices are emulated on a smartphone, we do not need a PC at all. Many people carry smartphones with them. Games can be downloaded from the internet and immediately loaded to the Atari from an emulated Disk Drive. One day we could even go one step further and introduce a new SIO Device – an intelligent network device with a TCP/IP stack...
I decided to support the Android platform (the iOS does not support Bluetooth SPP).
The SIO2BT App can be downloaded from the Google Play Store to any smartphone with Android 2.1 or higher.

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

16

moglbys po polsku napisac o tych timingach? nie wiem czy dobrze to zrozumialem.

http://atari.pl/hsc/ad.php?i=1.

17

xxl napisał/a:

moglbys po polsku napisac o tych timingach? nie wiem czy dobrze to zrozumialem.

Z timingami są dwa problemy:
1) Atari czeka tylko 16ms (NTSC) / 20ms (PAL) na odpowiedź na Command Frames.
Te wartości trzeba było zwiększyć w procedurach SIO (patchowanie ATARI OS).
2) Stacja dyskietek odpowiadając na READ SECTOR odpowiada wysyłając ACK, następnie po t5 (= 250 usec) COMPLETE, a na koniec wysyła data frame. Jeśli opóźnienie t5 nie jest zachowane przez stację, ATARI nie odczyta poprawnie bajtu COMPLETE.
Jeśli emulowana stacja dyskietek przesyła bajty ACK i COMPLETE przez Bluetooth czekając tylko 250 usec, to nic to nie da, bo bajt COMPLETE "dogoni" bajt ACK w buforach stosu Bluetooth. W tym miejscu konieczne jest znacznie wieksze opóźnienie, tak aby bajty te nie przychodziły do ATARI jeden po drugim.

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

18

co nove?

ATARI 800XE with u1mb, stereo, covox, ramdisk hell led, ultra video 1.0 XE.
SIO2SD, SIDE3, sio2usb, sio splitter, dragon cart, lantronix mss-100, fujinet (lotharek), rverter, A8PicoCart, BT-100, XC12 (T2000), XC12 (SUPER TURBO, TURBO D), both with internal speakers
my youtube channel

19

Cierpliwości, jeszcze parę dni :)

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

20

Gratulacje za zajęcie pierwszego miejsca! :)

Ridiculous Reality, Assembloids XE, Deathchase XE, Total Eclipse, Hobgoblin 2 (w produkcji)

21

Gratulacje! W pełni zasłużone pierwsze miejsce.

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

22

Bardzo dziękuję, trochę trwało aż wyniki pojawiły się w sieci:
http://www.abbuc.de/atari/hardware-ressort
Teraz już oficjalnie dokumentacja i software:
https://drive.google.com/file/d/0B3-191 … FBsRW1iRUE
Android App:
https://play.google.com/store/apps/deta … uma.sio2bt
Moduły Bluetooth (bez wtyków SIO) można zamawiać przez PM.
Koszt to 80 złotych, wysyłka możliwa za miesiąc.
Proszę wcześniej o przeczytanie opisu / zadawanie pytań, żeby uniknąć nieporozumień.
Pozdrawiam
Montezuma

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

23

Ja również gratuluję - świetny pomysł. Czy będzie możliwe zamówienie sio2bt całkowicie zmontowanego we wtyczce?

24

Ja też byłbym taką wersją zainteresowany.

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

25

Dzięki.
Niestety nie posiadam wtyków SIO i poza tym trochę z tym dłubania (dosłownie).
Mam na myśli mechaniczne dopasowanie wtyczki i modułu BT, bo połączenie elektryczne jest proste (4 przewody).
Szczerze powiedziawszy zalecam zainteresowanym montaż SIO2BT w ATARI na stałe.
Znika wtedy problem z koniecznością nawiązywania połączenia Bluetooth po każdym wyłączeniu i włączeniu ATARI.
Załączam jeszcze zdjęcie: miejsce we wtyczce zrobiłem za pomocą starej lutownicy (uwaga - cuchnie), poza tym spiłowałem minimalnie płytke z obu stron:

http://www.abbuc.de/phpBB3/download/file.php?id=2408

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