Nie ma zatrzymywania O0. Wstrzymywanie procesora jest realizowane na dwa sposoby - przez sygnały HALT i RDY.
EDIT: w znaczeniu - nie ma wstrzymywania O0 wewnątrz ANTIC
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Nowa obudowa dla 800XL - zostało 36 dni Niewiele ponad miesiąc do końca kampanii.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
4th Atari ASCII Compo - wyniki Dostępne są już wyniki tegorocznego ATASCII Compo.
thing neo 1.60 Olivier Landemarre wydał nową wersję desktopu Thing.
atari.area forum » Posty przez Simius
Nie ma zatrzymywania O0. Wstrzymywanie procesora jest realizowane na dwa sposoby - przez sygnały HALT i RDY.
EDIT: w znaczeniu - nie ma wstrzymywania O0 wewnątrz ANTIC
Oj tam, oj tam. Walec o średnicy podstawy 3mm i długości 7mm (lub prostopadłościan o podstawie kwadratu o boku 3mm) można sobie wyobrazić i bez rysunku.
Update:
Jest możliwe wykonanie folii uniwersalnej do klawiatur z gumkami i ze sprężynkami. Wymaga to jednak znalezienia elementu, który w klawiaturze sprężynkowej pełniłby rolę popychacza, bo obecne tam gumki stykowe wywierają nacisk obwodowo, a nie, jak potrzeba, centralnie. Obcięcie brzegów nic nie daje. Nacisk jest niewystarczający. Popychacz powinien mieć formę prostego sztyftu o przekroju okrągłym lub kwadratowym 3mm i długości 7mm i być wykonany z jakiegoś elastycznego materiału (twarda guma, silikon etc.). Ostatecznie pewnie sprawdziłby się jakiś plastik. Metal raczej odpada, bo prędzej czy później zrobiłby dziurę w folii. Musi być tani (~10gr/szt) i dostępny w tysiącach szt. Dotychczas nie udało mi się znaleźć niczego odpowiedniego. Jakby ktoś wpadł na trop czegoś pasującego, niech się pochwali.
Projekt folii jest już w zasadzie gotowy. Są wszystkie otwory do obu typów klawiatur. Ścieżka masy jest pogrubiona, dodana została też dodatkowa masa, podłączona do wolnego styku 1. W razie utlenienia ścieżek może się przydać.
Celnicy to resort wiecznie nienasyconego Rostowskiego. Jak mogą oclić, to oclą. :)
To kłopotliwe bo im mniejszy zakres adresów tym lini do dekodera wchodzi więcej, wiec zaczyna się jazda ze znalezieniem więszości z Ax na płycie...
Dokładnie połowy.
Naprawdę jest aż tak ogromny rozrzut CS względem Fi2? ja rozumiem że różne technologie, mmu, freddie, bramki, ale naprawdę są to absurdalne różnice że CS lata po całym półcyklu Fi2? Jesli jest aż tak źle to marnie widzę szanse.
To nie sa absurdalne różnice, ponieważ mówimy o komputerach, w ktorych układy specjalizowane wytwarzały różne firmy, w różnym czasie, a więc korzystając z różnych technologii (czego najbardziej spektakularnym przykładem są wadliwe GTIA), a same komputery wyposażone są nierzadko w wiele rozszerzeń obciążających magistrale, co znakomicie opóźnia propagację sygnałów. A mimo to wciąż mieszczą się w normie, ponieważ, że przypomnę, adres i R/W mają prawo ustalić się po 140ns od rozpoczęcia, czyli po 1/4 cyklu. A przecież dalej są jeszcze MMU i dekoder LS138 z własnymi opóźnieniami.
Zapis od odczytu możesz sobie odróżniać sprzętowo, używając dwóch osobnych przerwań. To Ci trochę czasu oszczędzi. Zarezerwowanie paru rejestrów tylko do obsługi przerwań i ograniczenie się do instrukcji nie dotykających rejestru stanu pozwoli nie odkładać niczego na stos. Trza se radzić.
Co to znaczy "absurdalnie duży"? Jeśli na podstawie jednego komputera w stanie fabrycznym zrobisz swoje szacunki, zostawiając margines jednego 30-nanosekundowego cyklu, to prawdopodobieństwo, że wsród dziesięciu innych znajdziejsz przynajmniej jeden, w którym się posypie, jest bliskie jedności. Jeśli chcesz wycisnąć maksimum czasu, to najlepiej w ogóle zapomnij o wykorzystaniu CS POKEY-a. Najlepiej sam, używając najszyszych serii CMOS, zdekoduj adres. Najlepiej od razu z bramkowaniem odcinającym stany nieustalone. Mozna to zrobić w czasie poniżej 10ns. Na samym tym dekodowaniu zyskasz jeden cykl. Jeśli wystarczy ci 80-90% prawdopodobieństwa działania z różnymi komputerami, to wliczając ten jeden cykl, masz do wykorzystania 16 cykli, czyli 480ns. To absolutne maksimum.
Chyba jednak musze podpiąc oscyloskop żeby to oszacować.
Chcesz to oszacowac na podstawie jednego komputera i zrobic coś, co bedzie pracować tylko w tym jednym? Czy to coś ma jednak w zamierzeniu działać na każdym? W takim razie ile masz tych komputerów do oszacowania?
Ale zmartwiłeś mnie: na CS mam glitcha. A wiadomo choć jak wielkiego? W sensie szerokości stanu niestabilnego? Rozumiem że pochodzi od z faktu że adres -> cs robiony jest przez zwykłą logikę kombinacyjną i nie ma tam zatrzasku?
Właśnie. Typowo 10-20ns.
Dane muszą byc wystawione na 50ns przed opadajacym zboczem FI2. Nie licz na więcej niz 10 cykli. I pamiętaj, że na CS możesz mieć glitch w fazie ustalania adresu, więc przerwanie wywołane samym opadającym zboczem CS moze byc fałszywe.
W takich warunkach i przy obecnym firmware urządzenie zachowa się "przezroczyście", z dokładnością do nieznacznego (ok. 700ns) opóźnienia sygnału. Transmisja wg. pojedynczego licznika, z maksymalną prędkością 32kbps, raczej nie powinna potrzebować wspomagania.
Poza tym urządzenie jest konfigurowalne i można je programowo ustawić w tryb przezroczysty, niezależnie od ustawionej w POKEY prędkości odbioru. Służy do tego nieużywany rejestr $D20C. Wpis pod ten adres dowolnej wartości ze skasowanym najstarszym bitem (np. zerowanie rejestrów podczas IOPORTINI) powoduje inicjalizację FIFO (czyli m.in. usunięcie wszystkich zalegających tam danych). Zapis wartości w postaci (binarnie) 10xxxxxx ustawia granicę przestawienia w tryb przezroczysty od wartości AUDF3 określonej przez sześć najmłodszych bitów, czyli $00...$3F. Dodatkowo, jeśli wpisywany bajt ma ustawiony 6 bit, to wartość określona sześcioma najmłodszymi bitami zostanie potraktowana jako default. Zatem wpisanie $80h przełączy urządzenie w tryb przezroczysty bez względu na baudrate, a wpisanie $C0 spowoduje, że zawsze będzie w takim trybie wstawało.
Fakt. Jak sprawdzałem z SDX, US w menu IDE+ mogło być włączone. Ale i tak jestem pełen uznania, że udało Ci się tak zoptymalizować czasowo procedury odbioru, żeby nadążyć bez wyłączania obrazu. Odbiór idzie w przerwaniach, czy przez polling?
Po mojemu wystarczy. Linia i tak jest podwieszona przez 1k do plusa, więc poza standardowymi szumami z zasilania nie powinno być niepożądanych efektów.
W sumie, w Atariki jest napisane jak wół, że zależnie od implementacji stacja przełącza się pomiędzy prędkościami normalną i turbo zależnie od Clock Out (patrz niżej) lub metodą prób i błędów.
Tryb Ultra Speed w XFD602 jest rozpoznawany jeszcze inaczej. Przy wykorzystaniu okoliczności, że stacja może obsługiwać tylko numery 1, 2 lub 3. Oznacza to, że w trybie US najpóżniej po ~25us (przy 80kbps) lub ~30us (przy 68kbps) od startu musi pojawić się stan wysoki i jeśli takowy sie pojawi, stacja prowadzi dalszą komunikację przez procedurę szybką. Jeśli go nie ma, idzie dalej w trybie standard. Nie ma straty czasu na próby i błędy i nie potrzeba sygnału zegarowego.
No, pięknie, ..., pięknie. "Chwalila się rzepa przed całym ogrodem, że jest bardzo smaczna z miodem [...]"
Rzeczywiście, SDX i loader z IDE+ chodzi na 127kbps bez pomocy. Czemu ja o tym nie wiedziałem? :o
Skoro tak, to wyszło na to, że to sztuka dla sztuki. A już się cieszyłem, że tak ładnie chodzi. :D
Szczerze powiedziawszy, nie testowałem loadera IDE+ bez tego dodatku przy takich predkościach. Jako wzorca używałem US Sector Copier, który wykrzaczał się był już przy dzielniku 4. Stacja XFD602 z tym dzielnikiem jeszcze pracowała, ale tam z przyczyn obiektywnych (zbyt wolny procesor) były 3 bity stopu, a emulator daje tylko 1. To duża różnica.
Ty to akurat spodziewaj się egzemplarza deweloperskiego do testów. :)
Bezstresowe czyli bez strachu o to, że zerwie transmisję np. po pojawieniu się bardziej czasochłonnej grafiki podczas ładowania. Na razie sprawdziłem z US Sector Copier, z SDX i z loaderem IDE+. Ustawiam w Aspeqt dzielnik 0 i działa.
Oczywiście, wymaga usunięcia kondensatorów 1nF z linii SIO data in/data out.
Tak z grubsza licząc - 70PLN.
Właśnie zakończyłem prace uruchomieniowe i rozpocząłem testy nowego urządzenia - FIFO do transmisji szeregowej. Urządzonko jest niewielkie, ma formę płytki o wielkości 50x21mm, czyli w sam raz na podstawkę DIL40 pod POKEY. Montuje się ją w miejsce POKEY-a, a sam POKEY umieszcza się w podstawce na płytce. Urządzenie umożliwia bezstresową transmisję szeregową z każdą możliwą do ustawienia w POKEY prędkością, czyli aż do 126.7kbps włącznie.
Tutaj jest filmik z kopiowania dysku podwójnej prędkości programem US SECTOR-COPIER 4 (c)01/86 E.REUSS, z maksymalną prędkością.
Idea jest prosta - urządzenie jest buforem działającym przy odczycie, dostosowującym tempo wysyłania bajtów do tempa ich odbierania przez CPU. Ze względu na to, że wydajność procesora jest zmienna w funkcji czasu, a do zerwania transmisji sektora wystarczy, żeby procesor nie zdążył odebrać na czas jednego bajtu, użyteczna prędkość transmisji, która musi być dopasowana do najwolniej odbieranego bajtu, jest mniejsza niż mogłaby być, gdyby transmisję dało się wstrzymać na kilka-kilkanaście mikrosekund w najbardziej krytycznym momencie. I to właśnie robi urządzenie.
Płytki serii próbnej (20szt.) już są w produkcji. Jeśli poczta nie zawiedzie, to za jakieś ca. 2 tygodnie będą u mnie.
Jest ktoś chętny?
Na bazarze Wolumen co niedziela stoi przynajmniej jeden, a często dwóch takich naprawiaczy. Pierwsza aleja na placu samochodowym, wchodząc od głownego wejścia - w prawo.
A jakie są "zalecane" wartości R2 i C4?
Żadne. Jeśli R1 i C3 mają podane na schemacie wartości, R2 i R4 powinny być już niepotrzebne. Ale na 100% zagwarantować tego się nie da, bo mogą być niewielkie różnice w poziomach przełączania i pojemnościach wejściowych bramek 74HC14 różnych producentów.
Oraz, dołożone do VBXE razem z GTIA nie będzie całość za wysoka?
Przy odpowiednim montażu, płytka nie będzie kolidować z VBXE. Może być konieczne użycie pojedynczych pinów precyzyjnych, wpuszczanych głęboko w płytkę.
Różnic w stosunku do poprzedniej rewizji jest bardzo dużo. Kilka układów doszło, parę wypadło. Część z tych, które pozostały, robi zupełnie co innego. Dzięki temu wszystko się jakoś zmieściło na tej samej powierzchni. Próba skopiowania tego skończyłaby się kompletną kaszaną. To nie miałoby prawa dobrze działać. Nawet nie będę próbował tego opisywać.
Wszystko, co mogę zrobić, to przerysować fragment oryginalnego układu odpowiadającego za obsługę przycisku i uzupełnić go dodatkowym dekoderem adresowym. I niech sobie rzeźbi, kto chce, jeśli potrafi, na własną odpowiedzialność. W zasadzie mógłbym zrobić płytkę redukującą liczbę połączeń drutem do w miarę rozsądnej, ale na to musiałoby się znaleźć przynajmniej 20 chętnych, zapewne po jakieś 10zł za (gołą) sztukę oraz trochę wolnego czasu po mojej stronie. Więc raczej nie w tym tygodniu. :)
Czy to przecięcie od 11 nogi HCT08 to można zrobić np. tu - jak na zdjęciu?
Bo nie bardzo wiem, gdzie tej ścieżki szukać.
To ta oznaczona na czerwono na załączonym rysunku
I przy okazji - czy w podobny sposób można by dorobić ten przycisk do zmiany atr-ów?
Przykro mi, ale nie. Za dużo przeróbek.
Ja bym procesor zostawił w spokoju, póki co. W normalnie działającym komputerze jest najcieplejszym elementem. Nie jest gorący na tyle, żeby jaja na nim smażyć, ale mocno ciepły.
Wziąłbym 1200XL, ale już się pewnie nie załapię.
- Przepraszam pana! Za czym ta kolejka?
– Do „Ostatniej paróweczki”, proszę panią.
– Eee... To już dla mnie nie starczy.
Ja bym wziął 1200XL.
atari.area forum » Posty przez Simius
Wygenerowano w 0.039 sekund, wykonano 26 zapytań