atarionline.pl Najmniejsze na świecie Atari 8-bit (FPGA) - 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
    • CommentTime5 Oct 2023 zmieniony
     
    Witajcie.

    Choć podobne wystąpienie zapowiadałem jakiś czas temu, dopiero w obecnej chwili uznaję je za godne uwagi. Projekt związany ze sprzętem, który de facto istnieje i jest rozwijany (nie tylko przeze mnie) od dłuższego czasu... właśnie teraz
    zaczyna mieć wymierny związek z XL/XE.

    Zawodowo zajmuję się projektowaniem układów cyfrowych, implementowanych zwykle w strukturach układów programowalnych. Kilka lat
    temu opisywałem Wam własną implementację procesora 6502, opracowaną całkowicie "from scratch" (co do zasady, nigdy nie postępuję inaczej.
    Procesor został pomyślnie "wszczepiony" do jednej z moich "atarynek", co potwierdziło wysoką zgodność z oryginałem)

    Projekt nie zakończył w szufladzie - o nie! Opis architektury własnego komponentu tego typu jest bardzo cenny, ponieważ w małych projektach pozwala pożegnać się z
    "mainstreamowymi" mikrokontrolerami, których m.in. za niedoskonałość narzędzi miałem swego czasu serdecznie dość (co nie oznacza, że nie korzystam z nich zupełnie. Niejednokrotnie
    muszę, z pełnym niezadowoleniem - np. ZYNQ / VITIS). Rozwijany system (żeby nie zanudzać - o tym kiedy indziej, w ramach ew. zainteresowania tematem) okazał się niesamowicie pomocny podczas prowadzenia testów jednostkowych nowych IP core'ów.

    (Do brzegu, marynarzu!)

    Na początku września postanowiłem opracować układ zgodny z "antikiem". Tak też się stało. Mimo dość szybkiego zakończenia etapu, z obiektywnych przyczyn nie poszedłem
    "za ciosem" w trybie natychmiastowym. Wczoraj, niejako "na kolanie" utworzyłem prostą wersję GTIA. Obecnie - cóż... Czas na testy! które przeprowadzę tworząc równolegle materiał na "kolejny odcinek".

    Jednak zanim nastąpi ciąg dalszy, napiszę kilka zdań na temat części sprzętowej. To raczej ważne:

    Utrzymałem zgodność z elementami oryginalnego systemu, jednak projekt jest rozwijany w ramach odmiennej architektury. Istotą nie jest stworzenie wiernej repliki ("co do bramki"). Behawioralnej - owszem! Rozwijany wariant już teraz "zachowuje się" jak A8 (przykład w załączniku i w następnej części tekstu - chyba, że zabraknie zainteresowania tematem).

    Zostały zaimplementowane mechanizmy właściwe dla "małego atari", zgodność lokacji w przestrzeni adresowej została utrzymywana w ramach funkcjonowania sprzętowych układów wirtualizacji.

    Nie należy jednak mówić o "emulacji". To po prostu niezależny, elastyczny system, którego szczególnym przypadkiem konfiguracji jest praca utrzymana w zgodności z Atari XL/XE.

    Ze względu na dbałość o optymalną postać układów cyfrowych, całość mieści się w jednym z najmniejszych (również w sensie gabarytów) układów programowalnych. Myślę że sprzętowa postać będzie w stanie mocno Was zaskoczyć.

    W załączeniu screenshot ekranu, generowanego nad tekstowo-graficzną (antic x"02"/x"0f") Display Listą, z modyfikacją koloru tła na podstawie rejestru VCOUNT (tak. Widać zamierzone odstępstwo od oryginału. To wskazuje na elastyczność i szeroką furtkę do ew. rozszerzeń). Bez animacji trudno właściwie rozbudzić wyobraźnię. Już wkrótce! (przerwania VBI/DLI - działają, a jakże!)



    Przy okazji: W ramach opisywanego systemu stworzyłem całkiem ciekawy sprzęt, wykorzystujący autorski head HDMI/DVI, układ graficzny z akceleracją grafiki wektorowej, serię dem. Nie ma to ścisłego związku z atari, ale z AOL jak najbardziej - śledzenie umieszczanych treści (co praktykuję regularnie) bywa bardzo inspirujące!


    Do następnego!
    • 2:
       
      CommentAuthorjhusak
    • CommentTime5 Oct 2023
     
    No ładne cacko! A może by się to dało zmieścić w tym chińskim FPGA (jednym z) Tang Nano?
    • 3: CommentAuthorthewasp
    • CommentTime5 Oct 2023
     
    Dałoby się, ale bazuję tutaj na naszym sprzęcie (moim zdaniem nawet ciekawszym. Mała zajawka w załączniku), z w własnym systemem developerskim (uwzględniającym nawet Visual Studio Code nieźle zintegrowane z CC65 i narzędziami do programowania/komunikacji z częścią hardware'ową, choć sam od zawsze używam asemblera). W teorii całość nie musi być ściśle związana z wybranymi układami, ale wybrane układy mają niepodważalne zalety. Produkty Gowin semiconductor były brane pod uwagę podczas rozpoznania przed migracją na tle niedawnego kryzysu. Cóż napisać... FPGA jak FPGA. Gorzej z oprogramowaniem do syntezy (podobnie rzecz się ma w przypadku innych producentów "softwareless" - np. Cologne Chips z GateMate FPGA). Zwykle dobrze jest stawiać na producentów, którzy taki soft rozwijają "in house".
    • 4: CommentAuthorthewasp
    • CommentTime24 Oct 2023 zmieniony
     
    Niewykluczone, że brak zainteresowania moim wątkiem jest powodowany podejrzeniem o kolejny zapęd, z którego nic nie będzie. Rozumiem :) . Nie mniej, niedawno uruchomiłem OS, bazujący na sprawnie działających mechanizmach przełączania pamięci . W załączniku screenshoty - z działającego selftestu i OSa, oczekującego na przerwanie POKEYa. Nie ma go, ale wkrótce się pojawi. To prosty układ, zajmie mi to kilka dni - pod warunkiem że znajdę czas i chęci.

    Dla zabawy, zaprojektowanemu odpowiednikowi ANTICa dałem 256znakowy generator znaków). Barwy zmienione przez attract mode. Pozdro!
    • 5: CommentAuthorthewasp
    • CommentTime24 Oct 2023
     
    Blokada IO (stan odpowiadający stanowi oryginalnego A8 z wyciagniętym POKEYem)
    • 6:
       
      CommentAuthorjhusak
    • CommentTime24 Oct 2023 zmieniony
     
    Przecież się interesuję :)
    Jeśli chcesz więcej zainteresowania - są bardziej techniczne fora. To jest bardziej dla humanistów.
    • 7: CommentAuthorthewasp
    • CommentTime24 Oct 2023
     
    :)
    • 8:
       
      CommentAuthorjhusak
    • CommentTime24 Oct 2023
     
    Może wkleję zdjęcie, na którym coś widać :)
    • 9: CommentAuthorthewasp
    • CommentTime24 Oct 2023 zmieniony
     
    Super! Lubię AOL, dlatego będę raportował o sukcesach. Nie chodzi tutaj o rozgłos. Po prostu nie sposób nie docenić konstruktywnej dyskusji. Twoja propozycja dot. Tang Nano jest na pewno godna uwagi (przecięty układ FPGA Gowina udostępnia zbiór zasobów logicznych o potencjale implementacji kilku kompletnych core'ów ATARI). Warto przyjrzeć się temu bliżej.
    • 10: CommentAuthormono
    • CommentTime24 Oct 2023 zmieniony
     
    To jest "Naprawdę Małe Atari" :) Przeładne! A GR.12/13 (ANTIC 4/5) też ma 256 znaków w zestawie? ;>

    Edit: Bo jak rozumiem 256 znaków w trybie ANTIC 2/3 jest kiedy CHACT.1=0? Czy może w CHACT jest dodatkowy bit, który tym steruje (mielibyśmy jak w C+4)? Czasem krótszy zestaw się przydaje...
    • 11: CommentAuthorthewasp
    • CommentTime24 Oct 2023
     
    Tryby znakowe oryginału (z inwersją/zmianą kodowania barwy piksela tam gdzie trzeba) zostaną zachowane, ale śmiało można myśleć o ciekawych rozszerzeniach, aktywowanych odp. rejestrami konfiguracyjnymi.
    • 12:
       
      CommentAuthorjhusak
    • CommentTime24 Oct 2023
     
    To jest tak chyba, że w trybach 12-13 masz 128 znaków w 4 kolorach i 128 znaków z jednym kolorem piątym :) na logikę.
    • 13: CommentAuthormono
    • CommentTime24 Oct 2023
     
    Na Junonę! Na Teutatesa! :)
    • 14: CommentAuthorthewasp
    • CommentTime24 Oct 2023
     
    @mono: Obecnie - tak (256 znaków). Wpływ bardziej znaczących bitów wektora przenoszącego kod znaku (a tym samym dalszą redukcję zbioru elementów generatora znaków) jest konfigurowany na poziomie opisu architektury. Został wyłączony, ponieważ zmieniam nieco priorytet : funkcjonalność GTIA uzupełnię po opracowaniu POKEYa - jego dodanie pozwoli w pełni uruchomić system (w trybie wirtualizacji urządzeń wpinanych przez SIO, lub też z zastosowaniem oryginalnego sprzętu), a to już kusi zbyt mocno ;). A skoro już przy POKEYu jesteśmy, to zapytam Kubę (@jhusak): Czy znane są wielomiany związane z LFSRami toru zniekształcenia dźwięku?
    • 15:
       
      CommentAuthorjhusak
    • CommentTime24 Oct 2023
     
    O czym Ty do mnie rozmawiasz :) A tak na poważnie to tak, one są zaszyte w hardware, wystarczy przeanalizować schemat (jest jaki jest) POKEYA. Na pamięć nie wiem, wybacz :) Ale może @pavros wie jeszcze więcej, niż ten schemat może dać.
    • 16: CommentAuthorthewasp
    • CommentTime24 Oct 2023 zmieniony
     
    O! Szczerze mówiąc, schematu nie widziałem (zakładając, że max to jakieś zręby datasheeta - podobnie jak w przypadku antica). DZięki! Widzę że jest, widzę LFSRy (albo tak mi się wydaje :D ). O to chodziło!
    • 17: CommentAuthorthewasp
    • CommentTime24 Oct 2023
     
    Okej. "Mamy to"!
    • 18:
       
      CommentAuthorjhusak
    • CommentTime24 Oct 2023
     
    Jak taka płytka się komunikuje ze światem zewnętrznym? Można zrobić takie pcb z kartą microSD i wyjściem HDMI (do własnoręcznego przylutowania :) ? Ile takie cuś by kosztowało, jakby było już gotowe?

    Podziwiam ludzi, którzy mają w tej materii łatwość :) Ja co prawda nie próbowałem, ale pewnie nie miałbym lekko - chyba, że tu są jakieś skróty, o których nie mam pojęcia.
    • 19: CommentAuthorthewasp
    • CommentTime24 Oct 2023 zmieniony
     
    Jest wyposażona w gniazda B2B. Trafiłeś w punkt - takie PCB z odp. dodatkami jest wręcz potrzebne. Zresztą - żeby znowu nadmiernie się nie rozpisywać, podam link do projektu który był skojarzony z pracą duetu, który się tym zajmował/zajmuje: lacerta.pcss.pl (i od razu zaznaczę, że treści o charakterze "PR" pochodzą od innego zespołu... ). Podobnych powstało w sumie niemało (budowaliśmy w zależności od potrzeb ewal). HDMI/DVI jeszcze nie przenosiłem, choć zaprojektowałem i osadziłem we wczesnej wersji.

    Dowiem się jak stoimy obecnie z wolnymi zestawami i dam znać (na priva? Chyba funkcjonuje w AOL?)

    Generatory zniekształceń w POKEYu pracują asynchronicznie, polegając na (z grubsza) powtarzalnym czasie propagacji przez pojedynczą bramkę. Można powiedzieć, że "tap" LFSRa wyznacza para negatorów, a uchwycenie bieżącego stanu następuje w zależności od potrzeb - przez przerzutniki rejestru "random", lub logikę kanału dźwiękowego (z fikuśnym "filtrem", wykorzystującym aliasing). Nie da się tego wprost przenieść do struktur FPGA, ale też nie o to chodzi - istotny jest charakter, który można zachować. ARchitektura układu będzie odmienna, ale w sensie behawioralnym powinna być mocno zbliżona. Tutaj można się bawić. W przypadku SIDa w grę wchodziłoby wyłącznie DSP.

    Co do łatwości: Jak w każdym przypadku, przychodzi z czasem. Projektuję układy od bardzo dawna, to i skojarzenia są szybsze.
    • 20:
       
      CommentAuthorpirx
    • CommentTime24 Oct 2023
     
    co do pokeya to może nie potrzeba robić tego jeszcze raz - są bardzo dobre wsady od foft'a (do chwycenia na atariage.com), grają tak samo źle jak oryginalny pokey, działa cały anturaż irq i szeregowości, potencjometrów i klawikorda ;]
    • 21:
       
      CommentAuthorpirx
    • CommentTime24 Oct 2023
     
    *dobrze
    • 22: CommentAuthorthewasp
    • CommentTime25 Oct 2023 zmieniony
     
    @Pirx: Zaprojektowałem część audio. Praktyczne testy przeprowadzę po uruchomieniu komunikacji, co pozwoli na odpalenie - nie wiem, np. CMC. W ocenie prawidłowości najlepiej pomógłby Jakub (@jhusak) i na dalszym etapie pewnie coś zaproponuję (choć wiadomo jak jest - mało kto ma obecnie czas na podobne zabawy). Opisy HDL FOFTa (jeśli w ogóle je jeszcze udostępnia - widziałem wiele lat temu) są/były dość typowe dla współczesnych twórców, a tym samym dają nieoptymalne rezultaty. Celuję w ok. 3k LUTów (4 wejściowych) na całość. Po drodze wykonam jeszcze adapter SIO i wrócę z kolejnymi newsami. Damy radę :)
    • 23: CommentAuthorxangel
    • CommentTime26 Oct 2023
     
    Jakby to pożenić z moją nową płytą ITX... :)
    Tam jest reszta peryferiów.
    • 24: CommentAuthorthewasp
    • CommentTime26 Oct 2023
     
    Fajne!
    • 25: CommentAuthorxangel
    • CommentTime26 Oct 2023
     
    Twoje też fajne :)
    Mam Tang Nano 9k więc do zrobienia ST-ka się nie nada, ale chętnie odpaliłbym na tym "małe" Atari.
    • 26: CommentAuthormcs
    • CommentTime27 Oct 2023
     
    Ja również wyrażam duże zainteresowanie projektem :)
    Dzieki, że dzielisz się tą wiedzą, dla mnie bardzo przyjemnie nauczyć się czegoś ciekawego. Trzymam kciuki za projekt i bardzo chętnię potestuję gdy pojawi się taka możliwość :)
    • 27: CommentAuthorthewasp
    • CommentTime31 Oct 2023 zmieniony
     
    Opracowałem architekturę POKEYa, pomijając część związaną z potencjometrami (nie jest na razie potrzebna). Układ powstał dokładnie tak, jak i pozostałe - "from scratch". Jasne - analiza schematu była bardzo pomocna (datasheet nie przekazuje wszystkich informacji), ale wyłącznie w celu ustalenia pewnych faktów (np. synchronizacja "fazowa" SIO/RX - których kanałów dotyczy? - wszak konfiguracji jest kilka). Zgodnie z tym, co napisał @jhusak - schemat jest jaki jest. Niestety ma sporo błędów.

    Tak czy siak, widać aktywność na oscyloskopie, system żyje (załącznik). Jutro zastanowię się nad kierunkiem dalszego rozwoju. Z pewnych względów widzę miejsce dla nowego obwodu drukowanego. W końcu idą święta ;)
    • 28: CommentAuthorthewasp
    • CommentTime24 Dec 2023 zmieniony
     
    Składam wszystkim serdeczne życzenia z okazji rozpoczynających się Świąt Bożego Narodzienia!

    Spokoju, wytchnienia od codziennego pędu i prawdziwie atarowskiej radości!

    (Załączone zdjęcie pokazuje, że trochę się wydarzyło. Zbliża się krótki okres przerwy - myślę że dam radę to opisać. A być może uruchomię bloga?


    -Czas na wieczerzę, nie na podobne przemyślenia ;)
    )
    • 29:
       
      CommentAuthorpancio
    • CommentTime24 Dec 2023
     
    Bardzo mi się podoba ten projekt.. ja tego nie ogarniam ale jestem mega zainteresowany :-) Szczególnie interesujące jest dla mnie jak zaimplementowałeś POKEY-a i czy Twoim zdaniem można go wsadzić w jakąś mniejszą kostkę FPGA. Planujesz projekt upowszechnić tak by inni mogli się pobawić? :-)
  1.  
    @thewasp,

    Fajny projekt. Kibicuję :)
    • 31:
       
      CommentAuthorKrystone
    • CommentTime26 Dec 2023
     
    Dopiero dziś o tym słyszę. Bardzo ciekawy projekt. Jestem nim bardzo zainteresowany, ale nie wiem tylko gdzie mogę to śledzić bo aż tak często tu nie wchodzę.
    • 32: CommentAuthorthewasp
    • CommentTime28 Dec 2023 zmieniony
     
    Istotne informacje będę niezmiennie wrzucał na AOL. Zastanawiałem się nad uruchomieniem klasycznego, surowego bloga. Wątki techniczne dosłownie mnożą się na każdym kroku i raczej nie warto wszystkimi zapychać forum, bo w konsekwencji może pojawić się niechęć (szersze informacje, waveformy związane z symulacją/uruchamianiem, obwody drukowane - weźmy choćby klawiaturę, z niezależnym sterownikiem. Zawsze warto napisać szerzej skąd taka decyzja i jakie korzyści z niej płyną).
    • 33:
       
      CommentAuthorKaz
    • CommentTime28 Dec 2023
     
    Pomysł z wielkim potencjałem. A wczorajsza rozmowa ukazała, że projekt mocno zaawansowany!
    • 34:
       
      CommentAuthorKrystone
    • CommentTime28 Dec 2023
     
    Proponuję Ci jednak wrzucać rzeczy na YouTube'a. Może być nawet bez komentarza bo jak mówią: "A picture is worth a thousand words"... Zrobisz w 50/60 fps i oszczędzisz 50000-60000 słów. Pół żartem, pół serio. Na YT bym śledził!
    • 35: CommentAuthorthewasp
    • CommentTime29 Dec 2023 zmieniony
     
    To w sumie dobry pomysł. Póki co, przydałyby się wtyki SIO. Chętnie nabędę. Lotharek chyba je tłoczył?
    • 36:
       
      CommentAuthorKaz
    • CommentTime29 Dec 2023
     
    No to mamy pierwszy filmik, demonstrujące demko Dynablaster:

    • 37: CommentAuthorthewasp
    • CommentTime7 Jan 2024 zmieniony
     
    Układ enkodera TMDS (DVI/HDMI), zaprojektowany dla pierwszej wersji "Atarino" miał niepodważalną zaletę - działał. Możliwość eleganckiej optymalizacji układu, przez wprowadzenie odpowiednich konstrukcji kombinacyjnych w miejsce arytmetyki "ripple", została wtedy pominięta.

    Postanowiłem ponownie pochylić się nad problemem, czego efektem jest nowy, zgrabny IP core, znacznie lepiej dopasowany do architektury układu FPGA "zminiaturyzowanej atarynki". Ujmując to krótko - dotychczasowy "streaming analogowy" (VGA) zostanie zastąpiony strumieniowaniem HDMI.

    Wprawdzie istnieje możliwość radykalnej optymalizacji streamera na drodze redukcji przestrzeni barw, ale nie byłem nią zainteresowany. Zależało mi na pełnowartościowym koderze.

    Następnym krokiem będzie przygotowanie zminiaturyzowanej płyty z gniazdem HDMI, wyprowadzeniami dla SIO/PIA
    • 38: CommentAuthorthewasp
    • CommentTime7 Jan 2024
     
    Myślę, że materiał opisujący szczegóły projektowania układu mógłby być ciekawy...
    • 39:
       
      CommentAuthorKaz
    • CommentTime7 Jan 2024
     
    Bardzo dobry krok!
    A ja czekam jeszcze na filmik ze złym jabłkiem! :D
    • 40:
       
      CommentAuthorKaz
    • CommentTime25 Jan 2024
     
    Drugi filmik z serii:



    Plus komentarz od TheWasp:

    TheWasp:

    Krzywe Beziera, wchodzące w skład klatek animacji, są w demonstracji liczone w czasie rzeczywistym. Jasne - robi to układ akceleratora, zaprojektowanego specjalnie do tego celu. 6502 zarządza organizowaniem i dystrybucją danych, przy czym świetnie sprawdza się w tej roli (to zresztą znana praktyka - przecież motorola w Jaguarze też miała podobną robotę ;) ).

    Dane pochodzą z animacji SVG (sprowadzonej do postaci binarnej), stworzonej na drodze konwersji oryginalnej animacji (dla rozdzielczości 4k. Współrzędne są downscale'owane w locie). Częstotliwość taktowania układów (w tym proca) to jakieś 20MHz.

    Miał być i dźwięk i wypełnienia konturów, ale nikt specjalnie nie kibicował. Uznałem więc, że taka postać jest wystarczająca i dalsze zmiany wiele już nie zmienią. Prace nad "atarino" trwają cały czas.
    • 41:
       
      CommentAuthorKaz
    • CommentTime25 Jan 2024
     
    A jutro o 20:00 autor projektu sam o tym opowie na YT:

    • 42: CommentAuthorthewasp
    • CommentTime25 Jan 2024 zmieniony
     
    Nigdy nie pomyślałbym, że moja implementacja "Bad Apple" z pierwszej edycji "Atarino" doczeka się tak ładnej oprawy filmowej! (od stworzenia tego sprzętu i napisania programu minęło ładnych parę lat - niech sprawdzę: Sześć. Czas leci...).

    Kaz - wielkie dzięki! Włączony komentarz wyczerpująco opisuje o co tak naprawdę chodzi. Dodam tylko, że obecnie rozwijany wariant tej platformy (w odróżnieniu od pierwszej) jest nastawiony na możliwie wysoką zgodność z A8 - to będzie naszym punktem wyjścia.

    Dlaczego? Po co? Myślę, że materiał który zostanie "uruchomiony" w piątkowy wieczór, rozwieje wątpliwości.

    (Mały spoiler: Atari IoT? A dlaczego nie?)

    [Mój błąd - nie usunąłem komunikatu OSD z grabbera ("No signal"), ale jest OK - buduje napięcie ;) ]
    • 43:
       
      CommentAuthorKaz
    • CommentTime26 Jan 2024
     
    Tak, celowo zostawiłem ten No signal, bo informuje też, że to z grabbera, a nie jakaś pecetowa emulacja :)
    • 44:
       
      CommentAuthorjhusak
    • CommentTime26 Jan 2024 zmieniony
     
    Kurczę, będę z mocnym poźlizgiem. Szkoda, ale będę gdzieś od 22:30 oglądał na 2 ekrany, jeden x2 a jeden na bieżąco :) Jak jeszcze będzie spotkanie lecieć :)
    • 45:
       
      CommentAuthorgienekp
    • CommentTime26 Jan 2024
     
    Bardzo ciekawy materiał.
    Od razu przyszedł mi do głowy pomysł i w związku tym pytanie. Jak bardzo można popędzić ten 6502? I czy dałoby się powiesić taki 6502 jako DRUGI (albo kilka takich) na złączu carta? Ten "bajerancki 6502" leciałby na własnej pamięci ale sam kod mógłby być współdzielony na zakresie pamięci carta. Po prostu staruszek mówiłby "zrób mi to 100x szybciej". :)

    Stare dopieszczone procedury dostałyby nowego życia wciąż bazując na obecnych narzędziach.
    • 46: CommentAuthortebe
    • CommentTime27 Jan 2024
     
    Weronika
    • 47:
       
      CommentAuthorgienekp
    • CommentTime27 Jan 2024
     
    Przepatrzyłem opis Weroniki i parę spraw mi tam nie gra. Natomiast przy tym rozwiązaniu wydaje mi się, że dodatkowe procki wirtualne w FPGA mogłyby polecieć na kilkaset MHz. A że są zgodne z 6502 to można im normalnie budować kod np. MADsem.
    Przy tej architekturze, 4 rdzenie w FPGA będą niewiele więcej zajmować w stosunku do 1 rdzenia. Rdzenie mogę być taktowane naprzemiennie.
    Pamięć współdzielona na obszarze $A000-$BFFF spokojnie może być OnChip_RAM, czyli w FPGA. Z dwoma magistralami. Jedna w stronę ATARI druga dla wirtualnych procków.
    Gdyby jeszcze dać dodatkowe okienko z carta $8000-$9FFF, to te procki wirtualne mogą malować linite, "robić blitera", liczyć sinusy. Wszystko kodem 6502, łatwo testowalnym. Bo robię zwykły XEX w MADS na adres np. $A000. Jedyna różnica to zamiast wpuszczać na ten adres atarowski procek to daje się wyżyć wirtualnemu 6502.
    • 48: CommentAuthorthewasp
    • CommentTime27 Jan 2024
     
    Maksymalna częstotliwość pracy procesora wynika z czasu stabilizacji określonych sygnałów, a ten jest sumą tAcc (opóźnienia związanego z dostępem do pamięci) i czasu propagacji przez ścieżki asynchroniczne. Należy to połączyć z typem układu programowalnego. W wariantach "high performance" praca przy 30-40 MHz (wyżej nie sprawdzałem, nie miałem takiej potrzeby) nie stanowi problemu. Pisząc "high performance" nie mam na myśli jakiejś "kosmicznej technologii" - po prostu układy FPGA różnią się między sobą i jak to zwykle bywa, mamy "coś za coś" - układ low power pozwoli na sensowne zasilanie bateryjne, ale softcore'owa architektura będzie mniej wydajna, niż w przypadku układów, w których oszczędność energii nie jest cechą zasadniczą.
    • 49:
       
      CommentAuthorgienekp
    • CommentTime27 Jan 2024
     
    @thewasp
    czy możesz przekompilować sam hardware 6502 na Quartusie dla Intela(Altery)_10M08SAE144 i zerknąć jaką pokazuje max częstotliwość?
    • 50: CommentAuthortebe
    • CommentTime27 Jan 2024