IDEDOS

IDEDOS
Deweloper Josef Souček, Tomáš Přibyl, Jan Vorlíček, Jan Hlaváček, Kajtár Zsolt
Napisane w język asemblera 6502/65816 _
Pierwsze wydanie 1996 ; 27 lat temu ( 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 idedo .ide64 .org

IDEDOS to dyskowy system operacyjny oparty na pamięci ROM , napisany w asemblerze 6502/65816 dla Commodore 64 , 128 i SuperCPU . Jego głównym celem jest sterowanie urządzeniami ATA(PI) podłączonymi do kartridża IDE64 i prezentowanie ich jak zwykłych napędów Commodore. Dodatkowo obsługuje dyski sieciowe (PCLink) oraz 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 podłączania 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 wykonywania 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ż mapowana z kasety IDE64 (28 KiB) lub używana jest dodatkowa pamięć RAM SuperCPU. Standardowe lokalizacje pamięci jądra na stronie zerowej i stronie drugiej są obsługiwane w sposób zgodny z jądrem; tymczasowo używana pamięć jest przywracana po zakończeniu procedur.

Poza tabelą jądra IDEDOS ma dwa nowe wywołania obsługi danych zbiorczych (odczyt/zapis), które umożliwiają znacznie szybsze przesyłanie danych niż znakowe operacje wejścia/wyjścia.

Natywny system plików jest na niskim poziomie w stylu innym niż CBM, aby umożliwić partycje większe niż 16 MiB. 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 i sprawdzanie spójności systemu plików 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 abstrakcyjne i w większości używają tych samych procedur obsługi, przez co programy użytkownika nie zauważają niewielkiej różnicy, z wyjątkiem sytuacji, gdy niektóre funkcje nie są w pełni zaimplementowane.

Obsługa urządzeń odbywa się za pomocą dodatkowych numerów urządzeń przypisanych nowym urządzeniom. 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 pozwala wybrać 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ą niezgodność z programami, które ich używają.

Specjalne funkcje (takie jak obsługa dźwięku CD-ROM) są realizowane przez nowe polecenia kanału 15, podczas gdy funkcje, których nie ma na stacjach dyskietek, są zgodne z poleceniami w stylu CMD, aby umożliwić programom łatwą obsługę szerszego zakresu urządzeń.

W przeciwieństwie do inteligentnych urządzeń zewnętrznych, które mają osobny 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łączone w rzadkich operacjach krytycznych czasowo), jednak system został napisany jako non- reentrant , podobnie jak oryginalne jądro.

Krótka historia

W 1996 roku narodził się IDEDOS, ponieważ pojawiła się potrzeba systemu do obsługi karty IDE64 1.1. Został stworzony przez Josefa Součka (główny kod) i Tomáša Přibyla (menedżer plików, ostateczna adaptacja monitora wkładki). Dodatkowy kod pochodzi od Jana Vorlíčka (rozszerzenie BASIC), Jana Hlaváčka (Duart PCLink).

W 2000 Kajtár Zsolt dodał obsługę CDROM, nowy kod instalacyjny i wiele poprawek. Ze względu na ograniczenia projektu opracowanie całkowicie przepisanej wersji (0.90) rozpoczął Kajtár Zsolt, która nie była gotowa do powszechnego użytku przed 2005 rokiem. Tymczasem stara wersja osiągnęła 0,898b w czerwcu 2004 roku.

W 2009 roku limit 64 KiB dla systemu zaczął się zmniejszać, a IDEDOS 0.91 beta zaczął refaktoryzować kod, aby uzyskać więcej miejsca i wewnętrznej elastyczności.

IDEDOS 0.898b

Była to ostatnia wersja starej serii IDEDOS.

Obsługa urządzeń

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

Szybkie ładowanie

Wbudowane urządzenia obsługujące szybkie ładowanie :

Szybkie ładowanie można wyłączyć w konfiguracji w przypadku niezgodności (nie-1541 jako urządzenie 8). Minimalny przeplot to 7, szybkie oszczędzanie jest obsługiwane tylko w menedżerze i wykorzystuje przeplot 8. 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ść ustawienia numerów dysków, kolorów ekranu, automatyczne uruchamianie, szybkie ładowanie dyskietek, podstawowy zegar (TI $), zarządzanie energią, ponawianie zapisu, odczyt z wyprzedzeniem i ustawienia pamięci podręcznej zapisu, opcja spowolnienia CDROM.

rozszerzenia BASIC

