atarionline.pl Atari & 6502 (wasp edition) - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorthewasp
    • CommentTime17 Jan 2017 zmieniony
     
    Witam wszystkich.

    Kilka lat temu opracowałem pierwszą wersję własnej architektury procesora zgodnego z MOS6502. Założenie było proste: utrzymać jak największą zgodność z oryginałem, przy możliwie najmniejszym stopniu zużycia dostępnych zasobów najmniejszego, dostępnego układu FPGA. Projekt dość szybko zyskał wybitnie "szufladowy" charakter.

    Wszystko zaczęło się zmieniać w okolicach końca ubiegłego roku. Trafiłem na prezentację człowieka, skojarzonego z grupą ludzi odpowiedzialnych za reverse engineering oryginalnego produktu. W swoim wystąpieniu rzucił światło na bardzo istotny fakt, mianowicie moje założenia dot. obszaru dekodera instrukcji mocno pokrywały się z założeniami autorów oryginalnego proca.

    Tyle mi wystarczyło. Postanowiłem wrócić do pracy w tym zakresie i - jak to często bywa - w konsekwencji zaprojektowałem coś zupełnie nowego, trzymając się starych przemyśleń i ... narzędzi, które stworzyłem na potrzeby rozwoju poprzedniej wersji

    Implementacja wypada bardzo dobrze na tle podobnych - zarówno pod względem ilości wykorzystywanych zasobów logicznych, jak i pod względem czasu propagacji przez "krytyczną" ścieżkę kombinatoryczną (rzutującego na maksymalną częstotliwość pracy układu).

    Najważniejsze jest jednak to, że całość została przetestowana w realnym środowisku. Myślę, że w tym miejscu tekstu postać samego środowiska staje się dość oczywista :).
    • 2: CommentAuthorxxl
    • CommentTime17 Jan 2017
     
    robi wrazenie :-)
    • 3:
       
      CommentAuthorTheFender
    • CommentTime17 Jan 2017
     
    W skrócie: nie ogarniam, ale szacun :)
    Czekamy na GTIA+ niebędący VBXE.
    • 4: CommentAuthormono
    • CommentTime17 Jan 2017
     
    Świetny projekt. Czy kompatybilność jest 100%? Rozkazy niepublikowane zachowują się jak należy? Dla jakich częstotliwości Twoje CPU może pracować poprawnie?
    • 5: CommentAuthorxxl
    • CommentTime17 Jan 2017
     
    a kody CIN np. $02 sluza jako prefiks dla nowych super wypasionych rozkazow cpu.
    • 6: CommentAuthormono
    • CommentTime17 Jan 2017
     
    CIM.
    Ale co właściwie miały w 6502 robić kody z grupy $x2?
    • 7: CommentAuthorxxl
    • CommentTime17 Jan 2017
     
    hmmm np. LDX #n - $A2 :-)
    • 8: CommentAuthormono
    • CommentTime17 Jan 2017 zmieniony
     
    Ale, że wszystkie???? ;)
    Na moim Atari łatwo dało się stwierdzić, że kod wpadł w CIM, bo słyszalnie zmieniał się dźwięk :) Obraz generował się poprawnie, ale słychać było że CPU nie pracuje.

    Edit: Tzn. układy pracowały poprawnie (dźwięk też), ale zakłócenia były wyraźnie inne - uboższe :)
    • 9: CommentAuthorxxl
    • CommentTime17 Jan 2017
     
    chodzi o to ze nie cala grupa $x2...
    • 10: CommentAuthorpin
    • CommentTime17 Jan 2017
     
    .. to nielegale są komuś potrzebne?? ;)
    • 11: CommentAuthorthewasp
    • CommentTime17 Jan 2017
     
    Procesor realizuje prawidłowo wszystkie instrukcje ze zbioru, który osobiście uznaję za "oficjalny".Charakteryzuje się jednak bardzo dużą elastycznością. Nic nie stoi na przeszkodzie, aby bez większych zmian konfiguracji logicznej, dołożyć operacje uwzględnione przez producentów takich jak WDC. Wynika to z dwóch aspektów: Po pierwsze pojedynczy BRAM układu FPGA pełni funkcję dekodera instrukcji (sprawa wygląda analogicznie w oryginalnym układzie, jednak nie analizowałem materiałów badawczych, związanych z rev-eng. W konsekwencji sygnały dekodera muszą być odmienne). Po drugie - istnieje mechanizm mikrokodowania, zwiększający swobodę definiowania trybu adresowania dla każdej instrukcji. Wszelkie PHY/PHX/PLY/PLX/JMP(a,x) itp. wymagają w istocie jedynie ustalenia właściwej postaci właściwych wektorów, przenoszących obecnie konfigurację dla instrukcji NOP. Napisałem też kawałek softu, który to ułatwia (choć przy ok. 150 instrukcjach, bez interpretacji składników konkatenacji jest nieco "upierdliwy"). Dla zachowania wysokiej zgodności z oryginałem, nie wprowadziłem przetwarzania potokowego w obszarze asynchronicznym, który trochę się o to prosił (ALU - ADC/SBC bin/BCD). Mimo to, procesor powinien pracować prawidłowo przy ok. 70MHz (to dane dla obecnie zastosowanego, obecnie nieco leciwego układu FPGA). Układ eksploatuje ok. 105 przerzutników i 35% zasobów LUT najmniejszego spartana, którym dysponuję (XC3s50AN). To dobry wynik, choć dalsza optymalizacja jest cały czas możliwa. Przy okazji należą się podziękowania dla Pasia : bazowałem na opisach produktów niezwiązanych z Atari. Przy projektowaniu PCBka nie uwzględniłem prawidłowej obsługi sygnału HALT (dlatego na zdjęciu widać małą płytkę, podwieszoną do głównego modułu na kynarze).
    • 12:
       
      CommentAuthorTheFender
    • CommentTime17 Jan 2017
     
    Nielegale są integralną częścią Atari.

    Bez nielegali nie ma Atali! :)
    • 13: CommentAuthorthewasp
    • CommentTime17 Jan 2017
     
    TheFender: GTIA+ - świetny pomysł. Na marginesie zaprojektowałem już kontroler HDMI ;)
    • 14:
       
      CommentAuthorTheFender
    • CommentTime17 Jan 2017
     
    @thewasp: więc Twój projekt w tym momencie zaczyna nabierać komercyjnego aspektu.
  1.  
    prosze o przykłady pracy w warunkach dynamicznych ...co to robi w zasadzie ..hę?? proszę o przyzwoite nazewnictwo tu sa dzieci :)
    • 16: CommentAuthorthewasp
    • CommentTime17 Jan 2017
     
    Uczciwie przyznam, że nie zgłębiałem problemu nieopublikowanych instrukcji w sensie NMOSa z ataryny. Jeśli chodzi o "dziwaczne" rozkazy typu "LAX" - tak. Ten układ to zrealizuje bez problemu. Domyślam się oczywiście, że chodzi o grubszy temat. Mogę szukać materiałów w sieci, tylko po co? - przecież jestem u źródła:)
    • 17: CommentAuthorthewasp
    • CommentTime17 Jan 2017 zmieniony
     
    Bardziej kusiło mnie rozszerzenie funkcjonalności ALU. Instrukcje MUL/DIV nigdy nie istniały, a przecież szkoda. Przy ułańskiej fantazji można pójść w mnożenie z akumulacją (lol), tyle że to już przerost formy nad treścią. Głównym celem wrzucenia przedstawianego prototypu do ataryny było potwierdzenie prawidłowości działania zaprojektowanego procesora. Wszystko ładnie wygląda w symulatorze, na oscyloskopie/w analizatorze stanów logicznych, ale przecież jedynie "twardy" test ma szansę pokazać, czy dana konstrukcja jest coś warta, czy nie. No i proc wcale nie poszedł tak "od pierwszego kopa". To potwierdza jedynie słuszność przyjętej koncepcji.
    • 18: CommentAuthorpin
    • CommentTime17 Jan 2017
     
    są "3" gry, "1" demo i jeden autor na tym forum który używa tego rodzaju praktyk, więc wnioski pozostawiam bez komentarza ;)
    • 19: CommentAuthoruser removed
    • CommentTime17 Jan 2017 zmieniony
     
    WOOW tyle powiem :-)
    Czyli zaraz rusz produkcja a8 (c) 2017 :-)
    • 20: CommentAuthormono
    • CommentTime17 Jan 2017
     
    Nielegale: ->link<-
    • 21: CommentAuthorpin
    • CommentTime17 Jan 2017
     
    ;)
    • 22: CommentAuthormono
    • CommentTime17 Jan 2017
     
    @xxl: sprawdzałeś może jak te nielegale pracują w trybie BCD? Jest tam spora pula, która realizuje ADC/SBC.
    • 23:
       
      CommentAuthortdc
    • CommentTime17 Jan 2017
     
    Świetne! Gratuluję rezultatów!

    Bez halt, do Commodore się nadaje już, po pełnej obsłudze halta i do Atari;)

    70 MHz? Nieźle ;)
    Dla osób niezorientowanych: wyciśnięcie tych 70 MHz w real Atari na razie jest niemożliwe, bo będzie go spowalniał cały sprzęt. W tym celu potrzebne są kolejne modyfikacje. Nie mniej interesująco to wygląda;)


    Pozwolę sobie dodać Twoje zdjęcia:




    • 24: CommentAuthorthewasp
    • CommentTime18 Jan 2017
     
    tdc: Super! Dzięki za uwidocznienie fotek. Bardzo słusznie podkreśliłeś, że szacowane możliwości samego rdzenia nie dotyczą maksymalnej częstotliwości pracy w przedstawianym środowisku.
    • 25:
       
      CommentAuthortdc
    • CommentTime18 Jan 2017
     
    Jak już ruszy pełne 70 MHz to można się pokusić o uruchomienie emulatora Atari na Atari ;):):)


    Kwestia HDMI przy komercyjnym zastosowaniu staje się zbyt bardzo komercyjna, tzn. nieopłacalna. Aby użyć HDMI trzeba uiścić dwie opłaty, druga bardziej ukryta powoduje że całość przestaje się opłacać (szczególnie w zastosowaniu dla takiej społeczności jak nasza, która raczej liczy się z ceną...).
  2.  
    TDC a jam mysle ze HDMI to raczej koniecznosc niz zbytek :-)
    Idz do marketu zobacz jakie masz zlacza teraz w nowych tv :-)
    • 27:
       
      CommentAuthortdc
    • CommentTime18 Jan 2017 zmieniony
     
    Nie ma sprawy, aby dodać fotki z netu wystarczy wkleić adres do postu, jeśli jest to załącznik z Twojego postu to trzeba opublikować post kliknąć w załącznik i skopiować jego adres do postu, a następnie na końcu dodać odpowiednio ".jpg", ".png", ".gif" itp.


    @ kosa0, ja mówię o praktyce, że zamontowanie HDMI w swoim urządzeniu (czym by ono nie było) słono kosztuje i tyle. To się faktycznie przełoży że przy wyprodukowaniu np. 100-200 urządzeń (bardzo dużo jak na nasze możliwości), cena każdego wzrośnie o kilkaset złotych + faktyczny koszt części, robocizny itp.
    To trochę "niepraktyczne", skoro dzisiejsze urządzenia są dość drogie, jeśli samo HDMI ma zwiększyć ich cenę o 50% a nawet więcej obecnej ceny to dziwnie to wygląda...
  3.  
    @tdc Tedec to co proponujesz w zamian?
    • 29:
       
      CommentAuthormav
    • CommentTime18 Jan 2017 zmieniony
     
    A konwerter pod hd component (YpbPr) nie wychodzi znacznie taniej? Sporo telewizorów ma to wejście. Ja sam wielokroć używam.
  4.  
    @mav szczeze to dawno nie widzialem w tv YpbPr ale moze sie myle- zbyt dokladnie sie nie przygldalem - w najblizszy weekend nadrobie to i w skleie nie dla idiotow przypatrze sie co teraz tv oferuja :-)
    • 31: CommentAuthorthewasp
    • CommentTime18 Jan 2017
     
    W przedmiocie HDMI: Jest dokładnie tak, jak pisze tdc. Wszelkie konsorcja, odpowiedzialne za standardy transmisyjne(HDMI/HD-SDI/MIPI itd.) są w ogólności nastawione na czerpanie zysków w opisywanym trybie. Oczywiście należy dokładnie zbadać, o jaki charakter chodzi (Tutaj m.in. nie jestem pewien, czy urządzenie wyposażone jedynie w stosowne gniazdo, jest rozpatrywane odmiennie od takiego, które ma zadeklarowaną zgodność ze standardem HDMI, zaliczone compliance testy itp.). Samo pozyskanie dokumentacji nie jest proste, choć w przypadku TMDS (HDMI) pewne rzeczy zostały uwolnione (HDMI 1.1)
    • 32:
       
      CommentAuthortdc
    • CommentTime18 Jan 2017 zmieniony
     
    Nie tyle w zamian, co proponuję aby nasi elektronicy pokusili się o założenie stowarzyszenia, które wykupi możliwość montowania HDMI, tak aby każdy z osobna mógł je montować (nie wiem jak to prawnie wygląda, trzeba to sprawdzić). Jednak takie rozwiązanie spowoduje że co prawda i tak opłaty uiścić trzeba, ale wzrost ceny pojedynczego urządzenia nie będzie już tak wysoki, więc stanie się w zasięgu ręki (choć realnie i tak wydaje mi się że większość osób będzie sięgać po rozwiązanie bez HDMI aby nie przepłacać jak i tak wydają kilka setek na grafikę czy coś innego).
  5.  
    @tdc
    Czyli ze jak to mialo by wygladac - montujesz gniazdo za free - a kupujacy placi licencje i kupuje jakis klucz , passwd , certyfikat ktory wlcza to gniazdo ?

    Pytam sie bo sie nie znam :-) i nie wiem czy cie dobre zrozumialem
    • 34:
       
      CommentAuthortdc
    • CommentTime18 Jan 2017 zmieniony
     
    Nie wiem jeszcze jednego: czy dodanie HDMI do Atari nie będzie powodowało zastosowania jakiegoś mocnego jednoukładowca. Przykładowo wykonanie przeskalowania sygnału Atari do rodzielczości HD, czy też zmiana częstotliwości sygnału itp. to są bardzo mocożerne operacje (czyli wymagają małego komputera, który też kosztuje).
    To są operacje niezbędne (zmieniamy sygnał SD na HD + inne parametry), ale może da się to jakoś obejść?


    @kosa0, nie opłaty ponosi wykonawca urządzenia, ale skoro są to opłaty wysokie jak na polskie możliwości to musi to przenieść na kupującego, czyli ostateczną cenę urządzenia, która wraz z czasem może spaść, ale przy naszych ilościach sprzedawanych urządzeń to długo będzie trwało... stowarzyszenie wszystko przyspieszy i potani.
    • 35: CommentAuthorthewasp
    • CommentTime18 Jan 2017
     
    czysto hipotetyczny (jak na razie ;) ) układ GTIA+, implementowany w strukturze układu programowalnego realizowałby odp. konwersję.
  6.  
    Hmmm,

    HDMI or not HDMI ?!? If not, how about a DP (Display Port) then ? Maybe cheaper, maybe not (and adapter for DP=>HDMI exists)...
    • 37: CommentAuthorthewasp
    • CommentTime18 Jan 2017 zmieniony
     
    (na "dobranoc"): Przedstawiany procesor może bez żadnego problemu zająć miejsce automatu w opisywanej przeze mnie stacji dysków (HD 3.5"). Ze względu na stricte algorytmiczny charakter realizowanych funkcji, to miejsce po prostu powinno należeć do CPU. Elastyczność i łatwość dalszej rozbudowy - bezcenne.
    • 38: CommentAuthorwieczor
    • CommentTime18 Jan 2017
     
    Jest jeszcze DVI. Za darmo. A przejscie z DVI na HDMI to tania przejściówka - i problem rozwiązany.
    • 39: CommentAuthorBanan
    • CommentTime19 Jan 2017
     
    to nie takie proste :)
    dvi jest w kilku wersjach: analogowe (dvi-a), cyfrowe (dvi-d) lub obydwa (dvi-i)

    i glowy nie dam: dvi jako taki nie jest zgodne z hdmi- karta graficzna musi przelaczyc sie w tryb hdmi. a przejsciowka to tylo zamiana ksztaltu wtyczek. wiec urzadzenie i tak musi obslugiwac hdmi.
    • 40: CommentAuthorthewasp
    • CommentTime19 Jan 2017
     
    Wszystkie urządznia nadawcze HDMI powinny być zgodne z odbiornikami DVI 1.0 (to działa zresztą w obie strony), a fakt ten wynika ze specyfikacji. Kodowanie nadmiarowe jest identyczne w obu przypadkach, dlatego pomysł z DVI nie jest pozbawiony sensu - o ile faktycznie nie ma odpowiednich zastrzeżeń.