Qmeg OS

Jeżli nie masz jeszcze w swojej Atarynce Qmeg Os'a, to może po przeczytaniu tego artykułu stwierdzisz, że przydałoby się mieć coś takiego w swojej maszynce. Nic prostrzego. W dolnej części tego artykułu znajdzesz schemat montażu (hehe schemat???) i romy do zaprogramowania epromów. Autorem tekstu znajdującego się poniżej jest Gumi/Tight, ja zrobiłem małe poprawki, dorzuciłem skan i całą resztę.

Serdeczne podziękowania są dla Janusza Cebuli i Waldemara Bolesty za pomoc w realizacji tego artykułu !!!


1.Wstęp

System operacyjny QMEG OS V3 przeznaczony jest dla komputerów ATARI 800XL lub 1300XE. System może zarządzać RAM dyskami. Wykorzystywanie dodatkowej pamięci (do 192 KB) realizowane jest poprzez 16 KB banki pamięci w zakresie adresów $4000-$7FFF. Sterowanie bankami odbywa się przez PORTB ($D301). QMEG obsługuje wszystkie kompatybilne ze standardem PERCOM "przyspieszacze" dla dysków 1050 (Happy, Speedy, Turbo). Dodatkowo, można tez przy pomocy drukarki EPSON wydrukować cały zastaw znaków ATARI (lub dowolny inny). W przeciwieństwie do oryginalnego OS-u, QMEG OS nie może wystartować SELF TEST-u przez szynę systemową, ponieważ nie ma go już w tym miejscu pamięci. Usunięty jest także międzynarodowy zestaw znaków. Aby zachować czytelność wszystkich tekstów, (które mogłyby odwoływać się do tego drugiego zestawu znaków) QMEG ignoruje wszystkie próby wykonania rozkazu POKE 756,224. QMEG OS jest kompatybilny z OS-em 800XL. Oczywiście zawsze mogą wystąpić problemy z programami, które dla własnych potrzeb używają komórek za strony 2 i 3 (na tych stronach QMEG OS ma własne komórki systemowe). Ale i programy, które normalnie uruchomić można na ATARI 400/800, dają się uruchomić pod QMEG OS-em.


2. Monitor OS

MONITOR OS zainstalowany jest w miejscu dotychczas zajmowanym przez SELF TEST, tutaj znajdują się wszystkie funkcje QMEG OS-u.

  2.1 Wywołania MONITORA OS

Do MONITORA OS przejść można: a) z BASIC-a komenda "BYE"; b) z DOS-a przez "RUN E471"; c) z MONITORA MLM poprzez "Q"; d) po naciśnięciu klawiszy SELECT, RESET.
Kombinacja SELECT, RESET zawsze powoduje przejście do MONITORA OS, bez względu na stan procesora (także wtedy, gdy komputer się zawiesił). Przy tej kombinacji klawiszy pamięć operacyjna nie jest kasowana, ta kombinacja nie działa wiec jak zimny start komputera. Monitor zgłosi się na ekranie następująco:


  2.2 Zarządzanie RAM dyskami

QMEG OS potrafi sterować dodatkowym rozszerzeniem pamięci dla 800XL (130XE). Dodatkowa pamięć RAM 192 kB może być traktowana jako dwa RAM dyski A i B. Istnieją następujące możliwości konfiguracji tych dysków:


RAM dysk A                      RAM dysk B
-----------------------------------------------
a) SS pojedyncza gęst.         pojedyncza gęst.
       90 kB                           90 kB
b) gęstość 1050                XE gęstość 1050
       128 kB                          64 kB
c) D- podwójna gęstość         dysk nie występuje
       180 kB

Przez naciśniecie klawisza S, M lub D następuje wybranie rodzaju dysków. Litera ta odpowiada wybraniu dysku A, dysk B definiowany jest już automatycznie. Rodzaj wybranych dysków wskazywany jest w prawej części ekranu pod literami AB. RAM dysk oznaczony litera X jest kompatybilny z RAM dyskiem D8: w systemie DOS II+/D wersji 6.2. Aby używać te RAM dyski należy przypisać im jakiś adres, od 1 do 4 lub 8. Dokonuje się tego poprzez użycie klawiszy A i B.

  2.3 Przypisywanie adresów dyskowych

