forum speccy.pl
ZX Spectrum => WSPÓŁCZESNE KLONY => Wątek zaczęty przez: KWF w 2018.02.12, 08:59:05
-
Właśnie dostałem pliki do produkcji płytki Maxa128K od "Superfo". Ktoś chętny pociągnąć temat?
Wszystkie pliki i schemat powinny znaleźć się na wiki do końca dnia.
-
Fajnie, że pojawiło się 128k
Chwilowo nie ma się co spieszyć. Chińczycy od 14 lutego świętują nowy rok i co najmniej do 22 lutego nie ma sensu niczego zamawiać.
Większość płytkarni ma takie komunikaty na swoich stronach. A pewnie i po świętach będą poślizgi.
-
Moge zamówić ale jak Skoti pisze, mamy Nowy Rok ;)
-
Wiki uzupełnione: http://speccy.pl/wiki/index.php?title=ZX_Max_128 (http://speccy.pl/wiki/index.php?title=ZX_Max_128)
-
Ja można, to ja się piszę na sztukę.
-
Ja na bazie MAX 128 w ramach zabawy i nauki przerysowuję płytkę pod siebie.
Wymiarami i rozkładem złączy nie będzie pasowała do żadnej dostępnej obudowy ;)
-
Silenter prosił, w załączniku obudowa do Maxa do wydruku, wymaga poprawek ale ja nie mam czasu, może ktoś to pociągnie dalej.
Projekt w Google Sketchup
-Otwory na zasilanie i video są troche przesunięte
-buda robiona pod płytke klawiatury z mikroswitchami
-otwory od spodu obudowy tez sa lekko przesunięte
-nie brałem pod uwage radiatora wiec nie ma miejsca.
-trzeba to dopasowac pod te membrany, nalepki id Klaudiusza.
Wydruk , rozdzielczosc 0.14 , max wypełnienie, max quality, materiał Z-HIPS , orientacyjny czas u mnie to około 12 godzin spód, plus 2-3 godzinki gora.
-
Przez chwilę chciałem zapisać się na 1 sztukę ZX Max-a 128, ale pomyślałem że w tym tempie to do końca roku będzie ZX Max 4MB, IDE i FDD, więc poczekam :P
Jak jednak znajda się chętni minimum 5 to mogę pociągnąć temat PCB, z tym że tym razem wpierw zbiórka i wpłaty. Jak by co to można pisać.
-
Nic nie pisałem, ale mam też ZX Nuvo48K ;) W skrócie ZXMax48K i2 z DivMMC a PCB pasuje do budy Speccy.
-
To pokaż co tam masz w nowym wątku może na ten się skuszę.
-
No nie wiem, jakoś osobiście nie przepadam za klonami z wbudowanym DivMMC.
Niby da się wyłączyć, ale nie do końca wszystkie peryferia chcą pracować poprawnie.
Natomiast, dla typowego "usera" chcącego sobie przypomnieć gierki i oglądać demka, jak znalazł.
-
Przeglądam schemat i zauważyłem , że sygnały BUSRQ, WAIT, RFSH nie są wyprowadzone na złącze krawędziowe.
Zresztą w MAX 48 jest tak samo. To celowo, pomyłka czy może interfejsy nie korzystają z tych sygnałów i w niczym to nie przeszkadza ?
-
Silenter prosił, w załączniku obudowa do Maxa do wydruku, wymaga poprawek ale ja nie mam czasu, może ktoś to pociągnie dalej.
Projekt w Google Sketchup
Ja w tej chwili ogarniam jeszcze technologię druku 3D.
Mam istotne postępy w jakości i wiedzy.
W tej chwili obudowa do MAXa jest za duża do wydruku na mojej drukarce, ale wygląda na to, że bez problemu będę mógł powiększyć maksymalne wymiary wydruku o co najmniej kilka centymetrów w każda stronę. Potem dopasuję wydruk do płytki MAXa
-
Przeglądam schemat i zauważyłem , że sygnały BUSRQ, WAIT, RFSH nie są wyprowadzone na złącze krawędziowe.
Zresztą w MAX 48 jest tak samo. To celowo, pomyłka czy może interfejsy nie korzystają z tych sygnałów i w niczym to nie przeszkadza ?
Mało który ich używa, to fakt. Ale to nie powód, by naruszać zgodność z oryginałem, przynajmniej takie jest moje zdanie.
-
Przeglądam schemat i zauważyłem , że sygnały BUSRQ, WAIT, RFSH nie są wyprowadzone na złącze krawędziowe.
Zresztą w MAX 48 jest tak samo. To celowo, pomyłka czy może interfejsy nie korzystają z tych sygnałów i w niczym to nie przeszkadza ?
/RFSH służy do odświeżania dynamicznych układów RAM (linia prosto z Z80). Większość interfejsów używa pamięci statycznych. Potrzebny byłby do zewnętrznego rozszerzenia pamięci na układach DRAM. Poza tym w płytach ZX Spectrum w wersji 6A tego sygnału też nie ma na złączu krawędziowym.
/WAIT jest używany do wstrzymywania Z80 ale w ZX Spectrum ULA generuje takty zegarowe dla procesora i w ten sposób kontroluje pracę CPU.
/BUSRQ ma wyższy priorytet niż /NMI ale czy w rzeczywistości był kiedykolwiek wykorzystany w ZX Spectrum, nie mam pojęcia.
Hmm z tego co widzę na schemacie Maxa 48 i 128 wszystkie te sygnały są wyprowadzone na złącze.
-
Hmm, no nie do końca.
/RFSH jest tylko linią informacyjną, że odbywa się cykl odświeżania, czyli "fałszywego" dostępu do pamięci (procesor podaje tylko połówkę adresu, a konkretniej - 7 bitów, a dane D0..D7 są całkowicie nieistotne). Jedynym odbiorcą tego sygnału w ZX Spectrum jest ULA, a pamięciom DRAM nie jest on absolutnie do szczęścia potrzebny. Nie znam absolutnie żadnego interfejsu, który by korzystał z tego sygnału.
/WAIT jest wejściem wymuszającym wstawienie dodatkowych cykli zegara CPU w trakcie dostępu do pamięci lub I/O. Nie tyle jest to więc wstrzymywanie procesora, co wydłużanie wykonywania poszczególnych instrukcji. Linia ta jest używana przede wszystkim przez modne niegdyś spowalniacze, ułatwiające przechodzenie zbyt dynamicznych gier. Były też inne interfejsy, np. Interface 1.
/BUSRQ jest linią żądania zwolnienia przez CPU całej szyny, nie jest to przerwanie (nie następuje załadowanie PC jakąś inną wartością). Szyna może być wtedy używana przez inny kontroler, w szczególności DMA lub inny CPU. Przykładem interfejsu, wykorzystującego tę linię jest velesoftowy MB02 (DMA).
Tak więc dobrze, by te dwa ostatnie sygnały jednak były na złączu...
-
Dzięki Jacku.
Do wiki dodałem mapowanie klawiatury ZX81.
-
Hmm z tego co widzę na schemacie Maxa 48 i 128 wszystkie te sygnały są wyprowadzone na złącze.
Fakt na złączu są opisane ale brakuje etykiet sieci przy Z80 dla BUSRQ i WAIT. Natomiast sygnał REFRESH nazywa się REFSH przy Z80 a na złączu RFSH.
trojacek wielkie dzięki za wyjaśnienie :)
-
Uaktualniony schemat i projekt płytki są na wiki (http://speccy.pl/wiki/index.php?title=ZX_Max_128).
-
Hmm, przerobiłem mojego maxa 48 ale z pamieciami AS6C1008 nie bardzo mu po drodze.... Kwarc 14 wsad 14 pamiec 55ns
-
Don wspominał, że kość z ROMem musi być wolna, bardzo wolna, najlepiej 200ns.
-
Rom wstawiłem od 128, orginalny
-
Mam kilka sztuk HM628128, ale nie za bardzo czas, aby bawić się w tę przeróbkę. Dam znać Donowi.
-
Wlasnie przyszly HM628128 , wstawiłem i jest ok, jak na razie. Musze jeszcze kwarca zorganizować.
-
Więc jednak pamięci.
-
Niby polski sklep, zachciało mi się być patriotą - dam zarobić swoim, nie Chińczykom. No i dostałem, zamiast zgodnie z opisem 628128 - AS6c1008.
celtor
No cóż.
-
Dostałeś co mieli na magazynie 128K x 8bit :D
-
Ok, kwarc zmieniony, wsad załadowany, Max 48 smiga jako 128 ;)
-
Czas na wewnętrzne MMC ;)
-
A to już Don niech upycha w alterze ;)
-
Nie ma szans, brak wolnych zasobów.
-
Też bym się na 1 sztukę pisał.
-
Ktoś podejmie się zamówienia płytek?
-
Moge ja , i tak jutro wysylam zamowienie ze swoimi wiec moge i te dopisac.
-
Dla mnie dwie proszę, kolor dowolny ale najlepiej zielony, w końcu wiosna za pasem.
-
Ja na bazie Max 128 wyprodukowałem coś takiego.
-
skoti: pozbyłbym się AD724. Można bez niego żyć. Dodatkowo odpadnie też generator 4.43MHz. I chyba warto założyć nowy wątek o Twoim klonie.
-
Jeszcze tylko złączki folii klawiatury w naturalnych miejscach i będzie pasować do standardowej obudowy.
Lepiej zostawić AD724, zawsze można nie obsadzać elementami, a czasami się przydaje takie wyjście po jednym kabelku.
-
Aby było po spectrumowemu, reset na lewa stronę, wyprowadzić jakiego "dip switcha" krawedź aby przełączać banki ROMu bez otwierania budy. Jakiś głośniczek też mógłby być. Hehe, zaczyna robić się lista życzeń ;)
-
Podoba mi się! Ale z pomysłami Klauda i marianssssa - koniecznie.
-
Dobra wyprowadzam się do nowego wątku żeby tu nie mieszać. Tam będzie więcej info.
-
Jednak zamowilem sobie plytke do Maxa128K. Nie mam w czym testowac wsadow do Altery, a wypadaloby miec cos pod reka. Sa wolne 4 sztuki, jakby ktos chcial. Info na priv jak cos.
-
Będzie nowszy wsad do Altery, aby rozwiązać problem śmieci na ekranie w przypadku niektórych gier i dem. Nowy wsad wymaga układu z większą ilością nóżek, oraz dodatkowych podłączeń do szyny danych Z80.
Projekt przejściówki z PLCC84 do QFP100 do Maxa128K na ukończeniu.
-
LOL ;)
-
Nowy wsad wymaga układu z większą ilością nóżek
...i tak jak wszyscy dotąd polowali na wersję PLCC84, tak będą te układy wkrótce sprzedawać w "bazarze" ;)
-
A śmiejście się, śmiejście lożo szyderców :P Nowy wsad będzie miał możliwość przełączanie pomiędzy timingami 48K a 128K :)
-
Klaudiusz, Oj daj spokoj, to typowa dekadencja, dodawac rzeczy ktore są kompletnie do niczego nie potrzebne do produktu ktory nie działa jak trzeba.
-
Oj tam, oj tam. W przypadku Microsoftu ta strategia działała zawsze wyśmienicie, a proszę, jaka firma bogata ;)
-
No tu raczej bardziej Apple smierdzi. To nie bug to feature ;) i stado fanboyow ktorzy nie przyjmują do wiadomości ze to po prostu nie działa za to dolutowywują rezystory, zakładają czapki z foli aluminiowej itp.
-
Phi, psy szczekają, a karawana jedzie dalej. :P Doprowadzamy projekt do końca, aby miał ręce i nogi. Owszem można byłoby go teraz porzucić i powiedzieć dość.
Problem został zdiagnozowany, wiadomo co nie działa w tym wsadzie, jak powinno. A co do dobrej tradycji łatnia, chyba zaczął ją, na polu ZXa, Sinclair Research dodając płytkę, aby poprawić babola w operacjach arytmetycznych procedur ROMu w ZX81. Następnie poszło już z górki, "zdechły karaluch" w Speccy, "pajączek z tranzystora" na Z80 w Speccy (który nawet jest na płycie issue 6). Babol z PALu w 128K, problem z "floating bus" w +2A/+3 ratowany rezystorem, czy problemy z pamięciami w +2A/+3 ratowane kondensatorami.
-
Pewnie ;) Kolejne układy, kolejne płytki ;) Ktos sie uczy laczyc uklady programowalne z resztą i teoria z praktyką mu sie rozjezdza bo tu bierze EPM a potem kaze dolaczyc do tego eproma 120 ns albo pamieci o ktorych najstarsi chinczycy na Ali expres nie pamietają.
-
Projekt przejściówki z PLCC84 do QFP100 do Maxa128K na ukończeniu.
O! I to jest dobra wiadomość. Dobrze rozumiem, że w Maxiu rev. 2 zmodowanym do 128, dzięki tej przeróbce będzie można stosować nowoczesne pamięci?
Artur.
-
LOL
-
LOL
Ok.
Pozdrawiam serdecznie, Artur.
-
No i kolejny sie obraził zamiast załapać że to nie zadziała mimo wiary i checi . Nowoczesne pamieci ? Jakiego typu? W maxie sa stosowane 10 lat temu ;) Nowoczesnych odpowiednikow brak ;)
-
Aby było nowocześnie należałoby przejść na logikę 3.3V i niżej oraz porzucić fizycznego Z80.
-
Jeżeli ktoś mógłby sprawdzić, czy nadal są śmieci w Robocopie na załączonym wsadzie, będę zobowiązany.
-
Albo 2,5V, albo 1,8V, bo w sumie wszystkie współczesne technologie "schodzą" coraz niżej.
Tyle, że wtedy zaczyna się robić coś mało zgodnego ze starymi klamotami - bo już na przykład nie wepnie się interfejsów, z braku złącza krawędziowego na 5V.
Moim zdaniem wszystkie rozwiązania używające starych technologii mają w sobie jakąś wartość dodaną. Właśnie dlatego, że działają na 5V - czy to będzie pięciowoltowa Altera, czy też tolerujący 5V Xilinx. Dlatego dobrze, że coś się dzieje, powstają nowe wsady, nowe wersje, a ich autorzy uczą się tych starych chipów ku uciesze nas wszystkich :)
-
Źle się wyraziłem. Miałem na myśli problem ze współpracą z szybkimi 55ns pamięciami. A co do obrażenia się - jestem bardzo daleki od tego.
Jeśli eksperyment się powiedzie, i będzie taka możliwość, chętnie bym zakupił płytkę, fajnie byłoby w końcu mieć klona ZX 128 do czochrania z dziećmi.
Artur.
-
Na razie wrzuciłem nowszy wsad (1.1a) do istniejącej płytki 3 posty wyżej. Można go przeczesać Robocopem i demami.
A do czochrania .... weź JustSpeccy :P
-
@Klaud tak trzymaj. Zastanawia mnie tylko kiedy ty masz czas na to wszystko. No chyba że masz w pracy możliwość coś tworzyć, bo inaczej to sobie nie wyobrażam.
Pozdrawiam
-
Zastanawia mnie tylko kiedy ty masz czas na to wszystko. No chyba że masz w pracy możliwość coś tworzyć, bo inaczej to sobie nie wyobrażam.
Godzinę pociągiem do pracy i godzinę pociągiem z pracy. Trzeba czymś zająć się w międzyczasie. Mam ten luksus, że mnie wiozą, a nie muszę sam powozić :D
-
Dwie godziny i to przez cały rok 8) Ale tylko na projektowanie. Chyba niczego nie lutujesz w pociągu ? :o
-
Może komuś przydadzą się dwa programy do testowania timingów.
-
Wsad gotowy, przejściówka w sumie też. Będzie ona montowana zmaiast podstawki PLCC, dodatkowo 5 podłączeń do szyny danych procesora oraz zamontować przełącznik pomiędzy timingami 48K a 128K.
Zostało jeszcze raz sprawdzić połączenia i będzie można ją zamówić.
-
Super. Miejmy nadzieję, że to rozwiąże problem. Klaud sprawdź dokładnie footprint plcc84. U mnie w kicadzie biblioteka była skopana i miała
poprzesuwaną numerację pinów.
-
Przepraszam panowie. Składam samokrytyke ;) Po prostu zapomniałem przy skłądaniu kolejnego i kolejnego fejsu że to może być swietna zabawa i edukacja. Troche wam zazdroszcze. U mnie sie to jakos wypaliło i zrobiłem sie zgryźliwym starym dziadem ...
-
Zaxon, nie ma sprawy. Twoje publiczne samoubiczowanie przyjęte ;)
Dobra, zamówiłem 5 sztuk to testów. Mam też kilka tych Alter, może coś z tego będzie, albo i nie.
-
Adapterki w drodze.
-
Masz może informacje o tym czy MAXy w obudowie QFP100 częściej bywają sprawne niż PLCC84?
-
Nie mam pojęcia. Pewnie taka sama loteria na Dalekim Wschodzie. Mam kilka sztuk i zobaczymy co z tego wyjdzie. Na razie nie spiesz się z zamawianiem Alter.
-
Skoro i tak planujesz przejściówkę - to może się przesiąść na MAX V w opcji 5V np. MAX 5M127OZ
-
Można też przejść na Xilinxa XC95144XL i wywalić '366 oraz upchnąć jakiego MMC w środku. Wybacz, ale mam już dość na głowie, poza tym jestem dzień przed wylotem służbowym i zabawki trafia do pudła prawie na miesiąc.
-
W oczekiwaniu na przejściówkę...
-
Ładne, ładne.
Co tam za przetwornica stoi ?
-
Recom Power R-78E5.0-1.0 albo XP Power TR10S05. Tych dwóch używam zamiennie (do 1A). U mnie one są za ok 15-16zl/szt.
-
Dzięki za namiary. Muszę spróbować wstawić taką do QL-a.
-
Do wiki dodałem schemat przejściówki dla stonogi EPM7128STC100 oraz pierwszą wersję poprawionego wsadu.
ZX Max 128 (http://speccy.pl/wiki/index.php?title=ZX_Max_128)
-
Czy taką płytkę - przejściówkę będzie można nabyć ?
-
Będzie można, kiedy tylko znajdę czas aby ją poskładać i przetestować. Chyba, że chcesz ją w ciemno.
-
Mogę złożyć i przetestować. Ta Altera jest dostępna w Sławmirze za ok 30 pln.
-
Nie jest źle, jeżeli tylko 30zł/szt. no i są dostępne. Ups, mały Zonk ze Sławmirem, minimalne zamówienie: 4 lub 6 szt :(
Swoją drogą mam jej kilka sztuk z Chin, ale pewnie loteria jak zwykle. Co prawda kosztowały aż 3 dolce sztuka.
-
Spróbuję zamówić w firmie, z której brałem układy do ZX UNO 2M.
Też Chińczyk, ale wysyłają z Belgii i jak na razie, to co tam kupiłem było sprawne.
No może oprócz stabilizatorów 1,2V, które dają 3,4V na wyjściu :)
-
No też miałem od nich te stabilizatory ale kupuję od nich dawno i to jedyna wpadka.
Dobrze ,że lutowałem na początku i sprawdziłem napięcia ;)
-
Adapter prawie gotowy z podstawką PLCC84 w tle..
-
... zamówić w firmie...Chińczyk, ale wysyłają z Belgii ...
Dajcie namiary plizz
-
Ja chyba mam pare tych Alter w SMD, kiedys kupowałem do klona tk95 ktory nie doszedł do skutku, poszukam jutro.
-
... do klona tk95, ktory nie doszedł do skutku...
Zaxon, może warto byłoby wrócić do tego klona. Co prawda, robi się dyskusja na nowy wątek.
-
Ja nie, nie mam kiedy, sam widzisz ile na paczke czekasz :o . Zresztą ... mam swoje małpy i swój cyrk skolejkowane już do 2021 roku....
-
Ech. :( Jednak 2 z moich Alter w QFP100 to podróbki. Stoi na nich jak wół: EPM7128SCT100, ale Quartus ma inne zdanie i wykrywa je jako EPM7064S. Jutro odpalę suszarkę i zasadzę inne 2 sztuki.
-
Żeby nie suszyć bez sensu, to kupiłem sobie zamykaną podstawkę QFP100 i podłączam niepewne układy pod programator testowo.
-
Niezły pomysł, dzięki za radę. Zamówiłem sobie dwie takie obudowy, jedna z rastem 0.5mm (qfp100) i jedna 0.8mm (qfp64).
-
Oki, adapterek dotarł ;) Dzieki .Tylko czy ja go moge zasadzic do modowanego na 128 kilo maxa 48 ? Pinout ise zgadza?
-
Musiałbym dokładnie porównać schemat Maxa48 z Maxem128K, ale w obu Altera w PLCC84 ma tak samo przypisane nogi. Jeżeli podejmiesz dodatkowe linie (D0 do D4) i wgrasz wsad 128K_1.2beta1 z wiki, powinien ruszyć. O ile czegoś nie spartolilem przy kompilacji.
Rożnice są na nieużywanych pinach w 48K.
-
Żeby nie suszyć bez sensu, to kupiłem sobie zamykaną podstawkę QFP100 i podłączam niepewne układy pod programator testowo.
Pear - to może jak dotrze moja przesyłka z UTSource to bym Cię odwiedził w celu przetestowania "kostek" (i może odbiorę w końcu te AYgreki :))?
-
Ok, dzieki , jutro powalcze.
-
Żeby nie suszyć bez sensu, to kupiłem sobie zamykaną podstawkę QFP100 i podłączam niepewne układy pod programator testowo.
Pear - to może jak dotrze moja przesyłka z UTSource to bym Cię odwiedził w celu przetestowania "kostek" (i może odbiorę w końcu te AYgreki :))?
Nie widzę przeszkód 8)
-
Zasadziłem, zaprogramowałem . Komuś to ruszyło ? Bo ja mam tylko sieczke na ekranie.
-
Właśnie siedzę i sprawdzam schemat oraz przypisanie pinów do Altery.
Edyta: no i znalazlem pomylke :o, za chwile podlinkuje na wiki poprawiona wersje wsadu.
-
Super :D
-
1.2Beta2 (http://speccy.pl/wiki/index.php?title=ZX_Max_128) jest na wiki
Zaxon: proszę, wrzuć fotkę swojej płytki.
-
Działa ! Pora na testy :) Dzięki
-
No teraz odpala ;)
Z TSFM też ;)
-
No teraz odpala ;)
Ale z dodatkowymi 5 drutami chyba wpiąłeś się w szynę danych za rezystorami, a nie przed. Wepnij się bezpośrednio w szynę danych Z80, a nie szynę danych pamięci obrazu (dolnego RAMu)
Dodałem do wiki, gerbery dla adapterów.
-
Aa, faktycznie. Sie przelutuje :D
-
Specjalnie włożyłem te nieszczęsne kostki HM. A więc po szybkich testach:
Robocop OK
Mescaline OK
Shock OK
Insult OK
Super czyściutko żadnych artefaktów.
Dizzzruptor wiesza się w tym samym miejscu. Taka zagadka.
Zworka 48/128 w tej wersji wsadu powinna działać? Bo zawsze mam timingi 128k.
Jest jakieś demo które szczególnie nie lubi klonów ?
Przydałoby się stworzyć taki set testowy ;)
-
Rzucę okiem na te timingi. Mam prośbę, czy mógłbyś sprawdzić inne kości RAM np. AS6C1008, jeżeli je masz?
-
As6c1008-55
-
Ale to videoram tak bruździ. Jak na video ram obsadze M5M51008AP-70 a drugi zostawie AS6c1008-55 to działa ok na ile moge stwierdzic.
-
Zaxon: podziękował ślicznie.
-
Możliwe, ze będzie dodany tryb Timexa do tej ULA. :)
-
No i nice, ja z kolei odkopałem moje TK-PIE, nawet działa z Maxem, nie wiedziałem że może wyświetlać obrazki w trybie ULA PLUS .Niestety nie wszystko.
-
Możliwe, ze będzie dodany tryb Timexa do tej ULA. :)
O i to jest wiadomość. Klaud dobra robota. Dzięki :)
-
Możliwe, ze będzie dodany tryb Timexa do tej ULA. :)
O i to jest wiadomość. Klaud dobra robota. Dzięki :)
To nie mi te podziękowania, a Donowi. On stoi za tym.
-
Witam
Czy są dostępne źródła edytowalne schematu / PCB. Marzy mi się złożenia, ale z AY8210. Byłoby łatwiej przerysować.
Pozdrawiam Grzesiek
-
Raczej nie.
-
Właśnie się zorientowałem, że obraz jest sporo przesunięty w lewo ;) Może ktoś potwierdzić ?
-
http://www.speccy.pl/forum/index.php?topic=3691.msg66891#msg66891 - ta sprawa była poruszana od tego momentu
-
Dzięki. Jakoś mi to umknęło.
-
Wieszające się demo Dizzzruptor trochę nie dawało mi spokoju. No i ciekawostka, wyciągnięcie AY załatwia temat.
Na AY zewnętrznym wszystko jest OK. Gra i nie zawiesza się.
Wydaje mi się, że wsad do altery ma jakiś problem z generowaniem zegara dla AY. Może ktoś potwierdzić u siebie ?
-
Nie mam ZX Max 128, ale mam pewną teorię :)
Dodanie do Altery obsługi portu mapowania pamięci #7FFD zapoczątkowało problemy z wyświetlaniem czystego obrazu, na co remedium okazało się dodanie zewnętrznego rejestru portu 74xx174 (czyli dokładnie, jak w toastracku i szaraku, gdzie '174 znajduje się poza ULA), "chwytającego" dane wprost z CPU, czyli niezależnie od cyklu wyświetlania obrazu.
W 128K i szarym +2, wszystkie parzyste porty są contended, czyli jak w 48K.
Porty #xxFD (przełączanie RAM, ROM, obsługa AY) są nieparzyste, ale też są contended.
Podejrzewam, że błędem implementacyjnym wkładów 128K do Altery jest zrobienie portów #xxFD jako not contended. W takim przypadku kolizja dostępu do portu #7FFD (który jest zaimplementowany w Alterze) z cyklem odczytu pamięci ekranu wygeneruje jakąś niepożądaną wartość do zapisu w porcie, na dodatek mogą się wyświetlić jakieś śmieci.
Jeśli demo korzysta z wartości odczytywanych z portu AY do zrobienia np. VU-metra i dostanie jakąś wartość spoza zakresu, to pewnie może się zwiesić. Choć raczej w losowych momentach, albo na samym początku próby wyświetlenia wskaźników.
- sam AY jest widoczny jako rejestry niezależne od Altery, więc moje rozumowanie odnośnie potencjalnego wieszania się dem było nieprawidłowe. Myślę dalej :)
-
Dekoder AYka w implementacji dla ZX Maxa (48K i 1280K) zawiera sygnały: A15, A14, A1, A0, /IORQ i /WR. Czyli brak odczytu z portu AYka.
-
Tym gorzej!
Prawdę mówiąc nie rozumiem, po co dłubać coś, co nie jest zgodne z oryginałem. Strata czasu i nerwów, gdy coś nie działa jak powinno.
-
Masz wiedzę, to zamiast peplac po próżnicy i marnować czas na bezsensowne komentarze, napisz dekoder AYka w Verilogu, a dokleje ten "ulepszony" kawałek do tej implementacji.
-
Nie znam Veriloga, mogę Ci jedynie schemat narysować.
-
Schemat mogę sobie narysować sam :) A nawet przepuścić go przez symulator układów logicznych :P. A grzebać w Verilogu nie chce mi się i już.
-
Czyli nie ma szansy na jakiś fix do tego ? Mam już gotową płytę :(
-
Szansa jest, ale z moje strony czasu brak na grzebianie w kodzie Veriloga w tym projekcie.
Jeśli ktoś nudzi się i napisze dekoder AYka (z obsługą odczytu i zapisu) w Verilogu, dokleję do reszty, przekompiluję i wrzucę "na pożacie".
-
To może wrzuć chociaż istniejący fragment kodu obsługi AY?
-
// AY interfacing
assign bdir = (a[15] && aa[1:0]==2'b01 && !iorq_n && !wr_n)? 1'b1 : 1'b0;
assign bc1 = (a[15] && aa[1:0]==2'b01 && a[14] && !iorq_n)? 1'b1 : 1'b0;
A15, A14, A1 i A0 (wektor aa[1:0]) są brane bezpośrednio z linii adresowej procesora.
-
Super, dzięki!
Tak na pierwszy rzut oka, to odczyt z AY powinien działać. Co prawda /RD nie jest uwzględniony, ale wystawienie /IORQ bez aktywnego /WR spowoduje, że bdir = 0 oraz bc1 = 1, a dokładnie o to właśnie chodzi.
-
Niestety programowanie CPLD to dla mnie czarna magia. Fajnie gdyby udało się to poprawić. Maszyna byłaby gotowa ;)
-
Fajne:) Xilinx i dwie Altery (albo jedna Altera i jeden Atmel) na jednej plycie? W tym roku obrodzilo w uklady CPLD :D
A co siedzi w tym malym CPLD obok ukladow Yamahy? Czyzby kontrola TS?
-
dokładnie - to jest sterowanie TSFMem
-
Czyli Atmel ATF150x pewnie.
Niezła menażeria, każdy CPLD z innej stajni :D
-
To akurat jest EPM7032 ale jest zamienny z ATF.
-
Dla mnie CPLD w TSFM to przesada - do tego potrzeba 1/2 7474 i z tego co pamiętam ze 2-3 bramki.
Dla oszczędności miejsca zapakowałbym w 16V8.
-
Do kompletu brakuje Lattice ;)
ATF150x o ile jest w PLCC44 może być stosowany zamiennie z EPM7032 :) nawet są narzędzia do konwersji plików POF do JED. Ale nie sądziłem, że działa to też w drugą stronę.
GAL16V8 jest w cenie EPM7032S :D
-
GAL16V8 jest w cenie EPM7032S :D
Niby tak, ale jest w obudowie THT DIP - przez to jest bardziej retro.
Jednak EPM7032S to nie ta dekada.
Ja do dzisiaj w retro sprzęcie wymieniam żarówki na żarówki a nie na led-y, chociaż czasami muszę się ostro naszukać aby znaleźć odpowiednie zamienniki.
-
To właściwie taki eksperyment ;) Ale wracając do tematu AY to przewaliłem na tym wsadzie dziesiątki dem i wygląda na to, że
gdyby udało się zrobić tą poprawkę to wsad zapewni naprawdę wysoką kompatybilność. Czy ktoś coś mógłby pomóc w temacie.
-
ZX Max 48 Issue 2 ma ten sam problem tylko tam demo wywala się w innym miejscu. Po wyjęciu AY jest OK.
-
Niestety sposobu generowania zegara dla AYka nie zmienię, ponieważ brak zasobów w Alterze :(. Dwa przerzutniki to dwie makrocele extra.
Masz może generator kwarcowy 1.75/1.78MHz lub podobny, aby na próbę podpiąć go zamiast sygnału "clkay"?
-
Niestety sposobu generowania zegara dla AYka nie zmienię, ponieważ brak zasobów w Alterze :(. Dwa przerzutniki to dwie makrocele extra.
Rezygnacja z przełączania timingów 48/128 może coś uratować w kwestii zasobów?
Masz może generator kwarcowy 1.75/1.78MHz lub podobny, aby na próbę podpiąć go zamiast sygnału "clkay"?
Nie mam. Ale podciągnę z zewnętrznego AY. Podejrzewasz jednak problem z zegarem?
-
Odpowiedź na pytanie nr 1: nie, nie uratuje aż tyle zasobów.
Odpowiedź na pytanie nr 2: chcę wyeliminować jednego z podejrzanych.
-
To jednak nie problem z zegarem. Podanie zegara z zewnątrz nie zmienia sytuacji.
-
Tak podejrzewalem, dzięki za potwierdzenie. W takim razie zostaje problem zapisem do i odczytem z portów AYka.
-
Dizzzruptor wiesza się w tym samym miejscu. Taka zagadka.
To demo jest „upierdliwe”, bo już kiedyś było o nim i resecie kompa z niestandardowym AYkiem:
http://www.speccy.pl/forum/index.php?topic=2978.0
-
... tak z ciekawości - czy jest szansa na wsad 1.2 z mapowaniem do klawiatury ZX81?
Mój MAX128 leży biedny nagi, nagusieński - a tak bym go do obudowy wrzucił i do normalnych klawiszy podpiął :P
-
Szansa jest ;) A skoro taki golec leży i ładnie prosisz, znaj moją dobroć :P
wiki ZX Max 128K (http://speccy.pl/wiki/index.php?title=ZX_Max_128)
-
Wasza Wysokość - pochyliłeś się nad bezbronnym golasem i dałeś mu dom - nie będzie Ci zapomniane ;)
Wielkie dzięki Klaud...
-
Rano wrzuciłem na Altere - odpalam i ... kurcze dramat jakiś - nic nie działa jak powinno (wcześniej - z wkładem 48k - testowałem jedynie z ROMu testowego metodą "na druta" uruchamiając jedynie te klawisze, które mnie interesowały). Efekty całkiem szalone (klawiatura ZX81):
a) klawisz 2 - powoduje pojawienie się artefaktów na ekranie i zwiech systemu
b) klawisz Q - przełącza mi ROM, czyli zachowuje się tak, jakbym zmienił zworkę J10 z z 1-2 na 1-3 (w gnieździe siedzi kostka z ROM 48k oraz testowym)
c) klawisz W, S, Z - reset :)
d) klawisz O - czarny ekran (znika nawet brum w głośnikach)
e) klawisz L - zwis
f) Symbol Shift - czarna ramka i kolorowe kwadraty
Wgrałem ponownie 1.2beta2 i efekt podobny - test ROM Brendana Alforda przy "drucianej metodzie wybierania cyfr" przechodzi OK (cyfry 1, 2, 3, 4 dla 48k) - zaczynam wybierać wskazane powyżej (uwzględniając to, że teraz działam w obłożeniu 48k) i podobne kwiatki.
Przeglądnąłem z lupą - czysto, pomierzyłem - nic nie zwiera, wymieniłem CPU - też brak efektu.
I już miałem się poddać, kiedy pomyślałem, że wsadzę inną Alterę (taki strzał na oślep - odruch desperacji). Zaznaczam - obie "przyjęły wsad" bez problemów - żadnych błędów przy weryfikacji. I co? I kurcze cud - wszystko śmiga bez żadnych problemów...
Nauczka dla mnie - to, że udało się wrzucić odpowiedni wsad na daną kostkę wcale nie oznacza, że dany układ działa właściwie. Zastanawiam się, czy istnieje jakaś metoda, żeby dało się przetestować poprawność działania takiej Altery czy innego Xilinxa na poziomie sprzętu? Taki hardware test dla układu...
btw - obraz z tego maxia - żyleta :)
-
Ja się już przekonałem z tymi ALTERA-mi z demontażu.
Jak się zaprogramuje i działa, to nie ruszać.
-
Weź tą Altere i przeczyść nóżki isopropanolem, może pomoże.
-
... altera jest w obudowie QFP - "przyspawana na amen" :) Moim zdaniem trzeba się pogodzić z tym, że za ceną podąża jakość i nie wszystkie przyjeżdżają sprawne (choć "nie wszystkie" to w tym przypadku eufemizm :P )
-
Niestety.
Ja jakoś mam nieuleczalny sentyment do PLCC i przy tym na razie zostanę, tzn. odpuszczam sobie kolejne wersje klonów z QFP, których nie polutuję moimi drżącymi łapskami, nawet po 4 setkach ;)
Przypomnę, że oryginalna ULA ma 40 nóżek, a 128K - 48.
Doliczmy +7 na demutipleksację szyny adresowej.
To nadal mniej niż dostępne piny w EPM7128SLC84.
-
:-[ Tak to jest jak człowiek siada po pracy o 4.30 i próbuje udzielać rad.
Pozdrawiam
-
Oj tam, oj tam - chciałeś dobrze ;)
-
:-[ Tak to jest jak człowiek siada po pracy o 4.30 i próbuje udzielać rad.
... a ja za każdą radę z całego serca dziękuję, bo to oznacza, że ktoś się pochylił nad problemem i chciało mu się poświęcić własny czas na odpowiedź :)
Co do alkoholu izopropylowego - to przy takiej ilości nóżek czasami mnie kusi, żeby go łyknąć :P :P :P
Przy okazji - 4:30 jest dla mnie bliska, bo od kilku lat "z automatu" budzę się o tej godzinie :) Jak Robocop - przestałem potrzebować zegarka :)
-
Wrzuciłem na wiki poprawione implementacje dla obu wersji Alter (PLCC84 i QFP100): http://speccy.pl/wiki/index.php?title=ZX_Max_128
-
Klaudiusz - czy jest planowana wersja z obsługą klawiatury ZX81?
-
Jasne, że tak. Potrzebuję chwilę po porannej kawie i będą te pliki.
-
Super - czekam cierpliwie 😁
-
Zrobione.
-
Pobrane - wielkie dzięki :)