IDEDO - IDEDOS
| Deweloper | Josef Souček, Tomáš Přibyl, Jan Vorlíček, Jan Hlaváček, Kajtár Zsolt |
|---|---|
| Napisane w | 6502 / +65.816 asemblera |
| Pierwsze wydanie | 1996 |
| Najnowsze wydanie | 0,90 |
| Najnowszy podgląd | 0.91 beta |
| Dostępne w | język angielski |
| Platformy | Commodore 64 , 128 i SuperCPU |
| Domyślny interfejs użytkownika | Interfejs linii komend |
| Licencja | GPLv2 |
| Oficjalna strona internetowa | idedos |
IDEDOS jest ROM -na Disk Operating System napisany w 6502 / 65816 asemblerze dla Commodore 64 , 128 i SuperCPU . Jego głównym celem jest sterowanie urządzeniami ATA (PI) podłączonymi do kasety IDE64 i prezentowanie ich jak zwykłych napędów Commodore. Dodatkowo obsługuje dyski sieciowe (PCLink) i ma wbudowany monitor kodu maszynowego i menedżera plików .
Architektura
C64 KERNAL wykorzystuje tabelę wektorów na stronie 3, aby umożliwić przekierowanie typowej obsługi plików jądra i podstawowych funkcji. Ta funkcja jest używana przez IDEDOS do podpięcia się do jądra C64.
Sam system operacyjny jest podzielony na cztery strony po 16 KiB, które są mapowane w razie potrzeby. Mapowanie jest tymczasowo wyłączane podczas działania przerwań w celu zwiększenia kompatybilności, jednak powoduje to opóźnienie ≈40 μs.
Dodatkowa pamięć RAM dla buforów i danych wewnętrznych jest również odwzorowywana z kasety IDE64 (28 KiB) lub dodatkowej pamięci RAM SuperCPU. Standardowe lokalizacje pamięci jądra na stronie zerowej i drugiej są obsługiwane w sposób zgodny z jądrem; pamięć zajęta tymczasowo jest przywracana po zakończeniu procedur.
Poza tabelą jądra, IDEDOS ma dwa nowe wywołania masowej obsługi danych (odczyt / zapis), co pozwala na znacznie szybszy transfer danych niż we / wy znakowe.
Natywny system plików ma styl inny niż CBM na niskim poziomie, aby umożliwić partycje większe niż 16 MB. Funkcje wysokiego poziomu, takie jak 16-znakowe nazwy plików lub typy plików, są zachowywane. Ze względu na złożoność i wymagania dotyczące pamięci, tworzenie systemu plików i sprawdzanie spójności nie jest częścią systemu operacyjnego, w przeciwieństwie do CBM DOS lub CMD DOS.
Dodatkowe systemy plików, takie jak ISO 9660 lub FAT, są wewnętrznie wyabstrahowane i przeważnie używają tych samych procedur do obsługi, przez co niewielkie różnice są zauważalne dla programów użytkownika, chyba że niektóre funkcje nie są w pełni zaimplementowane.
Obsługa urządzeń odbywa się za pomocą dodatkowych numerów urządzeń przypisanych do nowych urządzeń. Numery urządzeń dla urządzeń IDEDOS są konfigurowalne i zwykle mieszczą się w zakresie 10–14. Przez lata wiele programów zakładało, że jest tylko urządzenie 8 i nie pozwalają na wybór niczego innego; można to obejść, tymczasowo zmieniając numer używanego urządzenia IDEDOS na 8.
W przypadku urządzeń standardowych używane są oryginalne procedury jądra, podczas gdy urządzenia IDEDOS używają niestandardowych procedur, które ściśle imitują wyniki i zachowanie wywołań jądra dla urządzeń dyskietek. Wywołania jądra, które nie przechodzą przez tablicę wektorów (w szczególności wywołania specyficzne dla magistrali IEC), stanowią niekompatybilność z tymi programami, które je wykorzystują.
Funkcje specjalne (takie jak obsługa dźwięku CD-ROM) są realizowane przez nowe polecenia kanału 15, podczas gdy funkcje, których nie ma w stacjach dyskietek, są zgodne z poleceniami w stylu CMD, aby umożliwić programom łatwą obsługę większej liczby urządzeń.
W przeciwieństwie do inteligentnych urządzeń zewnętrznych, które mają oddzielny procesor (jak 1541 z CBMDOS), IDEDOS działa na komputerze hosta, przez co wszystkie procedury dyskowe blokują się aż do zakończenia. Wyklucza to użycie „programów ładujących IRQ”, które są powszechnie używane do przyspieszenia działania urządzeń peryferyjnych magistrali szeregowej.
Przerwania są generalnie dozwolone, gdy IDEDOS jest uruchomiony (są wyłączane w rzadkich operacjach krytycznych czasowo), jednak system został napisany jako niewracający , tak jak oryginalny kernal.
Krótka historia
W 1996 narodził się IDEDOS, ponieważ zaistniała potrzeba stworzenia systemu obsługującego kartę IDE64 1.1. Został stworzony przez Josefa Součka (główny kod) i Tomáša Přibyla (menedżer plików, adaptacja monitora kaset końcowych). Dodatkowy kod przyszedł Jan Vorlíček (rozszerzenie BASIC), Jan Hlaváček (Duart PCLink).
W 2000 roku Kajtár Zsolt dodał obsługę CDROM, nowy kod instalacyjny i wiele poprawek. Ze względu na ograniczenia projektu Kajtár Zsolt rozpoczął prace nad całkowicie przepisaną wersją (0,90), która nie była gotowa do powszechnego użytku przed 2005 rokiem. W międzyczasie stara wersja osiągnęła poziom 0,898b w czerwcu 2004 roku.
W 2009 roku limit 64 KiB dla systemu zaczął się zaciskać, a IDEDOS 0.91 beta został uruchomiony w celu refaktoryzacji kodu, aby uzyskać więcej miejsca i wewnętrznej elastyczności.
IDEDOS 0.898b
To była ostatnia wersja starej serii IDEDOS.
Obsługa urządzeń
- 2 urządzenia ATA (PI): dysk twardy, CompactFlash, CDROM, DVD
- Karta Duart RS-232 do PCLink
- SuperCPU v1 / v2
System plików
- Niestandardowy system plików o nazwie OFS 0.02
- Do 8 GiB, tylko adresowanie CHS , obejmuje cały dysk
- 16-znakowe nazwy plików.
- Naprawiono typy plików SEQ, PRG, USR.
- Katalogi są obsługiwane.
- Obsługiwane znaczniki czasu.
- Pliki do 4 GiB, tylko dostęp sekwencyjny
- Obsługa systemu plików ISO 9660
Fastload
Wbudowane urządzenia obsługujące szybkie ładowanie :
- 1541 jako urządzenie 8
Szybkie obciążenie można wyłączyć w konfiguracji w przypadku niekompatybilności (inne niż 1541 jako urządzenie 8). Minimalny przeplot wynosi 7, szybkie oszczędzanie jest obsługiwane tylko w menedżerze i używa przeplotu 8. Taktowanie zgodne z PAL / NTSC .
PCLink
Protokół niestandardowy, tylko dostęp sekwencyjny. Wspierane urządzenia:
- Kabel równoległy PC64
- Duart RS-232
Ekran konfiguracji
Obejmuje zegar z kalendarzem, możliwość ustawiania numerów dysków, kolorów ekranu, automatyczne uruchamianie, szybkie ładowanie dyskietek, podstawowy zegar (TI $), zarządzanie energią, ponawianie zapisu, odczyt z wyprzedzeniem i zapisywanie ustawień pamięci podręcznej, opcja spowolnienia CDROM.
Podstawowe rozszerzenia
Rozszerzenie BASIC zawiera polecenia obsługi dysków (ograniczone do urządzeń IDEDOS) i dodaje kilka nowych komunikatów o błędach. Polecenia:
- CD - zmiana katalogu roboczego
- CDOPEN - otwórz tacę CDROM
- CDCLOSE - zamknij tacę CDROM
- CHANGE - zmień numer urządzenia HDD
- DATA - drukuj datę i godzinę
- DIR - normalne wyświetlanie katalogów
- HDINIT - ponownie wykryj urządzenia IDE.
- INIT - inicjalizuje pamięć
- KILL - wyłącz wkład
- LL - długi wykaz katalogów ze znacznikami czasu i rozmiarem pliku w bajtach.
- MAN - uruchom menedżera plików
- MKDIR - utwórz katalog
- RM - usuwa plik lub katalog
Menedżer plików
Może być używany do nawigowania po katalogach, uruchamiania programów, kopiowania / zmiany nazwy / usuwania plików, tworzenia katalogów i uruchamiania wtyczek do obsługi plików. Rekurencyjna kopia pliku została dodana dopiero w wersji 0.898b iw rzadkich przypadkach nie działa.
Monitor
Monitor jest prawie dokładnie tym, co monitor kaset Final w IDEDOS 0.89. Dostępne są tylko standardowe rozkazy 6502. Polecenia to:
- A - Instrukcje montażu
- B - Przełącznik banku
- C - Porównaj obszary pamięci
- D - Demontaż z adresu
- EC - Edytuj char
- ES - Edytuj sprite
- F - Wypełnij obszar pamięci
- G - Rozpocznij wykonywanie pod adresem
- H - wzorzec wyszukiwania
- I - PETSCII wyświetlanie z adresu
- L - Załaduj obszar pamięci
- M - lista pamięci
- O - Przełącznik banku
- P - Drukuj
- R - Pokaż rejestry
- S - Zapisz obszar pamięci
- T - obszar pamięci transferu
- X - Wyjście z monitora
- @ - polecenie dysku
- # - Konwertuj na szesnastkowy
- $ - Zamień na dziesiętne
- * r - Czytaj blok ze stacji dyskietek
- * w - Zapisz blok na stacji dyskietek
Różne funkcje
- Automatyczne uruchamianie - może załadować i uruchomić plik po zresetowaniu lub włączeniu.
- Niestandardowe kolory ekranu - domyślne kolory niebieskiego ekranu można zmienić.
- Ustaw zmienną TI $ BASIC na prawidłowy czas przy resecie.
- Wyświetla adres początkowy i końcowy do załadowania.
- Specjalne rozszerzenie do zbiorczego odczytu i zapisu danych w plikach
IDEDOS 0.90
To jest aktualna stabilna, najnowsza wersja to 20100509 (poprawka 45). Najważniejsze różnice w stosunku do 0,89 to:
- System plików CFS 0.11 umożliwia wyszukiwanie i względne pliki, obsługę LBA i partycjonowanie.
- Składnia zgodna z CMD do obsługi ścieżek i poleceń kanału 15
- Lepszy protokół PCLink umożliwiający korzystanie z sieci Ethernet i USB
- Monitor, który działa jak zamrażarka i jest znacznie szybszy
- Mocniejszy menedżer plików obsługujący urządzenia CMD
- Polecenia klinowe DOS
- Programowalne klawisze funkcyjne
- Obsługa rozszerzeń BASIC dla urządzeń innych niż IDEDOS
- Obsługa dodatkowych urządzeń do 4 napędów ATA (PI), obsługa ZIP i LS-120
- Obsługa kasety V4.1, liniowe transfery odczytu / zapisu dla dodatkowej szybkości
- Baterię we wkładzie IDE64 można teraz wymienić na superkapkę.
Obsługa urządzeń
- 4 urządzenia ATA (PI): dysk twardy, CompactFlash, CDROM, DVD, LS-120, napęd ZIP
- Duart / SwiftLink / Turbo232 / SilverSurfer RS-232, RR-Net / ETFE / ETH64 Ethernet, karty USB FT245 do PCLink
- SuperCPU v2
- Dodatkowa obsługa napędów JiffyDOS / DolphinDOS
System plików
- Niestandardowy system plików o nazwie CFS 0.11
- Do 128 GiB, adresowanie CHS / LBA, do 16 partycji
- 16-znakowe nazwy plików.
- Konfigurowalne 3 typy plików znaków.
- Obsługiwane są katalogi i linki miękkie.
- Obsługiwane pliki względne.
- Obsługiwane znaczniki czasu.
- Pliki do 4 GiB, do przeszukiwania
- System plików ISO 9660 , częściowa obsługa OFS 0.02
- FAT12 / 16/32 wolne, tylko do odczytu, krótkie nazwy plików z tabelami partycji w stylu DOS
Fastload
Wspierane urządzenia:
- CBM 1541 / 1571 / 1581
- Dowolny dysk z protokołem JiffyDOS ( CMD FD )
- Dodatkowe wsparcie dla DolphinDOS
Obsługa urządzenia jest wykrywana automatycznie, ale w razie potrzeby można ją wyłączyć ręcznie. Taktowanie zgodne z PAL / NTSC. Szybkie oszczędzanie tylko w menedżerze plików.
PCLink
Protokół niestandardowy, tylko dostęp sekwencyjny. Wspierane urządzenia:
- Magistrala szeregowa IEC
- Kabel równoległy PC64
- Duart, SwiftLink, Turbo232 RS-232
- Ethernet RR-Net, ETFE, ETH64
- FT245 USB
Ekran konfiguracji
- Zegar z kalendarzem
- Konfiguracja i mapowanie numerów urządzeń
- Kolory ekranu, menedżera i monitora
- Różne ustawienia (automatyczne uruchamianie, szybkie ładowanie dyskietek, podstawowy zegar (TI $))
- Ustawienia urządzenia ATA (PI) (zarządzanie energią, ponawianie zapisu, pamięć podręczna odczytu z wyprzedzeniem i zapisem, maksymalny liniowy odczyt / zapis)
Klin DOS
Głównie dobrze znane standardowe polecenia klinowe DOS .
- @ - polecenie DOS
- @ $ - Directory
- @# - Wybierz urządzenie
- / - Załaduj program BASIC
- % - Załaduj program montażowy
- '- Sprawdź program montażu
- ↑ - Załaduj program BASIC i wykonaj
- ← - Zapisz program BASIC
- £ - Załaduj i uruchom program asemblera
- . - Zmień katalog
- # - Wykonaj powłokę
Podstawowe rozszerzenia
Przedłużenie BASIC dodaje poleceń obsługi dysków, które mogą być używane z dowolnym urządzeniem, ponieważ używają komendy stylu CMD.
- CD - zmiana katalogu roboczego
- CDOPEN - otwórz tacę CDROM
- CDCLOSE - zamknij tacę CDROM
- CHANGE - zmień numer urządzenia
- DATA - drukuj datę i godzinę
- DEF - przedefiniuj klawisze funkcyjne
- DIR - normalne wyświetlanie katalogów
- HDINIT - ponownie wykryj urządzenia IDE.
- INIT - inicjalizuje pamięć
- KILL - wyłącz wkład
- KILLNEW - ponownie nowy
- LL - długi wykaz katalogów ze znacznikami czasu i rozmiarem pliku w bajtach.
- MAN - uruchom menedżera plików
- MKDIR - utwórz katalog
- RM - usuwa plik
- RMDIR - usuwa katalog
Menedżer plików
Inspiracja dla menedżerów plików pochodzi z 0.89, chociaż została przepisana od nowa. Celem było stworzenie menedżera plików, który nie tylko obsługuje urządzenia IDEDOS, ale także dobrze współpracuje z CMD i innymi dyskami.
Monitor
Monitor został przepisany od zera, główną inspiracją był monitor emulatora CCS64, ale niektóre pomysły poleceń pochodziły z monitorów FC3 / AR7 / Vice. Celem było posiadanie stylu zamrażarki (wszystkie rejestry, w tym edytowalne we / wy) i szybkiego monitora kodu maszynowego, który obsługuje nielegalne kody operacyjne trybu emulacji 6502 i SuperCPU.
Polecenia:
- @ - polecenie dysku, stan i katalog
- A - Złóż
- B - Konfiguracja pamięci, wybierz RAM / ROM
- BT - Backtrace
- C - Porównaj pamięć
- D - Demontaż
- , - Zapisz dane szesnastkowe do pamięci i rozmontuj
- EC - Edytuj znak (binarny)
- [- Zapisz dane binarne do pamięci
- ES - Edytuj sprite (binarny)
- ] - Zapisz binarne dane sprite'a do pamięci
- F - Wypełnij pamięć bajtem
- G - Wykonaj pod adresem
- H - Wyszukaj hex / any / text
- I - Zrzut pamięci w PETSCII
- '- Zapisz dane PETSCII do pamięci
- IO - Zrzut rejestrów I / O
- - - Zapisz dane szesnastkowe do pamięci I / O
- IV - Przywróć wektory we / wy
- J - Zrzuć pamięć w kodzie ekranu
- . - Zapisywanie danych kodu ekranu w pamięci
- K - Odblokuj pamięć
- L - Wczytaj program
- LB - załaduj plik binarny
- M - Zrzut pamięci w hex i PETSCII
- : - Zapisz dane hex lub PETSCII do pamięci
- N - konwersja liczb i kalkulator
- O - Wybierz napęd roboczy
- R - Pokaż rejestry
- ; - Zmień rejestry
- S - Zablokuj pamięć / zapisz program
- SB - Zapisz plik binarny
- T - Kopiuj pamięć
- V - Sprawdź program
- VB - Weryfikuj plik binarny
- X - Kontynuuj program
- Q - Wyjście do PODSTAWOWEGO ciepłego startu
- ← / ↑ - Wypychanie i wyskakiwanie adresów do stosu
Różne funkcje
- Automatyczne uruchamianie - może załadować i uruchomić plik po zresetowaniu lub włączeniu.
- Niestandardowe kolory ekranu, monitora i menedżera - domyślne kolory można zmienić.
- Ustaw zmienną TI $ BASIC na prawidłowy czas przy resecie.
- Wyświetla adres początkowy i końcowy do załadowania / zapisania.
- Specjalne rozszerzenie do zbiorczego odczytu i zapisu danych w plikach
- Obsługa klawiatury C128 w trybie C64
- Specjalne polecenia do obsługi napędów CDROM
- Odczyt katalogu surowego
- Długie listy katalogów w stylu CMD ze znacznikami czasu
IDEDOS 0.91 beta
To jest wciąż w fazie rozwoju. Najważniejsze różnice w stosunku do 0,90 to:
- Usunięto obsługę OFS 0.02
- Chronione procedury BASIC, szeregowe i PCLink
- Klawisze F działają z przerwaniami
- Odczyt ($ DEF4) działa poniżej I / O
- Programy automatycznego uruchamiania działają teraz z urządzeń IEC
- Obciążenie PCLink poniżej I / O
- Obsługa SilverSurfer PCLink, opcjonalnie PCLink
- System plików FAT odczytuje ($ DEF4) i ładuje
- Połączone partycje CFS i FAT, obsługa systemu plików na partycję
- Lista partycji dla FAT i ISO9660
- Dynamiczne wyliczanie dysków, wykrywanie PCLink
- Obsługa odczytu ($ DEF4) i zapisu ($ DEF1) na modyfikowalnych plikach
- Aktualizacja sygnatury czasowej tylko w przypadku modyfikacji
- Wyszukiwanie, modyfikowalne i dołączane pliki na PCLink
- Zmiany w protokole PCLink
- Dioda LED aktywności PCLink
- Względna obsługa plików została utracona
Bibliografia
- IDEDOS 0.91 beta http://singularcrew.hu/idedos/beta/
- IDEDOS 0.90 http://singularcrew.hu/idedos/IDE64_users_guide.pdf
- IDEDOS 0.89 http://www.volny.cz/dundera/manual.html