Aby przypisać RAM dyskom adresy fizycznego urządzenia należy przy pomocy klawisza SPACE ustawić kursor na wybranym numerze napędu (1 do 4 lub 8) i nacisnąć literę A lub B. W tym momencie napędowi #n przypisany zostanie wybrany RAM dysk. Wszystkie odwołania do napędów realizowane z poziomu BASICA-a lub DOS- u kierowane będą do przypisanego RAM dysku. Jeżeli adres został wybrany omyłkowo, to po naprowadzeniu kursora należy nacisnąć klawisz "-". Pod adresem dyskowym pojawią się oznaczenia przypisanego mu RAM dysku.

  2.4 Czytanie i zapis RAM dysku A (kopiowanie dyskietek)

Aby wczytać całą dyskietkę do RAM dysku A należy:
* włożyć dyskietkę źródłową do napędu #n;
* ustawić kursor pod liczbą n;
* nacisnąć klawisz "R" (read);
Po naciśnięciu klawisza START, RAM dysk A zostanie sformatowany i następnie zawartość dyskietki zostanie przekopiowana do tego RAM dysku. Podczas kopiowania na ekranie pokazywany jest licznik kopiowanych sektorów. Jeżeli podczas kopiowania wystąpi błąd, to możliwa jest jedna z trzech akcji:
a) START - nastąpi próba powtórzenia operacji;
b) SELECT - nastąpi zignorowanie tej operacji (pominiecie błędnego sektora);
c) OPTION - zakończenie wczytywania.

Aby przepisać zawartość całego RAM dysku A na dyskietkę, należy wsunąć do napędu dyskietkę docelowa, kursor naprowadzić na zadany nr dysku i wcisnąć klawisz "W" (Write). Naciśniecie START spowoduje, że dyskietka zostanie najpierw sformatowana, a następnie zawartość RAM dysku A zostanie przepisana. Jeżeli dyskietka docelowa nie ma być formatowana, to zamiast START należy nacisnąć SELECT.
Przypisując stacji nr.1 RAM dysk A można bootować wczytaną dyskietkę, inicjując zimny start klawiszami SHIFT i INVERSE.

  2.5 Skorowidz dyskietki w systemie DOS 2.*

Po naciśnięciu klawisza "L", na ekranie wyświetlonych zostanie pierwszych osiem nazw zbiorów z dyskietki (lub RAM dysku). Kolejne naciśniecie "L" wyświetla następna ósemkę nazw. Klawisz SPACE powoduje powrót do MONITORA OS. Uwaga! Jeśli RAM dysk jest zablokowany, należy nacisnąć SHIFT-L, wówczas jednak pamięć od adresu $7F00 do $7FFF zostanie ponownie zapisana !!!

  2.6 Ładowanie programów maszynowych formatów COM i BIN

Podobnie jak w pkt. 2.5 należy przeczytać zawartość skorowidza dyskietki lub RAM dysku za pomocą "L", a następnie należy nacisnąć cyfrę odpowiadającą wybranemu programowi. Zawartość pamięci roboczej zostanie wymazana, a wskazany program zostanie załadowany (pojawi się komunikat: Loading xxxxxxxx.yyy) i wystartowany. Kod maszynowy programu musi być "startowalny" także bez DOS-u.

  2.7 Zarządzanie BASIC-em i CARTRIDGE-m

Zarządzanie wykorzystywaniem (wybór) niektórych bloków pamięci odbywa się przez użycie odpowiedniej kombinacji klawiszy. To jakie bloki są aktualnie używane wskazywane jest pod symbolem Prg w lewej części wyświetlanej tabliczki monitora

Kombinacja           Znaczenie              skrót
a) START-Z     Włączenie BASIC-a ROM           BAS
b) START-C     Włączenie Cartridge-a           CAR
c) START-X     Włączenie RAM pod adr. C000     RAM

