• サぺル@tech.pr0n.pl
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    22 days ago

    To jest dobry art w którym wyjaśniono wszystko co chciałem wiedzieć.

    Muszę poczytać o tym reset. Zwykle trzyma się go jakiś czas po podaniu zasilania, bo różne układy wymagały rożnego czasu. Odpowiadał za to jakiś specjalny układ.

    Mam nadzieję, że społeczność Amigi potraktuje autora łaskawie.

    • naur@tech.pr0n.plOPM
      link
      fedilink
      Polski
      arrow-up
      1
      ·
      22 days ago

      O procesie odłączania dolnej kopii ROMu podczas bootu Amigi jest wątek na Stack Overflow.

      Z innej beczki, znalazłem dzisiaj taką procedurę robiącą reset Amigi: http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node02E3.html
      Zaciekawił mnie tej skok po resecie.
      Według dokumentacji efektem rozkazu jest zresetowanie urządzeń zewnętrznych, ale sam CPU kontynuuje pracę.
      Ciekawe, czy skok miał na celu przetrwanie niestabilnej pracy RAMu.

      Bonus: żebrząca rączka była grafiką wektorową rysowaną na podstawie bytecode’u o rozmiarze 412 bajtów.
      https://retrocomputing.stackexchange.com/questions/13897/why-was-the-kickstart-1-x-insert-floppy-graphic-so-bad

      • サぺル@tech.pr0n.pl
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        edit-2
        21 days ago

        Zbadałem schemat CDTV i tam jest układ 555, który z tego co rozumiem podtrzymuje reset przez jakiś czas po włączeniu zasilania. Pomyślałem, że może wystarczy tylko poczekać procesorem, aż sygnał przejdzie w stan podwyższonej impotencji.

        Rzeczywiście dokumentacja 68k mówi, że sygnał reset jest zanegowany i dwukierunkowy. Rozkaz reset trzyma sygnał reset w stanie niskim przez 124 takty. Wątpię żeby procesor coś wtedy robił.

        Z tego co piszą, ten skok jest pobierany przez procesor. To pewnie jakiś wypełniacz jak w MIPS. Żeby nie zrobił się wyjątek.

        Czyli jak rozumiem trzeba odczekać reset odpowiednio długo, a potem za pomocą CIA wyłączyć ROM w obszarze 0?

      • サぺル@tech.pr0n.pl
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        21 days ago

        Do ROM prowadzi sygnał ROMEN włączający go w odpowiednich przestrezeniach adresowych Wychodzi on z układu GARY. Podobno w Amidze 1000 zamiast układu GARY jest garść układów TTL i można tam zobaczyć co się dzieje z tym sygnałem.

        Jest jeszcze sygnał OVL, opisany jako “Overlay ROM over RAM”. Wychodzi on z U9 8520 (CIA [nie wiem który]), z Port A, PA0. Wchodzi do GARY do pinu o tej samej nazwie. Więc na podstawie schematu można zrozumieć jak to jest sterowane.

        Układ resetu to prawdopodobnie U76 555. Pan Gemini wyjaśnił, że działa on w trybie monostabilnym-jednostrzałowym. Po pojawieniu się zasilania trzyma reset przez około 500 ms.

        • naur@tech.pr0n.plOPM
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          edit-2
          17 days ago

          Czyli sporo rzeczy się wyjaśniło. Dzięki za analizę.
          Zaskoczyło mnie, że Gary był robiony na TTL, bo tam jest chyba obsługiwana stacja dysków.

          Ja tymczasem popełniłem abominację i zaimplementowałem bootloader rysujący rączkę według oryginalnego algorytymu.

          spoiler

          • サぺル@tech.pr0n.pl
            link
            fedilink
            Polski
            arrow-up
            1
            ·
            17 days ago

            Sprawdziłem w A1000. Sygnały sterujące flopka wychgodzą z U6P i U6N czyli dwa 8520 CIA. Sygnały danych flopka są podłączone do U4E 8364 PAULA. Czy Paula to taki nowszy POKEY?

            Sygnały OVL i ROMEN są obsługiwane przez układy programowalnej logiki PAL.

          • サぺル@tech.pr0n.pl
            link
            fedilink
            Polski
            arrow-up
            1
            ·
            edit-2
            17 days ago

            Świetne! Tera włożenie odpowiedniej fropi wybiera system z bootloadera.

            Amiga ma chyba dość niskopoziomowe fropi, dekodowanie jest podobno akcelerowane w jakiś sposób za pomocą blittera. Trzeba to zbadać.

            Z resztą nie wiem czemu się dziwisz. W założeniu ta konstrukcja nie miała klawiatury i fropki. Na pokazach z tego co widziałem, prototyp był kontrolowany przez terminal.

            • naur@tech.pr0n.plOPM
              link
              fedilink
              Polski
              arrow-up
              1
              ·
              17 days ago

              Amiga ma chyba dość niskopoziomowe fropi, dekodowanie jest podobno akcelerowane w jakiś sposób za pomocą blittera. Trzeba to zbadać.

              Całkiem możliwe. Pod koniec tej strony jest opis dekodowania MFM.
              Amiga podczas zapisu na flopka rozbijała bajt na bity parzyste i nieparzyste, czyli powstawało coś w rodzaju 2 “plane’ów”. Polegało to na wymaskowaniu co drugiego bitu (przy czym jeden z plane’ów był dodatkowo shiftowany).
              W puste miejsce po usuniętym bicie był wstawiany sygnał zegarowy. Operacje shiftowania i maskowania są obsługiwane przez blitter, więc może faktycznie była w kickstarcie taka akceleracja.

              Tera włożenie odpowiedniej fropi wybiera system z bootloadera

              Ciężko jest obecnie podłączyć natywnie fropi do komputera. Patrząc na dokumentację UEFI, nie mogę nawet znaleźć definicji takiego interfejsu. Łatwiej byłoby podpiąć stację dysków w kieszeni USB, ale jakiś niesmak w tym przypadku pozostanie…

    • Lacky@tech.pr0n.pl
      link
      fedilink
      arrow-up
      1
      ·
      21 days ago

      “Mam nadzieję, że społeczność Amigi potraktuje autora łaskawie.”

      Czyli delikatna chłosta zamiast ukamienowania? ;-)

      • サぺル@tech.pr0n.pl
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        edit-2
        21 days ago

        Jakbym miał być wredny, to bym napisał, że współczesna demoscena działa tak samo. Do Amigi dołączony jest dopalacz na procesorze 68060 z lokalnym RAMem (prawie napisałem ramen). Całe demo liczy i renderuje w ramach tego dopalacza. Na koniec jest transfer wyniku do Chip RAM Amigi. Czyli pamięci, w której jest bufor ramki i bufory audio.

        Cały problem polega na tym, że społeczność wierzy w “święty chipset, który wyprzedza konkurencję o dziesięciolecia!!!”. Jeśli ktoś nie używa go do akceleracji wszystkiego co robi Amiga, to jest zdrada.

        Tu autor się broni, bo twierdzi, że używa programu Coppera i coś jeszcze.