Rozszerzenie BASIC zawiera polecenia obsługi dysków (ograniczone do urządzeń IDEDOS) i dodaje kilka nowych komunikatów o błędach. Polecenia:

  • CD – zmień katalog roboczy
  • CDOPEN – otwórz tacę CDROM
  • CDCLOSE – zamknij tacę CDROM
  • ZMIEŃ – zmiana numeru urządzenia HDD
  • DATA – drukuje datę i czas
  • DIR – normalna lista katalogów
  • HDINIT – ponowne wykrywanie urządzeń IDE.
  • INIT – inicjalizacja pamięci
  • KILL – wyłącz kasetę
  • LL – długa lista katalogów ze znacznikami czasu i rozmiarem pliku w bajtach.
  • MAN – uruchom menedżera plików
  • MKDIR – utwórz katalog
  • RM – usuń plik lub katalog

Menedżer plików

Może być używany do poruszania się po katalogach, uruchamiania programów, kopiowania/zmieniania nazw/usuwania plików, tworzenia katalogów i uruchamiania wtyczek do obsługi plików. Rekurencyjne kopiowanie plików zostało dodane dopiero w wersji 0.898b iw rzadkich przypadkach nie działa.

Monitor

Monitor jest prawie dokładnie monitorem Final Cartridge w IDEDOS 0.89. Dostępne są tylko standardowe kody operacji 6502. Polecenia to:

  • A – Instrukcja montażu
  • B – Przełącznik banku
  • C – Porównaj obszary pamięci
  • D – Demontaż z adresu
  • EC – Edytuj znak
  • ES – Edytuj duszka
  • F – Wypełnij obszar pamięci
  • G – Rozpocznij wykonywanie pod adresem
  • H – Wzór wyszukiwania
  • I – wyświetlacz PETSCII 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 – Wyjdź z monitora
  • @ – polecenie dysku
  • # – Konwertuj na szesnastkowy
  • $ – Konwersja na dziesiętne
  • *r – Odczyt bloku z napędu dyskietek
  • *w – Zapisz blok na dyskietkę

Różne funkcje

  • Automatyczne uruchamianie — może ładować i uruchamiać plik po zresetowaniu lub włączeniu zasilania.
  • Niestandardowe kolory ekranu — domyślne kolory niebieskiego ekranu można zmienić.
  • Ustaw zmienną TI$ BASIC na prawidłowy czas przy resetowaniu.
  • Wyświetla adres początkowy i końcowy ładowania.
  • Specjalne rozszerzenie do masowego odczytu i zapisu danych w plikach

IDEDOS 0.90

To jest aktualna stabilna, najnowsza wersja to 20100509 (patch 45). Najbardziej zauważalne różnice w stosunku do 0,89 to:

  • System plików CFS 0.11 umożliwia przeszukiwanie 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
  • Potężniejszy menedżer plików obsługujący urządzenia CMD
  • Polecenia klina DOS
  • Programowalne klawisze funkcyjne
  • Obsługa rozszerzeń BASIC dla urządzeń innych niż IDEDOS
  • Obsługa dodatkowych urządzeń do 4 dysków ATA(PI), obsługa ZIP i LS-120
  • Obsługa kartridża V4.1, liniowe transfery odczytu/zapisu dla dodatkowej prędkości
  • Baterię we wkładzie IDE64 można teraz wymienić na superkondensator.

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-znakowe typy plików.
  • Obsługiwane są katalogi i miękkie łącza.
  • Obsługiwane pliki względne.
  • Obsługiwane znaczniki czasu.
  • Pliki do 4 GiB, przeszukiwalne
  • ISO 9660 , częściowa obsługa OFS 0.02
  • FAT12/16/32 powolna obsługa krótkich nazw plików tylko do odczytu z tablicami partycji w stylu DOS

Szybkie ładowanie

Wspierane urządzenia:

Obsługa urządzeń jest wykrywana automatycznie, ale w razie potrzeby można ją wyłączyć ręcznie. Taktowanie zgodne z PAL/NTSC. Szybki wygaszacz 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
  • RR-Net, ETFE, Ethernet ETH64
  • USB FT245

Ekran konfiguracji

  • Zegar z kalendarzem
  • Konfiguracja i ponowne 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 i zapisu, maksymalny liniowy odczyt/zapis)

klin DOS

Głównie dobrze znane standardowe polecenia klina DOS .

  • @ – polecenie DOS-a
  • @$ – Katalog
  • @# - Wybierz urządzenie
  • / – Załaduj program BASIC
  • % – Załaduj program montażu
  • ' – Sprawdź program montażowy
  • ↑ – Załaduj program BASIC i wykonaj
  • ← – Zapisz program BASIC
  • £ – Załaduj i uruchom program montażowy
  • . – Zmień katalog
  • # – Uruchom powłokę

rozszerzenia BASIC

