<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=George</id>
	<title>Atariki - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=George"/>
	<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php/Specjalna:Wk%C5%82ad/George"/>
	<updated>2026-10-24T07:44:58Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=SIO2SD&amp;diff=27798</id>
		<title>SIO2SD</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=SIO2SD&amp;diff=27798"/>
		<updated>2009-11-04T12:32:02Z</updated>

		<summary type="html">&lt;p&gt;George: ortografia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Informacje Ogólne==&lt;br /&gt;
SIO2SD to interfejs autorstwa [[Jakub_Kruszona-Zawadzki|Jakuba Kruszony-Zawadzkiego]], pozwalający na wczytywanie gier/programów na Atari 8-bit poprzez port SIO z kart SD/MMC. &lt;br /&gt;
&amp;lt;center&amp;gt;[[Grafika:Sio2sd.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cechy urządzenia==&lt;br /&gt;
&lt;br /&gt;
* Obsługa kart SD/MMC (formaty FAT12, FAT16 i FAT32) &lt;br /&gt;
* Obsługa plików w formatach ATR (rw), XFD (ro) i COM/XEX (ro) &lt;br /&gt;
* Wyświetlacz 16x2 pokazujący aktualnie wybrany katalog i plik ATR/XEX podmapowany pod określony numer stacji dysków.&lt;br /&gt;
* Obsługa SIO z turbo (możliwość ustawienia prędkości - hsindex od 1 do 16, standardowo 6, co odpowiada prędkości ok. 69kb/s, do wersji 2007.02.18 była stała prędkość 51kb/s - hsindex 10) &lt;br /&gt;
* Wszystkie gęstości z sektorami 128B i 256B (TOMS&#039;owe 512B na razie nieobsługiwane), w tym również dyski 16MB &lt;br /&gt;
* Możliwość równoległej obsługi 8 stacji (do wersji 2007.02.08 tylko 4 stacje: D1-D4) &lt;br /&gt;
* Możliwość konfigurowania z poziomu ATARI (możliwe ładowanie programu konfiguracyjnego bezpośrednio z urządzenia, bez potrzeby nagrywania na kartę SD)&lt;br /&gt;
&lt;br /&gt;
==Wydajność==&lt;br /&gt;
&lt;br /&gt;
Prędkość zmierzona programem [[RW-Test]] pod [[SpartaDOS X]]:&lt;br /&gt;
&lt;br /&gt;
* DOS Reading: 1719,8 B/sek.&lt;br /&gt;
* DOS Writing: 5137,8 B/sek.&lt;br /&gt;
* DOS Average: 3428,8 B/sek.&lt;br /&gt;
&lt;br /&gt;
Użyto RW-Test w wersji 3.0 i karty SD Pretec Highspeed 60x.&lt;br /&gt;
&lt;br /&gt;
==Lista elementów==&lt;br /&gt;
&lt;br /&gt;
Poniżej przedstawiona jest lista elementów elektronicznych potrzebnych do budowy układu.&lt;br /&gt;
&lt;br /&gt;
    Lp  Ilość   Nazwa Elementu         Wartość          Oznaczenie elementu&lt;br /&gt;
     1     2    Rezystor                10k                 R1,R3&lt;br /&gt;
     2     1    Potencjometr            2.2k                R2&lt;br /&gt;
     3     3    Rezystor                1.8k                R4,R5,R6&lt;br /&gt;
     4     3    Rezystor                3.3k                R7,R8,R9&lt;br /&gt;
     5     1    Rezystor                27R                 R10&lt;br /&gt;
     6     3    Rezystor                220R                R11,R12,R13&lt;br /&gt;
     7     1    Kondensator tantalowy   10uF                C4&lt;br /&gt;
     8     2    Kondensator ceramiczny  22pF                C1,C2&lt;br /&gt;
     9     4    Kondensator ceramiczny  100nF               C3,C12,C10,C11&lt;br /&gt;
    10     5    Kondensator ceramiczny  22nF                C5,C6,C7,C8,C9&lt;br /&gt;
    11     1    Kwarc                   7.3728 lub 14MHz    Q1&lt;br /&gt;
    12     1    Dioda Schottkiego       BAT85               opcjonalnie&lt;br /&gt;
    13     1    Procesor ATMEGA32-16PI (lub Atmega 32L-8PU) IC1&lt;br /&gt;
    14     1    Stabilizator            3.3V                IC2&lt;br /&gt;
    15     3    Diody LED               3V                  LED1,LED2,LED3&lt;br /&gt;
    16     5    Mikrostyki                -                 S1,S2,S3,S4,S5&lt;br /&gt;
    17     1    Gniazdo SD                -                 SD&lt;br /&gt;
    18     1    Wyświetlacz 2x16 LED      -                 JP3&lt;br /&gt;
&lt;br /&gt;
==Porady dotyczące uruchomienia układu==&lt;br /&gt;
&lt;br /&gt;
* Dla kwarca 7.3728 MHz fuse procesora Atmel ustawiamy na (H:0xD1 ; L:0xFF)&lt;br /&gt;
* Dla kwarca 14.3118 MHz fuse procesora Atmel ustawiamy na (H:0xC3 ; L:0xFF)&lt;br /&gt;
* Jeżeli podczas wyboru plików ATR na wyświetlaczu pojawiają się śmieci - należy wymienić stabilizator napięcia 3.3V (na np. precyzyjny stabilizator napięcia 1.0A w obudowie TO-220)&lt;br /&gt;
* Komunikat &#039;Błąd odczytu karty SD&#039; - gdy jest włożona do slotu - przyczyną jest brak styku przy kondensatorze C12 lub stabilizatorze napięcia 3.3V. PCB jest dwustronne, dlatego zaleca się poprawić lutowanie z obu stron płytki dla tych elementów.&lt;br /&gt;
&lt;br /&gt;
==Programowanie, obsługa SIO==&lt;br /&gt;
&lt;br /&gt;
Sio2SD jest urządzeniem [[SIO]], z którym możemy się komunikować. Wykorzystuje tę możliwość dedykowany przez autora Sio2SD.com albo grupy MadTeam [[Atari Commander]] od wersji 1.7&amp;lt;br&amp;gt; &lt;br /&gt;
Poniżej nieoficjalne dane zebrane przez [[Pajero]]&lt;br /&gt;
&lt;br /&gt;
===Wykaz urządzeń===&lt;br /&gt;
&lt;br /&gt;
* $73 - zgłasza się jako urządzenie numer 3, widocznie no.1 to [[SIO2IDE|Sio2Ide]], a no.2 to [[SIO2PC|Sio2pc]]&lt;br /&gt;
&lt;br /&gt;
===Wykaz komend===&lt;br /&gt;
&lt;br /&gt;
* $300 DDEVIC = $70 lub $73 +deviceID&lt;br /&gt;
* $301 DUNIT  = $03 lub $00 +deviceID&lt;br /&gt;
* $306 DTIMLO = $7f minimum, optymalnie $90&lt;br /&gt;
* $307 DUNUSE = $00 zawsze&lt;br /&gt;
* $30B DAUX2  = $00 zawsze&lt;br /&gt;
&lt;br /&gt;
DeviceID znajduje się w konfiguracji Sio2SD. Wartości 0-3. Pozwala podłączyć do 4 urzadzeń do Atari jednocześnie.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding=5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0302 &amp;lt;b&amp;gt;DCMND&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0303 &amp;lt;b&amp;gt;DSTATS&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0304/5 &amp;lt;b&amp;gt;DBUFA&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0308/9 &amp;lt;b&amp;gt;DBYT&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$030A &amp;lt;b&amp;gt;DAUX1&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$00 get status&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$40&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bufor jednobajtowy. Odczytana wartość:&amp;lt;br&amp;gt;00 = brak karty&amp;lt;br&amp;gt;01 = OK &amp;lt;br&amp;gt;02 = OK zmieniono kartę na inną&amp;lt;br&amp;gt;03 = OK zmiany w D1-D8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$01&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$01 get drive&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$40&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Adres bufora&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$36&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Numer urządzenia: 1 - 8&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$02 mount drive&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$80&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Adres bufora z nazwą wpisu&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$36&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Numer urządzenia: 1 - 8&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$03 unmount drive&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Numer urządzenia: 1 - 8&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$04 get name&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$40&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Adres bufora dla nazwy wpisu&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$36&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$05 select directory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$80&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Adres bufora z nazwą katalogu &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$36&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$06 up directory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$10 lcd set&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$80&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Adres bufora z linią do wyświetlenia&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$28&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$00 = linia górna&amp;lt;br&amp;gt;$01 = linia dolna&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oczywiście obowiązuje zawsze sprawdzenie czy komenda została poprawnie wykonana. &lt;br /&gt;
&lt;br /&gt;
Czyli mamy możliwość sprawdzenia czy urządzenie jest włączone do gniazda SIO - get status; możemy odczytać co jest podpięte do jednego z ośmiu urządzeń - get drive; zmienić to podpięcie - mount drive; lub je wyłączyć (tzw. --OFF-- ) - unmount drive; odczytać zawartość bieżącego katalogu - get name; wejść do wybranego katalogu - select directory; przejść o katalog wyżej (do nadrzędnego) - up directory; a także wysłać tekst na wyświetlacz.&lt;br /&gt;
&lt;br /&gt;
Niestety w tej wersji urządzenia nie można ustawiać dowolnie ścieżki katalogów (nalezy po nich &amp;quot;skakać&amp;quot; krokowo), odczytywać dowolnego wpisu z katalogu - zawsze przekazywany jest wpis po wpisie.&lt;br /&gt;
Największym bólem jest brak możliwości zapisywania do samej karty. Czyli nie można założyć nowego [[ATR|Atr&#039;a]].&lt;br /&gt;
&lt;br /&gt;
===Wpis katalogu===&lt;br /&gt;
&lt;br /&gt;
Komunikacja odbywa się blokami po $36 bajtów. Zawartość:&lt;br /&gt;
* $00-$26 = nazwa wpisu do katalogu wypełniona do końca spacjami&lt;br /&gt;
* $27 = status wpisu: 01 katalog, 02 atr, 03 xfd, 04 inny &lt;br /&gt;
Jeśli pierwszy bajt równy 0 = koniec katalogu, potem znowu wszystko od początku.&lt;br /&gt;
&lt;br /&gt;
==Programowanie układu ATMEL==&lt;br /&gt;
&lt;br /&gt;
Aby zmienić firmware wystarczy wgrać program binarny [[BIN|*.BIN]] do katalogu karty SD i odpalić Sio2SD z Shift+K3. Ale przy błędzie takiej operacji lub jeśli rozprogramuje się układ Atmel możemy tylko wykonać operacje programowania procesora.&lt;br /&gt;
Do tego celu może posłużyć dowolny programator (np. STK 200/300 za 16PLN na Allegro) podłączany do portu LPT (drukarki) w PC&#039;ecie. Za pomocą programu (np. darmowy PonyProg) szybko odratujemy Atmela. &lt;br /&gt;
Podłączamy kable programatora do złącza JP2 w płytce Sio2SD. Oznaczenia pinów - widok na PCB od strony elementów - powyżej jest Atmel: &lt;br /&gt;
&lt;br /&gt;
 RESET  CLK  MISO&lt;br /&gt;
  GND  MOSI   VCC&lt;br /&gt;
&lt;br /&gt;
Włączamy PC (wtyk D-Sub 25 wpięty już jest do LPT), podłączamy Sio2SD do Atari i je włączamy!&lt;br /&gt;
Uruchamiamy program, który wykona programowanie. Szczegóły obsługi programu dostępne są w sieci lub u sprzedawcy programatora!&lt;br /&gt;
&lt;br /&gt;
==Przydatne linki==&lt;br /&gt;
&lt;br /&gt;
Więcej informacji na [http://sio2sd.gucio.pl/ stronie] autora projektu.&lt;br /&gt;
Żródło Atari Commandera na [http://madteam.atari8.info/index.php?prod=uzytki  stronie MadTeamu]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Peryferia 8-bit]]&lt;br /&gt;
[[Kategoria:Schematy i specyfikacje]]&lt;/div&gt;</summary>
		<author><name>George</name></author>
	</entry>
</feed>