Ponieważ jakiś czas temu wpadły mi w ręce używane kości CPLD postanowiłem zrobić z nich użytek i postanowiłem że posłużą mi do nauki programowania w Verilog.  Po pierwszych sukcesach  nabrałem ochoty na coś „ambitniejszego”. Inspiracją był artykuł Naszego Kolegi http://hardware.atari8.info/freddie.php oraz mój uszkodzony  Atari 65XE. Tak powstał Freddie w wersji CPLD.

Do pracy użyłem układu testowego który to Pasiu zaproponował w swoim opracowaniu, tyle że z jedna zmianą (moje dwa uszkodzone Freddie mają linie A8 w innym miejscu niż wynika to ze schematu komputera oraz artykułu np. Wikipedi– prawdopodobnie posiadam wersje które potrafią również prawidłowo obsłużyć 16KB pamięci w komputerach Atari).  Zajęło mi chwilkę czasu zanim się zorientowałem ale się udało.
Opis, założenia:
1. Tak jak pisałem wcześniej do opisania struktury użyłem języka Verilog.
2. Do synchronizacji używam wyłącznie opadającego zbocza sygnału Phi2. Podjąłem też próby użycia obu zboczy tego sygnału ale zbocze narastając jest tak „rozwleczone” że nie nadaje się do niczego jeśli chodzi o CPLD.
3. Pierwsza wersja jaką napisałem „rozpoczynała” swoją pracę od pierwszego opadającego zbocza sygnału CLK. Działa ale uważam że nieprawidłowo (Problemy pojawiały się przy zamianie procesora). Spowodowane było to tym że procesor 6502c i układ generowania sygnału Phi2 dla procesora 65c816 wprowadzają różne opóźnienia dla sygnału zegara.
    Dlatego teraz pracuje nad wersją która będzie działała tak jak oryginał, czyli rozpoczynała pracę od pierwszego zbocza (opadającego lub narastającego) po opadającym Phi2.
4. Tymczasowo dla uproszczenia testów linie adresowe zdefiniowałem tak jak podaję Wikipedia ale docelowo spróbuje zrobić tak aby CPLD prawidłowo obsługiwała również 16KB pamięci.
5. Pomimo że sygnał RESET doprowadziłem do struktury to do niczego go w chwili obecnej nie wykorzystuje


PS. Chwilowo jestem na dłuższym wyjeździe i nie mogę dalej bawić się układem ale jak wrócę do domu i znajdę chwilkę postaram się opublikować kody źródłowe na githubie.

Post's attachments

20190519_130613.jpg 195.98 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

2

Usilnie czekamy także na POKEYa, szczególnie w wersji stereo od razu. Ten by się chyba bardziej przydał ;)
Ale szacunek i za Fredka. Dobra robota.

Sikor umarł...

3 Ostatnio edytowany przez tOri (2019-05-20 17:58:06)

Cześć,

Super, że Ci się chciało i że się udało. Kolega Sikor może odrobinę przesadza - na początek może pojedynczy POKEY a potem GTIA, ANTIC i w końcu A8 FPGA ;-)

Pozdrawiam

P.S. http://www.atari.org.pl/forum/viewtopic.php?id=10868; rzuć okiem na schemat. Może pomoże Ci prawidłowym kodowaniu. Układ kol. Simiusa działa bezbłędnie.

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

4

Sikor, stereo Pokey w wersji FPGA był już przedstawiony na Silly Venture 2018 jako PokeyMAX. Teraz tylko czekamy na wersję produkcyjną.

5

ZuluGula, tylko ten Pokey, o którym piszesz, będzie kosztował wielokrotność normalnego Pokeya, przekracza też mocno wartość całej płyty Atari nawet licząc ją po kosmicznych cenach z allegro. Czyli jak dla mnie to tak jak by go nie było.

6

Mq, prototyp PokeyMAX był sprzedawany po 35 euro. Plytka stereo jest po 16 euro. Jak wiesz gdzie mogę dostać dwa Pokey'e za mniej niż 20 euro, to wyślij mi PW.

7

krystian77 napisał/a:

