IECATA : IDE/CF as Commodore IEC
Asbjørn Djupdal, 2002
IECATA to kontroler twardego dysku dla magistrali szeregowej Commodore IEC. Pozwala wszelkim komputerom z szeregowym portem IEC (np. VIC-20, C-64, C-128) używać tanich i łatwych do dostania dysków twardych ATA (również zwanych dyskami IDE).
Cechy
- Obsługuje dyski twarde standardu ATA do 128 gigabajtów.
- Cały dysk jest dostępny jako jedna duża partycja.
- Obsługuje standardowe komendy Commodore KERNAL IEC. Ma to następujące następstwa:
- Może być podłączane do dowolnego komputera z szeregową magistralą IEC (VIC-20, C-64, C-128, prawdopodobnie inne też...).
- Nie jest wymagany sterownik dla komputera, dysk twardy pracyje jako stacja z ogromnym dyskiem.
- Magistrala IEC jest bardzo powolna, spowolaniając dysk twardy. Niemniej jest zauważalnie szybszy niż stacja Commodore 1541.
- Użyty jest własny system plikowy z następującymi cechami:
- Obsługuje pliki typu PRG oraz SEQ, a także nowy typ - DIR - który reprezentuje katalogi.
- Najmniejsza adresowalna jednostka: 512 bajtów (jeden blok logiczny ATA).
- Maksymalna wielkość pliku: 32 megabajty.
- Maksymalna ilość pozycji w katalogu: 256.
- Maksymalny poziom zagnieżdżenia katalogów: nieskończony.
- Ograniczenia:
- Brak obsługi plików typu USR oraz REL.
- Brak obsługi wszystkich komend Commodore DOS, w szczególności odczytu i zapisu pamięci, wykonania programu oraz odczytu, zapisu, zajęcia i zwolnienia bloku. Z tego powodu szybkie loadery (fastloaders), zabezpieczone przed kopiowaniem gry i inne programy wykonujące bardziej egzotyczne rzeczy z dyskiem nie będą działać.
- Nie ma możliwości uruchamiania gier całodyskowych - pliki C64 nie mogą być zamapowane jako stacja.
Użycie
Podłącz płytkę IECATA do komputera oraz do dysku twardego ATA, następnie włącz zasilanie. Jeśli dioda sygnalizująca błąd nie zgaśnie po kilku sekundach, spróbuj zresetować. Jeśli to nie pomoże, jest problem z dyskiem.
Napęd z dyskiem twardym ma numer 10 (w przeciwieństwie do 1541, które zwykle jest urządzeniem 8). Poza tym, dysk twardy jest używany w ten sam sposób, jak stacja 1541.
Zworka J2 wybiera tryb pracy magistrali szeregowej. Gdy otwarta, IECATA pracuje w normalnym trybie C64. Gdy zamknięta, działa szybki tryb VIC-20 (nie jest zgodny z C64).
Obsługiwane są następujące kompendy dyskowe (przez dyskowy kanał 15):
- CD:<subdir> zmiana katalogu
- MD:<subdir> założenie katalogu
- SD:<subdir> usunięcie katalogu, musi być pusty
- S:<file>> usunięcie pliku
- R:<new-file>=<old-file> zmiana nazwy pliku
- N formatowanie dysku
- I inicjalizacja dysku (aktualnie ignorowana)
Składnia tych komend jest taka sama jak w Commodore DOS. Gdzie to możliwe, możesz używac oznaczeń grupowych (* oraz ?) just like on Commodore DOS.
Wczytywanie i zapisywanie plików działa jak na stacji 1541. Uwaga, tylko pliki PRG i SEQ mogą być utworzone.
Jeśli czytasz kanał błędów (kanał 15), otrzymasz takie komunikaty:
- 00: Brak błędu.
- 20: Błąd startu, dysk twardy nie zawiera poprawnej struktury plików.
- 21: Błąd tworzenia, plik albo katalog nie może zostać utworzony.
- 22: Błąd nieotwarcia, dostęp do pliku, który nie został otwarty.
- 23: Błąd nieznalezienia, plik lub katalog nie znaleziony.
- 24: Błąd składni.
- 25: Informacja o wersji, pokazywana po starcie, podaje numer wersji oprogramowania IECATA.
Przykłady użycia
Wczytanie pliku z BASIC: LOAD"filename",10.
Zapis pliku z BASIC: SAVE"filename",10.
Wczytanie katalogu: LOAD"$",10.
Zmiana katalogu: OPEN1,10,15,"CD:mydir":CLOSE1.
Formatowanie dysku: OPEN1,10,15,"N":CLOSE1.
Sprzęt
Kontroler IECATA zawiera mikrokontroler AVR 8515 z 32 kilobajtami dodatkowej pamięci (SRAM). Więcej informacji zawiera schemat.
W IECATA V2 mikrokontroler AT90S8515 został zamieniony na ATmega162, który ma 16kB pamięci Flash na program. Zmienione są też funkcje portów B i D. Dzięki temu możliwe jest przeprogramowanie mikrokontrolera z poziomu C64 (poprzez IEC) i wymaga to przestawienia tylko dwóch zworek.
Firmware
Versja | Opis |
IECATA V1.0 | Oryginalne oprogramowanie napisane przez Asbjørna dla AT90S8515. Uwagi wskazują, że ma małe problemy z obsługą ATN. |
IECATA V1.2 | Poprawiony, również dla AT90S8515. Zmienione numery komunikatów o błędach. Zmienione SD na RD. Poprawiona obsługa ATN. |
IECATA V1.3 | Następne poprawki, wymaga ATmega162 (IECATA V2), ponieważ przekracza 8kB. |
Projekt 2006
Zaprojektowana jest nowa, mniejsza płytka. Pamięć 32kB SRAM oraz bufor 74LS573 są umieszczone pod kontrolerem. Działa bez zmian w oprogramownaiu.
Ponieważ został użyty układ ATMEGA8515, program musiał być przekompilowany i został oznaczony numerem wersji V3.0. Dodatkowo, numer urządznia jest przechowywany w EEPROM i może być zmieniony komendą GO:n.
Różnice
Cecha | V1 | V2 | V3 |
Wersja płytki | V1 | V2 | V1 |
Wersja programu | V1.0 | V1.2 V1.3 | V3.0 V3.1 |
Mikrokontroler | AT90S8515 | ATMEGA162 | ATMEGA8515 |
Usuwanie katalogu | SD: | RD: | SD: |
Numer urządzenia | 10 | 14 | 8 do 15* |
Kody statusu (błędu) zwracane przez IECATA |
Błąd inicjacji | 20 | 74 | 74 |
Błąd tworzenia | 21 | 01 | 01 |
Błąd otwarcia | 22 | 61 | 61 |
Brak pliku | 23 | 62 | 62 |
Błąd składni | 24 | 30 | 30 |
Informacja o wersji | 25 | 73 | 73 |
* Nowy numer urządzenia IEC jest używany po zresetowaniu IECATA.
Plany na 2008
- Równoległy IEC (jak 1551).
- Obsługa kart SD.
- Obsługa plików .C64
Pliki do pobrania
- ieca006s.png 54.8kB (2008-03-21 17:06), uploaded by Jarek Adamski
- Schemat v006 (dodany rezystor brakujący w v005).
- dev8-11.zip 36.3kB (2007-06-10 00:42)
- Cztery wersje pliku oprogramowania IECATA (dla AT90S8515) z różnymi numerami urządzenia: 8, 9, 10, 11. Nie testowane.
- iec0010d.jpg 86.0kB (2007-05-07 00:46)
- Zbiżenie na monitor z katalogiem IECATA.
- iec0010c.jpg 74.5kB (2007-05-07 00:46)
- Płytka IECATA umieszczona z C64 w tle.
- iec0010b.jpg 59.4kB (2007-05-07 00:46)
- Płytka IECATA połączona z dyskiem 2.5".
- iec0010a.jpg 72.3kB (2007-05-07 00:46)
- Zbliżenie zmontowanej płytki IECATA.
- iecata_wersja_finalna.jpg 86.4kB (2006-11-16 21:17), uploaded by bzyq
- Ostateczny wygląd zmontowanego kontrolera wraz z dyskiem i własnym zasilaczem .
- iecata_ver1.0_zestaw.jpg 82.0kB (2006-11-12 18:00), uploaded by bzyq
- Kompletny zestaw podczas testów z komputerem C128D
- iecata_ver1.0.jpg 68.1kB (2006-11-12 17:54), uploaded by bzyq
- Pierwszy zmontowany egzemplarz kontrolera IECATA.
- iecata_jozsef.zip 391.0kB (2006-11-11 02:01)
- Alternatywny projekt plytki (obrazki, pliki gerber, lista elementów).
- iecatadosprg.zip 4.5kB (2006-11-11 01:17), uploaded by bzyq
- [hu] Prosty DOS dla C64, obsługujący kontroler IECATA, opis w języku węgierskim.
- ieca-005.zip 46.4kB (2006-11-15 22:13)
- Schemat i płytki v005. Pliki danych Eagle.
- ieca-005.png 8.9kB (2006-11-07 10:43)
- Rozmieszczenie elementów na płytce v005. Plik graficzny z Eagle.
- iecata.tgz 197.4kB (2006-04-13 23:50)
- [en] Pełna dokumentacja. Schemat w PDF i PS, płytki jako pliki PS, oprogramowanie kompilowane pod Linuxem.
- iecata.pdf 63.8kB (2002-08-17 18:09)
- Oryginalny schemat IECATA, wypakowany z pliku "iecata.tgz".
Linki do innych stron- http://www.djupdal.org/cbm/iecata/
- Strona IEC-ATA, Asbjørna Djupdala. Oryginalna dokumentacja oraz zdjęcia prototypu.
- http://www.64hdd.com/projects/hardware/c64-iecata.html
- Jak wbudować IECATA do obudowy 1541-II.
- http://yarek.com/basket/iecata/
- Formularz zamówienia: Plytka IECATA do samodzielnego montażu, zestaw, albo gotowy moduł (bez obudowy, dysku, zasilacza i gniazd IEC).
- http://www.dienstagstreff.de/de/hardware/iecata/
- [de] IECATA V2 - inny projekt płytki z użyciem ATmega162 i zmienionym oprogramowaniem..
Zobacz również
- ZX1541 : ZX81
- Interfejs dyskowy dla ZX81 (TS1500) do podłączenia stacji Commodore 1541.
| Apple
Atari
Commodore
CPC
PC
Sam Coupé
YAMOD
Timex
ZX81
ZX Spectrum
|
|