BASIC oraz CARTRIDGE startują ze startu zimnego, co można osiągnąć kombinacja RESET-START.

  2.8 Startowanie DOS-u z RAM dysku C.

Specjalnie dla DOS-u wydzielony jest RAM dysk C. Ma on wielkość 5.25 kB. Aby zapisać DOS do tego RAM dysku, należy wczytać DOS a następnie (z BASIC-a) wydać instrukcje POKE 1792,196. Tak poprawiony DOS należy zeskładować na nowej dyskietce.
Kiedy DOS wczytany będzie z tej dyskietki, nastąpi automatyczne załadowanie DOS- u do RAM dysku C. Aby wystartować DOS z tego RAM dysku należy (w MONITORZE OS) wcisnąć klawisze CONTROL-CAPS. Wykorzystanie tej możliwości pozwala "trzymać" w pamięci DOS tak długo, jak długo komputer jest włączony. Do wykorzystania zalecany jest DOS II+/D (wersja 6.1 i 6.2), który współpracuje z QMEG OS-em w obu gęstościach zapisu i rożnymi RAM dyskami. RAM dysk C umieszczony jest na ostatnich 44 sektorach RAM dysku X, dlatego tez jest z QMEG OS-u niedostępny (ERROR 139).

  2.9 Tryby ULTRA SPEEDY, TURBO i HAPPY

Aby floppy dysk #n pracował w trybie ULTRA należy ustawić kursor na wymaganym numerze floppy dysku i nacisnąć klawisz "U". Jeżeli wszystko jest w porządku, pod wybranym numerem pojawi się litera "U", w przeciwnym razie pojawi się znak "-" i stacja nie przejdzie do tego trybu.
Aby włączyć tryb HAPPY, należy w analogiczny sposób nacisnąć klawisz "H". Powrót do normalnego trybu pracy stacji uzyskuje się przez naciśniecie klawisza "-".

  2.10 Dodatkowe funkcje HAPPY

Dla trybu HAPPY występują dodatkowe funkcje MONITORA OS:
SHIFT-I zimny start stacji;
SHIFT-O wyłączenie bufora ścieżki.

  2.11 Kontrolowany zimny start

Kontrolowany zimny start następuje automatycznie (rodzaj funkcji "U") albo po naciśnięciu "N". W niektórych, chronionych programach należy użyć kombinacji SHIFT-INVERSE, przez co nastąpi zimny start systemu. Oczywiście jeśli niezbędny jest BASIC należy mieć wciśnięty OPTION.

  2.12 Wł/Wył RAM dysków i przełączanie banków.

Wciśnięcie "P" powoduje zablokowanie RAM dysku. Tło ekranu zmieni się na różowe i jednocześnie adres 54017 (PORTB) jest zabezpieczony przed zapisem. Może to być bardzo pomocne przy ładowaniu programów dla komputerów serii 400/800. Przy zablokowanej komórce PORTB nie działa monitor MLM ponieważ umieszczony jest w obszarze, w jakim 800XL ma SELT TEST. Ponowne naciśniecie "P" odblokowuje system.

  2.13 Funkcja $

Dla właścicieli monitorów i telewizorów monochromatycznych, pod znakiem $ w tabliczce MONITORA OS wskazywany jest jego aktualny stan.
a) "-" stan normalny;
b) "R" naciśnięto R (czytanie);
c) "W" naciśnięto W (pisanie);
d) "P" Ram dysk zablokowany.

  2.14 Opuszczenie MONITORA OS.

MONITOR OS opuścić można następująco:
a) ESC                 powrót do DOS-u;
b) CNTL-CAPS           nowy start DOS-u z RAM dysku C;
c) RESET               powrót do DOS-u bez BASIC-a i CARTRIDGE
d) SHIFT-INVERSE       kontrolowany zimny start;
e) RETURN              skok do MONITORA MLM 2.1

3. MONITOR MLM 2.1