Ponieważ jakiś czas temu wpadły mi w ręce używane kości CPLD postanowiłem zrobić z nich użytek i postanowiłem że posłużą mi do nauki programowania w Verilog.

fajny pomysł. które CPLD użyłeś?

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

8 Ostatnio edytowany przez Mq (2019-05-20 19:08:24)

Pamiętałem tą cenę 35EUR właśnie i dla mnie to kosmos, bo w złotówkach to 150zł. Jeżeli układ stereo kosztuje 16EUR, to trochę zmienia postać rzeczy, bo wychodzi 70zł. Dla mnie jednak jest to jednak nadal sporo, bo jak doliczymy do tego przesyłkę z zachodu do Polski, to przekroczymy stówę, a za to mamy tylko zamiennik udający oryginalnego Pokeya. Podkreślam to, dlatego że nie wiemy i nigdy nie będziemy wiedzieć na ile jest on wiernym odpowiednikiem. Zamiennik powinien być tańszy niż oryginał - upieram się przy tym, bo w takiej sytuacji wolę do posiadanej płyty dokupić oryginalnego Pokeya. Nie odpowiem Ci na pytanie o konkretne źródło, bo wszyscy wiemy, że takowego nie ma - ale dla mnie uszkodzona płyta główna (cała płyta), z której można wyciągnąć Pokeya jest warta maksymalnie 50-70zł, a mam jeszcze wtedy kilka innych scalaków na podmianki i Pokeya w oryginale. Takie jest moje zdanie, sam kupuję różne uszkodzone kompy, płyty w cenie złomu, i nie widzę problemu z pozyskaniem oryginalnych scalaków do własnych potrzeb takimi drogami.

Edit: sorry za zaśmiecanie tematu - oczywiście doceniam autora za pomysł i wykonanie Freda:-)

9

Cyprian napisał/a:

fajny pomysł. które CPLD użyłeś?

W pierwszej wersji CPLD miał być obok gniazda Ferdka. Ale na siłę szukałem sposobu zmieszczenia CPLD w obrysie podstawki DIP40. Długo kombinowałem jak to upchnąć ale się udało. Ale wymusiło to zastosowanie Xilinx XC9536XL. Ale wybór tego układu wiąże się z pewnymi konsekwencjami, o czym niżej. 

toriman1 napisał/a:

Układ kol. Simiusa działa bezbłędnie.

Znam ten projekt i tam kol. Simius wyprowadził "na zewnątrz" dodatkowe sygnały. Ja początkowo chciałem zachować 100% zgodność z oryginałem ale niestety wymuszony rozmiarami wybór układu ograniczył mi pole do wyłącznie 34 pinów. Dlatego niestety nogi 6, 7 i 36 pozostają niepodłączone. W oryginale były to odpowiednio sygnały /LE, /OE i /16K_CAS. Niestety nawet gdybym w jakiś sposób wygenerował sygnały /OE i /LE to i tak pewnie pozostały by bezużyteczne a na pewno i tak nie miał bym sposobu aby je sprawdzić. Sygnał /16K_CAS jestem w stanie poprawnie wygenerować (łącznie z poprawnym adresem co chcę jeszcze poprawić) ale z tego co kojarzę to i tak w żadnym Atari ten sygnał nie ma żadnego zastosowania.

W projekcie Simiusa na wspomnianych wyprowadzenia są dodatkowe sygnały. Sam MPY jest dla mnie jasny ale nie rozgryzłem zastosowania tych dwóch pozostałych (rozumiem że chodzi o coś związane z odświeżaniem).
Ponieważ mam sygnał Reset doprowadzony do struktury to podobnie jak Simius użyje go do resetowania zatrzasków sygnału /Cas_Inh i W (zgodnie z tym co przewiduje datasheet Ferdka).

PS. Jeśli chodzi o wspomniane przez mnie odświeżanie pamięci DRAM w Atari to trochę na tą chwilę brakuje mi pewności co do moje wiedzy/ podejrzeń ale chodzi mi po głowie pewien problem ale zanim zapytam to muszę coś sprawdzić.

10

