XL OS
From Atariki
Wersja z dnia 20:15, 4 wrz 2010 Krótki (Dyskusja | wkład) (→Prototypowe - poprawki w numerach wersji także dla OSów prototypowych, +linki do ROMów/źródeł) ← Previous diff |
Wersja z dnia 17:23, 5 wrz 2010 KMK (Dyskusja | wkład) (dr. red.) Next diff → |
||
Linia 21: | Linia 21: | ||
==Wersje== | ==Wersje== | ||
- | W XL OS data wydania i wersja systemu są zakodowane pod adresem C002-C00B w następujący sposób: | + | W XL OS data wydania i wersja systemu są zakodowane pod adresem $C002-$C00B w następujący sposób: |
- | {| border="1" | + | {| border="1" cellpadding="5" |
! Adres !! colspan="2" | Nazwa !! Opis | ! Adres !! colspan="2" | Nazwa !! Opis | ||
|- | |- | ||
- | | C002 || D1 || D2 || rowspan="3" | Data w formacie DDMMYY, zakodowana w BCD | + | | $C002 || D1 || D2 || rowspan="3" | Data w formacie DDMMYY, zakodowana w BCD |
|- | |- | ||
- | | C003 || M1 || M2 | + | | $C003 || M1 || M2 |
|- | |- | ||
- | | C004 || Y1 || Y2 | + | | $C004 || Y1 || Y2 |
|- | |- | ||
- | | C005 || colspan="2" | Option byte || Zarezerwowany | + | | $C005 || colspan="2" | Option byte || Zarezerwowany |
|- | |- | ||
- | | C006 || colspan="2" | A1 || rowspan="5" | Part number, w formacie AANNNNNN, gdzie A to znaki ASCII a N to cyfry w BCD | + | | $C006 || colspan="2" | A1 || rowspan="5" | Part number, w formacie AANNNNNN, gdzie A to znaki ASCII a N to cyfry w BCD |
|- | |- | ||
- | | C007 || colspan="2" | A2 | + | | $C007 || colspan="2" | A2 |
|- | |- | ||
- | | C008 || N1 || N2 | + | | $C008 || N1 || N2 |
|- | |- | ||
- | | C009 || N3 || N4 | + | | $C009 || N3 || N4 |
|- | |- | ||
- | | C00A || N5 || N6 | + | | $C00A || N5 || N6 |
|- | |- | ||
- | | C00B || colspan="2" | Revision No. || Numer rewizji | + | | $C00B || colspan="2" | Revision No. || Zakodowany binarnie numer rewizji |
|} | |} | ||
Źródło: Atari XL Addendum - OS Manual, s.26[http://www.scribd.com/doc/28497894/Atari-XL-Addendum-OS-Manual] | Źródło: Atari XL Addendum - OS Manual, s.26[http://www.scribd.com/doc/28497894/Atari-XL-Addendum-OS-Manual] | ||
Linia 50: | Linia 50: | ||
===Seryjne=== | ===Seryjne=== | ||
- | * AA000000 rev.10 z 26 października 1982 roku; pierwsza wersja dla [[1200XL]]. | + | * AA000000 rev. 10 z 26 października 1982 roku; pierwsza wersja dla [[1200XL]]. |
- | * AA000001 rev.11 z 23 grudnia 1982 roku; druga wersja dla 1200XL. | + | * AA000001 rev. 11 z 23 grudnia 1982 roku; druga wersja dla 1200XL. |
- | * BB000000 rev.1 z 11 marca 1983 roku; pierwsza wersja dla [[600XL]] i [[800XL]]. | + | * BB000000 rev. 1 z 11 marca 1983 roku; pierwsza wersja dla [[600XL]] i [[800XL]]. |
- | * BB000001 rev.2 z 10 maja 1983 roku; najpopularniejsza wersja, znajdująca się w Atari 800XL i większości modeli [[XE]]. | + | * BB000001 rev. 2 z 10 maja 1983 roku; najpopularniejsza wersja, znajdująca się w Atari 800XL i większości modeli [[XE]]. |
- | * BB000001 rev.3 z 1 marca 1985 roku; w zasadzie identyczna z BB000001 rev.02 (ulepszony SELF TEST, zmiany w samym systemie są nieistotne). Przeznaczona dla [[130XE]], znajduje się w części modeli XE. | + | * BB000001 rev. 3 z 1 marca 1985 roku; w zasadzie identyczna z BB000001 rev.02 (ulepszony SELF TEST, zmiany w samym systemie są nieistotne). Przeznaczona dla [[130XE]], znajduje się w części modeli XE. |
- | * BB000001 rev.4 z 7 maja 1987 roku; ROM dla [[XEGS]]. | + | * BB000001 rev. 4 z 7 maja 1987 roku; ROM dla [[XEGS]]. |
- | * BB000001 rev.59 (znany jako 01.3b) z 21 lipca 1987 roku; wersja arabska ROM-u BB000001 rev.3 (lub BB000001 rev.4). | + | * BB000001 rev. 59 (znany jako 01.3b) z 21 lipca 1987 roku; wersja arabska ROM-u BB000001 rev.3 (lub BB000001 rev.4). |
===Prototypowe=== | ===Prototypowe=== | ||
- | * BB000002 rev.3 z 23 marca 1984 roku; wcześniejsza wersja prototypowa systemu dla Atari [[1450XLD]].[http://ftp.pigwa.net/stuff/collections/nir_dary_cds/ROMS/ROMS_OS/XLROMS/1450R3V0.ROM] | + | * BB000002 rev. 3 z 23 marca 1984 roku; wcześniejsza wersja prototypowa systemu dla Atari [[1450XLD]].[http://ftp.pigwa.net/stuff/collections/nir_dary_cds/ROMS/ROMS_OS/XLROMS/1450R3V0.ROM] |
- | * BB000002 rev.3 z 21 czerwca 1984 roku; późniejsza wersja prototypowa systemu dla Atari [[1450XLD]].[http://ftp.pigwa.net/stuff/collections/nir_dary_cds/ROMS/ROMS_OS/XLROMS/1450R3VX.ROM] | + | * BB000002 rev. 3 z 21 czerwca 1984 roku; późniejsza wersja prototypowa systemu dla Atari [[1450XLD]].[http://ftp.pigwa.net/stuff/collections/nir_dary_cds/ROMS/ROMS_OS/XLROMS/1450R3VX.ROM] |
- | * CC000001 rev.4 z 6 września 1984; ostatnia wersja prototypowa po zarzuceniu prac nad [[1090]], przeznaczona dla [[800XL]] i [[900XLF]]. Charakteryzuje się '''brakiem''' procedur obsługi [[nowe urządzenia|nowych urządzeń]] i [[PBI]]. W zamian [[SIO]] ma wbudowany protokół szybkiej transmisji 38,4 kbps.[http://www.atariage.com/forums/topic/78579-a800ossrc/page__view__findpost__p__961535] | + | * CC000001 rev. 4 z 6 września 1984; ostatnia wersja prototypowa po zarzuceniu prac nad [[1090]], przeznaczona dla [[800XL]] i [[900XLF]]. Charakteryzuje się '''brakiem''' procedur obsługi [[nowe urządzenia|nowych urządzeń]] i [[PBI]]. W zamian [[SIO]] ma wbudowany protokół szybkiej transmisji 38,4 kbps.[http://www.atariage.com/forums/topic/78579-a800ossrc/page__view__findpost__p__961535] |
- | Wersje prototypowe zawierają kilka bardziej - ale jednak nie "bardzo" - istotnych zmian w stosunku do BB000001 rev.2, oraz parę poprawek, które - co dziwne - nie znalazły się w późniejszych wersjach systemu XL/XE. | + | Wersje prototypowe zawierają kilka bardziej - ale jednak nie "bardzo" - istotnych zmian w stosunku do BB000001 rev. 2, oraz parę poprawek, które - co dziwne - nie znalazły się w późniejszych wersjach systemu XL/XE. |
Istnieje "w obiegu" co najmniej kilkanaście nieoficjalnych wersji z różnymi modyfikacjami, np. [[APE Warp plus OS]] | Istnieje "w obiegu" co najmniej kilkanaście nieoficjalnych wersji z różnymi modyfikacjami, np. [[APE Warp plus OS]] | ||
Linia 82: | Linia 82: | ||
==Download== | ==Download== | ||
- | * Kod źródłowy: [[Media:OS.tar.gz|OS.tar.gz]] (zdisasemblowana wersja BB 01.02) | + | * Kod źródłowy: [[Media:OS.tar.gz|OS.tar.gz]] (zdisasemblowana wersja BB000001 rev. 2) |
==Odnośniki zewnętrzne== | ==Odnośniki zewnętrzne== |
Wersja z dnia 17:23, 5 wrz 2010
Systemy operacyjne:
8-bit:
Altirra OS
Atari OS
CP/M
DracOS
OS++
QMEG OS
Turbo-816 OS
XL OS
16/32-bit:
TOS
MultiTOS
FreeMiNT
MagiC
Minix
Spis treści |
Autorzy
- 1200XL: H. Stewart, L. Winner, R.S. Scheiman, Y.M. Chen, M.W. Colburn
- 600XL/800XL/1450XLD: R.S. Scheiman, R.K. Nordin, Y.T. Jang, Vincent Wu, Michael Barrall
Elementy składowe
Na XL OS składają się następujące elementy:
- procedury obsługi przerwań
- CIO
- SIO
- pakiet matematyczny
- relokator binarny (ACX)
- procedury obsługi nowych urządzeń
- program testujący (Self Test)
Ponadto, inaczej niż w poprzednich wersjach, nie ma rozróżnienia na wersję PAL i NTSC - system sam rozpoznaje wersję sprzętu i dostosowuje do tego wewnętrzne ustawienia.
Jako ciekawostkę można dodać, że system zawiera tzw. "tryb przyciągania uwagi" - rodzaj prostego wygaszacza ekranu, który włącza się, gdy użytkownik nie dotyka klawiatury przez ok. 11 minut (dokładnie, 32768 "ramek" VBL, czyli w systemie PAL, 10 minut i 57,2 sek.). Po upływie tego czasu jasność wyświetlanego obrazu redukowana jest o połowę, a kolory tła, tekstu i ramki zaczynają się zmieniać co ok. 5 sekund. Naciśnięcie dowolnego klawisza przywraca normalny stan komputera.
Wersje
W XL OS data wydania i wersja systemu są zakodowane pod adresem $C002-$C00B w następujący sposób:
Adres | Nazwa | Opis | |
---|---|---|---|
$C002 | D1 | D2 | Data w formacie DDMMYY, zakodowana w BCD |
$C003 | M1 | M2 | |
$C004 | Y1 | Y2 | |
$C005 | Option byte | Zarezerwowany | |
$C006 | A1 | Part number, w formacie AANNNNNN, gdzie A to znaki ASCII a N to cyfry w BCD | |
$C007 | A2 | ||
$C008 | N1 | N2 | |
$C009 | N3 | N4 | |
$C00A | N5 | N6 | |
$C00B | Revision No. | Zakodowany binarnie numer rewizji |
Źródło: Atari XL Addendum - OS Manual, s.26[1]
Poniżej podano numery wersji znanych wersji systemu.
Seryjne
- AA000000 rev. 10 z 26 października 1982 roku; pierwsza wersja dla 1200XL.
- AA000001 rev. 11 z 23 grudnia 1982 roku; druga wersja dla 1200XL.
- BB000000 rev. 1 z 11 marca 1983 roku; pierwsza wersja dla 600XL i 800XL.
- BB000001 rev. 2 z 10 maja 1983 roku; najpopularniejsza wersja, znajdująca się w Atari 800XL i większości modeli XE.
- BB000001 rev. 3 z 1 marca 1985 roku; w zasadzie identyczna z BB000001 rev.02 (ulepszony SELF TEST, zmiany w samym systemie są nieistotne). Przeznaczona dla 130XE, znajduje się w części modeli XE.
- BB000001 rev. 4 z 7 maja 1987 roku; ROM dla XEGS.
- BB000001 rev. 59 (znany jako 01.3b) z 21 lipca 1987 roku; wersja arabska ROM-u BB000001 rev.3 (lub BB000001 rev.4).
Prototypowe
- BB000002 rev. 3 z 23 marca 1984 roku; wcześniejsza wersja prototypowa systemu dla Atari 1450XLD.[2]
- BB000002 rev. 3 z 21 czerwca 1984 roku; późniejsza wersja prototypowa systemu dla Atari 1450XLD.[3]
- CC000001 rev. 4 z 6 września 1984; ostatnia wersja prototypowa po zarzuceniu prac nad 1090, przeznaczona dla 800XL i 900XLF. Charakteryzuje się brakiem procedur obsługi nowych urządzeń i PBI. W zamian SIO ma wbudowany protokół szybkiej transmisji 38,4 kbps.[4]
Wersje prototypowe zawierają kilka bardziej - ale jednak nie "bardzo" - istotnych zmian w stosunku do BB000001 rev. 2, oraz parę poprawek, które - co dziwne - nie znalazły się w późniejszych wersjach systemu XL/XE.
Istnieje "w obiegu" co najmniej kilkanaście nieoficjalnych wersji z różnymi modyfikacjami, np. APE Warp plus OS
Rozmieszczenie w pamięci
Jak napisano powyżej, XL OS rezyduje w pamięci ROM o pojemności 16k znajdującej się zasadniczo w obszarze $C000-$FFFF. Pamięć ta jednak nie jest w pełni liniowo zmapowana na przestrzeń adresową 6502. Poniżej znajduje się tabela obrazująca różnice pomiędzy fizyczną lokalizacją zawartości pamięci ROM z systemem, a jej logiczną lokalizacją w przestrzeni adresowej.
Obszar pamięci ROM: | Lokalizacja w pamięci Atari: | Warunek mapowania: | Opis obszaru: |
$0000-$0FFF | $C000-$CFFF | PORTB bit0=1 | system |
$1000-$17FF | $5000-$57FF | PORTB bit7=0 | SELF TEST |
$1800-$3FFF | $D800-$FFFF | PORTB bit0=1 | system |
Zobacz też: Mapa pamięci.
Download
- Kod źródłowy: OS.tar.gz (zdisasemblowana wersja BB000001 rev. 2)
Odnośniki zewnętrzne
- Atari 8-bit Developers Page - strona Freddy'ego Offengi, z której można ściągnąć ROM-y XL OS
- Informacje o systemach operacyjnych na stronie Freddy'ego Offengi