Monitor MLM 2.1 jest prostym narzędziem do analizy i dokonywania zmian w pamięci.

  3.1 Skok do MLM 2.1

Z MONITORA OS do MLM przechodzi się po naciśnięciu RETURN. Z DOS-u po "RUN E480". Prawie wszystkie rozkazy MLM zaczynają się adresem, który znajduje się w liczniku programowym AD i jest umieszczany na stałe. Przy tych rozkazach można także adres ten opuścić, dopóki w MLM znajduje się wartość AD. Komórki pamięci PBCTL ($D303) nie można zmieniać. Podobnie nie można używać przerwań w obszarze pamięci od $5000 do $5800.

  3.2 Znak początkowy w MLM

a) $ MLM oczekuje, ze wszystkie adresy będą podawane w postaci hex.
        Adresy dziesiętne musza być podane z poprzedzającym je znakiem #.
b) # MLM oczekuje, ze wszystkie adresy będą podawane dziesiętnie.
     Adresy hex musza być poprzedzone znakiem $.
c) ? Zadanie jest niewykonalne.
d) >xxx wykryto błąd I/O (nr dziesiętnie).

  3.3 Rozkazy MLM

N nowy start MLM (lub "$E480GO");
Q skok do MONITORA OS (lub "$E471GO");
H włączenie trybu heksadecymalnego;
Z włączenie trybu dziesiętnego.

  3.4 Prosta arytmetyka w MLM.

a) adr= przeliczanie adresu na wartość hex lub dziesiętną;
b) adr+adr dodanie adresów;
c) adr-adre odjecie adresów;
d) = pokazuje wartość AD.

  3.5 Wyświetlanie zawartości pamięci.

a) adr;  wyświetlonych zostanie pierwszych 8 bajtów od adresu adr. Adres
         podany jest hex lub decymalnie.
b) adr   jak w pkt a) lecz w trybie hex bajty te pokazane są w kodzie
         ATASCI.
c) adr"  pierwsze 8 bajtów od adresu adr pokazanych będzie jako kody
         ATASCI.
d) adr'  pierwsze 8 bajtów od adresu adr pokazanych będzie jako kody
         obrazu.
e) adrL  zawartość pamięci od adresu adr zostanie zdisasseblowana na 20
         wierszy.

We wszystkich rozkazach można zamiast "adr" napisać "adr.adr" co oznaczać będzie obszar miedzy adresami. Jeżeli rozkaz zostanie uzupełniony na końcu znakiem "*" to ostatni rozkaz będzie powtarzany. Przerwanie tego możliwe jest poprzez klawisz BREAK.

  3.6 Zmiana zawartości komórek pamięci.

a) adr;bajt bajt bajt ... Poczynając od adresu adr, pamięć zapełniona zostanie kolejnymi bajtami zapisanymi za adresem. Można zamiast bajtów podąć wartości liczbowe, które zapisywane są do pamięci w kolejności LO bajt i HI bajt.
b) adr"ATASCII Poczynając od adresu adr, do pamięci zostanie wprowadzony łańcuch kodów ATASCII podany po adresie.
c) adr'kody obrazu Poczynając od adresu adr, do pamięci zostanie wprowadzony łańcuch podany jako kody obrazu.

  3.7 Przenoszenie, porównywanie i wypełnianie pamięci.

a) adr1.adr2 M adr3    Zawartość pamięci od adresu adr1 do adr2 zostanie
                       przeniesiona na obszar zaczynający się od adr3.
b) adr1.adr2 V adr3    Zawartość pamięci od adresu adr1 do adr2 zostanie
                       porównana z zawartością pamięci adr3. Przy różnicy
                       zostaną pokazane adresy i porównywane bajty.
c) adr1;bajt adr1.adr2 M adr1+1  Zawartość pamięci od adr1 do adr2
                       zostanie wypełniona zawartością adresu adr1.

  3.8 Przeszukiwanie pamięci roboczej