Rozszerzenie BASIC dodaje polecenia obsługi dysków, których można używać z dowolnym urządzeniem, ponieważ używają poleceń w stylu CMD.

  • CD – zmień katalog roboczy
  • CDOPEN – otwórz tacę CDROM
  • CDCLOSE – zamknij tacę CDROM
  • ZMIEŃ – zmiana numeru urządzenia
  • DATA – drukuje datę i czas
  • DEF – przedefiniowanie klawiszy funkcyjnych
  • DIR – normalna lista katalogów
  • HDINIT – ponowne wykrywanie urządzeń IDE.
  • INIT – inicjalizacja pamięci
  • KILL – wyłącz kasetę
  • KILLNEW – odświeżony
  • LL – długa lista katalogów ze znacznikami czasu i rozmiarem pliku w bajtach.
  • MAN – uruchom menedżera plików
  • MKDIR – utwórz katalog
  • RM – usuń plik
  • RMDIR – usuń katalog

Menedżer plików

Inspiracja menedżerami plików pochodzi z wersji 0.89, choć została napisana od nowa. Celem było posiadanie 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 podstaw, główną inspiracją był monitor emulatora CCS64, ale niektóre pomysły na polecenia pochodziły z monitorów FC3/AR7/Vice. Celem było posiadanie stylu zamrażarki (wszystkie rejestry, w tym edytowalne wejścia / wyjścia) i szybkiego monitora kodu maszynowego, który obsługuje nielegalne kody operacji emulacji 6502 i SuperCPU.

Polecenia:

  • @ – polecenie dysku, stan i katalog
  • A – montaż
  • B – Konfiguracja pamięci, wybierz RAM/ROM
  • BT – Ślad wsteczny
  • C – Porównaj pamięć
  • D – Demontaż
  • , – Zapisz dane szesnastkowe do pamięci i zdezasembluj
  • EC – Edytuj znak (binarny)
  • [ – Zapisz dane binarne do pamięci
  • ES – Edycja duszka (binarnie)
  • ] – Zapisuje binarne dane duszka do pamięci
  • F – Wypełnij pamięć bajtem
  • G – Wykonaj pod adresem
  • H – Szukaj szesnastkowo/dowolny/tekst
  • I – Zrzut pamięci w PETSCII
  • ' – Zapisz dane PETSCII w pamięci
  • IO – Zrzut rejestrów we/wy
  • - – Zapisuje dane szesnastkowe do pamięci I/O
  • IV – Przywracanie wektorów we/wy
  • J – Zrzut pamięci w kodzie ekranowym
  • . – Zapisz kod ekranu w pamięci
  • K – Odmrażanie pamięci
  • L – Załaduj program
  • LB – Załaduj plik binarny
  • M – Zrzut pamięci w formacie szesnastkowym i PETSCII
  • : – Zapisywanie danych szesnastkowych lub PETSCII w pamięci
  • N – Konwersja liczb i kalkulator
  • O – Wybierz jazdę służbową
  • R – Pokaż rejestry
  • ; – Zmień rejestry
  • S – Zamroź pamięć/zapisz program
  • SB – Zapisz plik binarny
  • T – Kopiuj pamięć
  • V – Sprawdź program
  • VB – Sprawdź plik binarny
  • X – Kontynuuj program
  • Q – Wyjście do podstawowego ciepłego startu
  • ←/↑ – Wciśnij i przenieś adres(y) do stosu.

Różne funkcje

  • Automatyczne uruchamianie — może załadować i uruchomić plik po zresetowaniu lub włączeniu zasilania.
  • Niestandardowe kolory ekranu, monitora i menedżera — domyślne kolory można zmienić.
  • Ustaw zmienną TI$ BASIC na prawidłowy czas przy resetowaniu.
  • Wyświetla adres początkowy i końcowy dla ładowania/zapisywania.
  • Specjalne rozszerzenie do masowego odczytu i zapisu danych w plikach
  • Obsługa klawiatury C128 w trybie C64
  • Specjalne polecenia do obsługi napędów CDROM
  • Odczytano surowy katalog
  • Długie listy katalogów w stylu CMD ze znacznikami czasu

IDEDOS 0.91 beta

To jest wciąż w fazie rozwoju. Najbardziej zauważalne różnice w stosunku do 0,90 to:

  • Usunięto obsługę OFS 0.02
  • Chronione procedury BASIC, szeregowe i PCLink
  • Klawisze funkcyjne 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 odczytany ($DEF4) i załadowany
  • 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) w modyfikowalnych plikach
  • Aktualizacja sygnatury czasowej tylko w przypadku modyfikacji
  • Wyszukiwanie, modyfikowanie i dołączanie plików w PCLink
  • Zmiany w protokole PCLink
  • Dioda aktywności PCLink
  • Względna obsługa plików została utracona

Linki zewnętrzne