qf44 masz w tych samych wymiarach co vq64, dodatkowo masz jeszcze uklady serii atf150x w obudowie tq44 która się tam bez problemu zmieści, masz też układy z serii mach xo2 w obudowach qfn32 - 5x5mm - z tym, że musiałbyś być sprytny i dać coś na zewnątrz, układy te już nie lubią 5V
16k_cas jest potrzebny jedynie w atari 600, ale nie ma żadnej płyty atari 600 z fredem na pokładzie - przynajmniej żadnej takiej nie widziałem, OE i LE jeśli dobrze pamiętam  służą do podłączenia zewnętrznego rejestru do zarządzania pamięcią (portb) i też nie znam konstrukcji która by z nich korzystała
a z verilogiem uważaj - łyka wszystko jak młody pelikan i ciężko później znaleźć błędy w logice

przechodze na tumiwisizm

11

Nieźle wszystko rozmieściłeś. Czekamy na finalną wersję :)

12

bardzo fajnie - tyle ze freddy w atari nie jest do konca potrzebny.. sramy sa tanie jak barszcz,  a jak juz takiemu pacjentowi zaplikujesz sram to wystarczy zegar podzielic na 4. ot takie moje dywagacje:

https://lotharek.pl/productdetail.php?id=232 - sram
https://lotharek.pl/productdetail.php?id=233 - freddy

a jak juz jest vbxe to obecnosc freddiego staje sie zbedna,  jak Jarek na manifestacji KODu.

serdecznie proszę o maile na lotharek@lotharek.pl z tematem ATARIAREA - inne formy komunikacji zawodzą...
"The worth of all people is dependent on how they spend their life making contributions" - Kano Jigoro
FKMC /Fan Klub Malej Czarnej/   @Grey

13

Tak mi się tylko nasunęło, to uzupełnię, żeby ktoś nie pomyślał, że na serio Freddie jest niepotrzebny, bo to stwierdzenie jest bardzo naciągane, żeby nie powiedzieć że w gruncie rzeczy to co mówi lotharek jest nieprawdą. Freddie nie jest bowiem tak do końca zbędny.

Pamięć SRAM jest spoko, ale w taki sposób jak podał wywalić sobie Freddiego, można tylko w bardzo wąsko określonych krytycznych warunkach konfiguracji, gdzie pogodzimy się z poważnymi ograniczeniami konfiguracyjnymi i niemożnością używania wielu rzeczy.
A konkretnie problem jest taki: w takiej konfiguracji gdzie pozbywamy się Fredka, nie będzie możliwości zainstalować żadnego rozszerzenia pamięci z epoki, nie da się zrobić 130XE, nie będzie też można zainstalować współczesnych rozszerzeń na bazie SIMMexp, czy Satantronic itp., nie zadziałają nam też zewnętrzne rozszerzenia pamięci wpinane na szynie PBI czy CART+ECI. Idąc dalej nie odpalimy również kartridża testowego, który posiada zewnętrzną pamięć RAM do przetestowania naszego Atari. Krótko mówiąc pozbywając się Freddiego całkiem nieźle się kastrujemy z szerokiego wachlarza możliwości i w zasadzie zostajemy skazani na jedyne rozszerzenie RAM jakim jest Ultimate 1MB - być może należało by o tym w pierwszej kolejności nadmienić, a dopiero w drugiej jarać się pomysłem, że Freddie jest niepotrzebny. Myślę, że w większości komputerów jednak bez Freddiego się nie obejdziemy (lub ewentualnie zamiennika Simiusa, czy też dobrze zapowiadającego się projektu z niniejszego wątku).

14

czy zaproponowany zamiennik obsluguje MAPRAM ?

http://atari.pl/hsc/ad.php?i=1.

15

@xxl: czy ktoś oprócz ciebie korzysta z mapRAM?

Sikor umarł...

16 Ostatnio edytowany przez krystian77 (2019-05-29 12:56:05)

xxl napisał/a:

czy zaproponowany zamiennik obsluguje MAPRAM ?