a)adr1.adr2;bajt bajt Pamięć robocza jest przeszukiwana od adresu adr1 do 
    adr2 w poszukiwaniu podanych bajtów albo słów "bajt bajt ..." Adresy 
    znalezionych bajtów zostaną wyświetlone.
b)adr1.adr2"ATASCII   Pamięć robocza jest jak w pkt a) przeszukiwana w celu
    znalezienia łańcucha znaków ATASCII podanych w rozkazie.
c)adr1.adr2'kody obr. Jak w pkt a) z tym, ze poszukiwany jest łańcuch
    kodów obrazu.

  3.9 Czytanie/zapis sektorów z/na dysk.

a) adrsecnr.count     Zawartość pamięci od adresu adr zapisz na dysk od
                       sektora secn do sektora secnr+count-1.

Wartość count musi być mniejsza od 255 (wartość 0 oznacza 256). Rozkazy obsługują także podwójna gęstość dysków.

  3.10 Modyfikowanie rejestrów i start programów

a) R           Pokazana zostanie zawartość rejestrów symulowanego procesora.
b) W=bajt      Umieszczenie wartości "bajt" w akumulatorze.
c) X=bajt      Umieszczenie wartości "bajt" w rejestrze X.
d) Y=bajt      Umieszczenie wartości "bajt" w rejestrze Y.
e) P=bajt      Umieszczenie wartości "bajt" w rejestrze F procesora.
f) adrGO       MLM załaduje rejestry A, X, Y i F wartościami symulowanego
               procesora 6502 i skoczy poprzez JSR pod adres adr.

Jeżeli napotkany zostanie rozkaz BRK, nastąpi przerwanie programu, i zostanie wywołany MLM z rozkazem R.

  3.11 Wykorzystanie RAM przez MLM.

a) zerowa strona korzysta z adresów 4-7, 21, 22, 112-120.
b) W OS RAM użyte są adresy: 583-619, 713-724.

Adresów tych nie można zmieniać w trybie MLM.

4. Klawisze funkcyjne

CTRL-HELP      zablokowanie/odblokowanie klawiatury;
CTRL-4         wł/wył dźwięku z klawiatury;
CTRL-5         wł/wył migającego kursora;
CTRL-6         wyłączenie obrazu (ANTIC-a) co podwyższa szybkość pracy
               procesora o ok. 30%. Obraz powraca po naciśnięciu dowolnego
               klawisza.
CTRL-7         ustawienie prędkości powtarzanie znaków przy wciśniętym
               klawiszu. Można ustawić szybkość małą, średnią i dużą.
CTRL-8         działa jak BREAK, ale wykorzystywane jest tylko przy
               edytowaniu z klawiatury.
CTRL-9         jeśli kursor nie jest w lewym rogu to skoczy tam.
CTRL-0         przenosi kursor na koniec ekranu.

5. Sterowanie drukarka.
  5.1 Drukowanie przy pomocy drukarki EPSON.

Za pomocą drukarki EPSON można łatwo wydrukować dowolne teksty, przy czym uzyskać można listingi wysokiej jakości. Do wydrukowania można używać skrótu "P:" zamiast "P2:". Aby zapewnić format drukowanego tekstu można wykorzystać następujące adresy:

adres  wartość        znaczenie
29     RAMTOP-B     Adres początku bufora graficznego (tylko bajt HI adresu)
30     60           max. liczba znaków w wierszu
31     60           liczba wierszy na stronę
757    224          adres początku generatora znaków (tylko bajt HI adresu)
758    'K           rozkaz dla drukarki EPSON 'L lub 'K
(pojedyncza/podwójna gęstość).

Wartości te są ustawianie po każdorazowym RESET na nowo. Uwaga! Podczas drukowanie przy pomocy "P2:" drukarka musi mieć do dyspozycji 512 bajtowy bufor. HI bajt adresu tego bufora musi zostać umieszczony w komórce 29. Po wydrukowaniu liczby wierszy podanych w komórce 31, nastąpi automatyczny wysuw papieru do nowej strony. Wartość 0 w tej komórce oznacza wyłączenie automatycznego wysuwu strony.

  5.2 Druk z podwójna gęstością - 120 znaków w wierszu