Jeśli dalsze testy potwierdzą że jestem w stanie obyć się bez sygnału Reset (jak dotąd działa bez) to pozostanie mi jedno wolne wejście do wykorzystania. Myślę że w Xilinxe funkcjonalność MAPRAM jeszcze się spokojnie zmieści bo jest miejsce. Tylko musiał bym dodać 74HCT02  aby dodać PB0 i PB7 ale to nie problem.
Dzięki za podrzucenie pomysłu.

17

Sikor napisał/a:

@xxl: czy ktoś oprócz ciebie korzysta z mapRAM?

This forum needs a 'like' button. :)

18 Ostatnio edytowany przez krystian77 (2020-01-29 09:56:30)

barty79 napisał/a:

Nieźle wszystko rozmieściłeś. Czekamy na finalną wersję :)

Pomimo braku czasu to jednak dzięki namowom jednego z kolegów (Jaro124) postanowiłem dokończyć projekt.
W załączeniu zdjęcie wersji finalnej. Układ z uwagi na moje ograniczenia sprzętowe został z powodzeniem przetestowany w tylko płytach 130XE (1bitowe pamięci) oraz 65XE. Na dalsze testy układ zostanie przesłany do wspomnianego kolegi.

xxl napisał/a:

czy zaproponowany zamiennik obsluguje MAPRAM ?

Dla podstawowego działania wystarczy zamiennik umieścić w miejscu oryginalnego układu.
Dodatkowo zgodnie z sugestią kolegi przewidziałem funkcjonalność MapRam. W tym celu należy oprócz podstawowych układów dodatkowo dolutować w miejscu przewidzianym po drugiej stronie PCB układ 74LS02 oraz doprowadzić wymagane sygnały do pozostawionych na PCB punktów lutowniczych (PB7, PB0,PB5 i PB4). Test sprawności wykonałem przy użyciu programu CTEST.OBX.

Dla własnych/przyszłych zastosowań na PCB pozostawiłem punkty lutownicze dla sygnałów 14Mhz, ExtSel i CasInh oraz miejsce na jeszcze jeden układ TTL 74LS74.

Post's attachments

freddiev2.jpg 1.39 mb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

19

@xxl: Atari nie chciało MapRAMu...
@Krystian77: nie ma załącznika, możesz dodać?  I zasadnicze pytanie: ile i dlaczego tak drogo? ;)

Sikor umarł...

20

Sikor napisał/a:

@xxl: Atari nie chciało MapRAMu...
@Krystian77: nie ma załącznika, możesz dodać?  I zasadnicze pytanie: ile i dlaczego tak drogo? ;)

Dodałem załącznik.Mam nadzieję że teraz będzie ok.
Co do ceny to się jeszcze nie zastanawiałem, zanim pomyślę o dystrybucji chciałbym mieć przynajmniej jedno potwierdzenie od niezależnego testera. Nie posiadam np. 800XL aby przetestować płytę, choć zależy mi przede wszystkim na potwierdzeniu poprawnej pracy z różnymi wersjami obwodów rezonatorów 14Mhz stosowanych przez Atari.
Głównym czynnikiem mającym wpływ na cenę jest cena samego XC9536XL. Ja miałem używane ale z tego co widzę cena tego układu na rynku to kilkanaście złotych. Też cena zależy od wielkości zamówienia PCB.  Sumując to oraz tzw. drobnicę i mój czas to cena max 50 PLN za gotowy układ, choć myślę że przy większym zamówieniu PCB to cenę dało by się jeszcze obniżyć.

21

Bardzo bym zanabył jeden zamiennik FREDa... lub dwie FREDki

1. pancio.net x2

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

22

1. pancio.net x2
2. Sikor x1(lub x2 - w zależności od docelowej ceny)

Sikor umarł...

23

uprasza się o pilne zebranie synodu inkwizycyjnego w celu zbadania świętości tego rozwiązania ;)

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

24

świętojebliwo*ć mnie nie interesuje ;) Ma działać ;P

Sikor umarł...

25

Hehe:-) Silnik forum ocenzurował literkę "ś":-)

U Chińczyków są XC9536XL do dostania po około 3-5zł.