Aby osiągnąć ten efekt należy pod adresem 756 umieścić wartość 'L (dziesiętnie 76) i odpowiednio zmienić zawartość komórki 30. Efekt ten osiągnąć można także poprzez specjalne użycie adresu drukarki, mianowicie "P3:gn", w którym:
* g określa rozkaz graficzny K lub L;
* n określa ilość znaków w wierszu.
Wartość n od 3 do 9 oznacza odpowiednio od 30 do 90 znaków w wierszu, wartość 0 1 i 2 oznacza odpowiednio 100, 110 i 120 znaków w wierszu. Przykład: LIST "P3:L2" oznacza, z listing BASIC-a będzie wyprowadzony na drukarkę z podwójna gęstością, 120 znaków na wiersz. Uwaga: przy używaniu podwójnej gęstości druku bufor drukarki musi mieć 1 kB. Podczas drukowania przez "P2:" nie wolno nacisnąć klawisza BREAK. Jeżeli użyty zostanie rozkaz ON w DOS II+/D należy przed tym rozkazem nacisnąć RESET, albowiem w przeciwnym razie komórka 29 wskazuje na adres BASIC-ROM.

  5.3 Centronics

System QMEG ma możliwość współpracy z interfacem Centronics. Interface musi
być obsługiwany przez dodatkowy układ PIA 6520 zajmujący adresy $D600-$D6FF.
Porty PIA należy podłączyć w następujący sposób:
       PIA     Centronics      Funkcja

       PA0-PA7 pin 2-9       DATA 0-7
       PB0     pin 1         STROBE
       PB7        --         0-centronics włączony
                             1-centronics wyłączony
       PB6     pin 11        BUSY
       PB5        --         1-konwersja końca znaku wiersza (155 na 13, 10)
                             0-bez konwersji

6. SIO i DISKINTERFACE
  6.1 Diskinterface (DSKINV)

a) 34  "       formatowanie w średniej gęstości;
b) 35  #       automatyczne formatowanie w podwójnej gęstości formatu PERCOM;
c) 63  ?       włączenie szybkiego zapisu i ULTRA SPEED;
d) 81  Q       zatrzymanie silnika;
e) 72  H       w zależności od DAUX1 i DAUX2 (778 i 779) włącza dodatkowe
               funkcje HAPPY;
f) 83  S       rozkaz STATUSU włącza R/W (czytanie i zapis) i rozkaz P -
               automatycznie na poprawna długość sektorów (adres DSKLN 725).

  6.2 SIO i USIO

QMEG OS wykorzystuje dwa podprogramy SIO. Jednym jest podprogram USIO, który pracując bez przerwań I/O realizowany jest szybciej niż normalne SIO. USIO jest wywoływany przy wszystkich szybkich operacjach dyskowych (Speedy, Happy). Dopóki nie jest wywołany RAM dysk dostępny jest normalny podprogram SIO 800XL. SIO wytwarza cztery przerwania:
1. 128 Naciśniecie klawisza BREAK.
2. 139 Rozkaz niedozwolony.
3. 140 Błąd transmisji danych.
4. 144 Rozkaz jest prawidłowy, ale niewykonalny.

  6.3 RAM dyski A i B

Oba RAM dyski można używać poprzez SIO lub DSKINV tak jak inne floppy dyski. RAM dyski rozpoznają także sygnały typu PERCOM PUT i rozkazy statusowe. Po sformatowaniu oba RAM dyski maja taki sam format. Błędy RAM dysków maja numery:
1. 139 Za małą lub za dużą liczba sektorów;
2. 138 Próba zapisu do RAM dysku B, sformatowanego w innej gęstości.

Jeżeli QMEG OS zainstalowany jest w komputerze z rozszerzeniem pamięci typu 1 (zobacz rozdz. 8) przy używaniu RAM dysków w obszarze $4000-$7FFF nie może być umieszczony żaden Display List ani obszar obrazu, gdyż mogłoby w tej sytuacji dojść do załamania systemu.
Podczas dostępu do RAM dysku QMEG OS włącza Display List jeśli w komórce DLIEN (787) znajduje się wartość większą od 127.

  6.4 Tablica Konfiguracji Napędów

Tablica ta jest na stale ustawiona wg kolejności napędów i zajmuje
adresy od 1008 do 1015 (dla napędów od 1 do 8). Napęd #0 jest zawsze
identyczny z RAM dyskiem A a napęd #5 z dyskiem #8.
Wartość        Tryb pracy      Skrót w MONITORZE OS
0 lub >4       tryb normalny           "-"
1              tryb ULTRA SPEED        "U"
2              RAM dysk A              "A"
3              RAM dysk B              "B"
4              tryb HAPPY              "H"

7. Organizacja pamięci.

Poniżej podano miejsca pamięci, które maja inne znaczenie niż w 800XL.

  7.1 Strona zerowa

adres  opis
0,1    Oba bajty są wolne i nie są wymazywane nawet przy starcie zimnym.
4-7    MLM
18-20  Czas (niekasowalny przez RESET).
21,22  MLM, OEMON-File loader, DISKIF
28-31  "P2:"
54,55  Wskaźnik bufora grafiki dla "P2:"
74,75  Do dowolnego wykorzystania.
96,97  IX, IY dla procedury DRAWTO.
112-120 MLM i zmienne dla DRAWTO.

  7.2 OS RAM (strony 2 i 3)

563              Do dowolnego wykorzystania.
568,569  VCTRLB  wektor dla CTRL-8
581      FMTFL   format PERCOM RAM dysku (128-single, 0-medium, 1-double).
583-619  OSMON-Display List, MLM-bufor wiersza, "P2:"-bufor zmiany
                 bitu znaku.
648      FNKEYS  128-klawisze funkcyjne włączone, 0-wylaczone.
654,655  STTEMP  Szybkość dla DSKIF.
700,745          Przeznaczone do późniejszego użycia.
713-724          Zmienne dla MLM i bufor PERCOM dla DSKIF.
727      FLASH   128= kursor migający, 0= wyłączony.
728      FLASH   205= kursor migający aktywny.
735      FLINE   Licznik wierszy dla automatycznego wysuwu stron przy "P2:"
757      PFONT HI bajt adresu generatora znaków dla "P2:".
758      P2CMD   Rozkaz dla drukowania poprzez "P2:", K- normalnie,
                 L-podwójna gęstość.
759      PMODE   1= druk przez "P2:", 0= druk przez "P:".
760,761  PCOL, PTEMP kolejne zmienne "P2:".
787      DLIEN   128= DLI włączony wg RAM dysku.
832-959  IOCB    Używany jest także dla ekranu MONITORA OS.
1003     RSTAPH  Przy RESET APPHMI ustawiane jest na 0 (oznacza to,
                 ze edytor może być stale otwarty).
1004,1005 DBAUD  Procedury transmisji dla ULTRA SPEED.
1006     PBLOCK  128= po RESET ram dysk jest zablokowany.
1007     TYPEA   Format RAM dysku A.
1008-1015 ASSIGN Tablica Konfiguracji Dysków.
1017     ROMSCM  Wartość CHECKSUM dla całego QMEG OS.
1018-1020        Do dowolnego wykorzystania.

8. Hardware.

QMEG OS V3 współpracuje z następującym hardware-m.

  8.1 Rozszerzenia pamięci

RAM dyski mogą mieć 128 albo 320 kB. Zarządzanie dodatkowa pamięcią
realizowane jest jak w przypadku modelu 130XE, poprzez 16kB baki pamięci
w obszarze $4000-$7FFF, sterowane pojedynczymi bitami PORTB ($D301).
QMEG OS wykorzystuje dwa typy obsługi portu B:
PORTB B
1)     7       0=SELF TEST włączony, 1=wylaczony (jak w 800XL).
       4       0=dostep do ANTICA i CPU poprzez bity 2,3,5 i 6 wg
	           przedzielonego banku pamięci, 1=dostep normalny.

2)   (Rozszerzenie COMPY SHOP 320 kB).
		7	0=SELT TEST włączony jeśli bity 4 i 5 =1,
			w przeciwnym razie wyłączony.
		5	0=wylacznie dostęp ANTIC.
       	        4       0=wylacznie dostęp CPU poprzez bity 2,3,6 i 7
		        do banków pamięci, 1=normalny dostęp do pamięci.

Przy obu typach rozszerzenia wykorzystuje się banki pamięci od 1 do 15
(nr wyznaczony jest przez cztery wymienione bity). Rozróżnienie typu
następuje automatycznie.

  8.2 Rozszerzenia dla stacji 1050

QMEG OS rozpoznaje wszystkie rozszerzenia stacji 1050 kompatybilne ze standardem PERCOM przy podwójnej gęstości zapisu tj. 180kB (takich jak RANA, HAPPY, SPEEDY, TURBO). Właściciele rozszerzeń HAPPY i SPEDDy maja zachowana pełną szybkość transmisji. Należy jednak zapamiętać, ze napędy #1 i #2 mogą być dowolne (jeden HAPPY i jeden SPEEDY). Napędy #3 i #4 musza być jednak tego samego typu jak napęd #1.


Gumi/Tight



Instalacja

Aby zainstalować Qmeg'a (jak i dowolnie inny Os) potrzebne ną nam następujące części:

  1. podstawka pod układ 28 pinów
  2. mikroprzełącznik dwu-pozycyjny
  3. trochę kabelków
  4. kość z następnym OS Rom'em
  5. butelka piwa

Qmeg powinien być umieszczony w epromie 27C128 lub pochondnym. Mówiąc krótko, trzeba wgrać do epromu używając programatora epromów jeden z poniżej znajdujących się rom'ów.
Jak już to mamy (i całą resztę też) możemy przystąpić do montażu qmeg'a.

  1. Lokalizujemy kość oryginalnego OS ROM'u w naszym komputerze. Jest to 28 pinowy układ (innego z tyloma pinami w naszym komputerze nie ma).
  2. Wylutowywujemy 20 pin oryginalnego OS ROM'u i wyginamy go do poziomu.
  3. W 28 pinowej podstawce także wyginamy 20 pin. Tak przygotowaną podstawkę nalutowywujemy na kość oryginalnego Os'a (pin-pin).
  4. Oto diagram przełącznika:
    +---+
    |A B|
    |C D|   Łączymy przewodami piny [A] z [F] i [B] z [E] (na krzyż)
    |E F|
    +---+
  5. Podłączmy 28 pin oryginalnego Os'a (bez wylutowywania) do pina [E]
  6. Podłączmy 22 pin oryginalnego Os'a (bez wylutowywania) do pina [F]
  7. Podłączmy 20 pin oryginalnego OS'a (ten wygięty) do pina [C]
  8. Podłączmy 20 pin podstawki pod nowy OS do pina [D]
  9. Wkładamy nowy ROM do podstawkę
  10. Odpalamy komputer i jak zadziała, to możemy wypić spokojnie przygotowane wczesniej piwo.

Jak widać dużej filozofii tutaj nie trzeba i każy może sobie wmontować Qmeg'a. Tak samo można postąpić z każdym innym Os'em, który chcemy wmontować. Problem może tu stanowić zaprogamowanie kości, ale jak dobrze poszukacie wśród znajomych na pewno ktoś ma programator epromów i może wam taką kość zaprogramować. Jeżeli na prawdę już takiej osoby nie znajdziecie, możecie tą kość wysłąć mi, a ja postaram się wrzucić na nią Qmeg'a.

Qmeg'i i ... do ściągnięcia:

Qmeg 2.3,Qmeg 3.0,Qmeg 3.2,Qmeg 3.7,Qmeg 3.8,Qmeg 4.2,Qmeg 4.3
Argo Os 3.0

Powrot