Popularny post atlantis86 Napisano Marzec 11, 2019 Popularny post Udostępnij Napisano Marzec 11, 2019 Jakiś czas temu na portalu z ogłoszeniami natknąłem się na ofertę sprzedaży zabytkowego układu scalonego AY-3-8500. Jest to dość specyficzny element, wykorzystywany na przełomie lat siedemdziesiątych i osiemdziesiątych do budowy konsol do gier pierwszej generacji. Układ scalony zawiera w swojej strukturze kompletną logikę, niezbędną do generowania kilku prostych gier, m.in. kultowego "Ponga". Wykorzystywany był m.in. w kultowym ELWRO/Ameprod TVG-10 - jedynej polskiej konsoli do gier, jaka trafiła do masowej sprzedaży. Oczywiście nie byłbym sobą, gdybym go wtedy nie kupił i nie spróbował odpalić. Zacząłem więc szukać w Sieci informacji na temat tego układu. Efekty tych poszukiwań przeszły moje oczekiwania - natknąłem się na stronę, której autor zajął się podobnym projektem. Była tam cała niezbędna dokumentacja, karty katalogowe, a także projekt płytki drukowanej konsoli wykorzystującej posiadany przeze mnie układ scalony. No cóż... Postanowiłem nie wyważać otwartych drzwi i wykorzystałem ten wzór, prowadzając jednakże pewne modyfikacje w swojej implementacji tego projektu. Największa z nich dotyczyła kontrolerów , które zbudowałem w oparciu o niewielkie, plastikowe obudowy. Musze przyznać, że tworzą one całkiem poręczne "pady". Każdy z kontrolerów jest wyposażony w potencjometr służący do kontrolowania położenia paletki oraz przycisk do serwowania. Sama konsola została umieszczona w typowej plastikowej skrzynce. Na przednim panelu znajdują się przełączniki dźwigniowe dwu i trzypozycyjne służące do konfiguracji trybu rozgrywki, a także przełącznik obrotowy, do wyboru właściwej gry. Układ AY-3-8500 pozwala na korzystanie z pistoletu świetlnego. Dwie z generowanych przez niego gier wymagają posiadania takiego sterownika. Zdecydowałem się jednak zrezygnować z jego budowy. Na płytce są wyprowadzone odpowiednie piny, więc w przyszłości będzie możliwa taka rozbudowa. Niestety strona na której znalazłem oryginalny projekt niedługo później przestała działać, jednak wciąż można się do niej dostać przez Wayback Machine. Konsola przez jakiś czas była dostępna na wystawie "Game start/game over" w krakowskim Muzeum Inżynierii Miejskiej. Przetrwała - grupy gimnazjalistów nie były w stanie jej zniszczyć. W ramach ciekawostki mogę dodać, że mojemu sześcioletniemu siostrzeńcowi spodobała się ta gra sprzed kilku dekad. 5 1
Treker (Damian Szymański) Marzec 12, 2019 Udostępnij Marzec 12, 2019 Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum
InspektorGadzet Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 Dnia 11.03.2019 o 15:24, atlantis86 napisał: Jakiś czas temu na portalu z ogłoszeniami natknąłem się na ofertę sprzedaży zabytkowego układu scalonego AY-3-8500. Klony PONG'a widziałem na PIC i AVRtiny.
marek1707 Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 23 minuty temu, InspektorGadzet napisał: Klony PONG'a widziałem na PIC i AVRtiny. I co z tego? Plusik dla autora za tę nieodpartą (i całkowicie zrozumiałą) ciekawość wygrzebywania i wskrzeszania z czeluści historii lub zakamarków magazynów upadłych technologii. Ja mam bitwę czołgów w jeszcze gorszym pudełeczku, opartą też na AY-3-cośtam - wciąż działa Ech, kiedyś to robili scalaki... Wbudowałeś modulator RF do wejścia antenowego (do tego potrzebny stary telewizor z tunerem "analogowym" a ten na taki wygląda) czy wchodzisz sygnałem baseband przez euro lub chinch? 2
atlantis86 Lipiec 20, 2019 Autor tematu Udostępnij Lipiec 20, 2019 1 godzinę temu, marek1707 napisał: Plusik dla autora za tę nieodpartą (i całkowicie zrozumiałą) ciekawość wygrzebywania i wskrzeszania z czeluści historii lub zakamarków magazynów upadłych technologii. Ja mam bitwę czołgów w jeszcze gorszym pudełeczku, opartą też na AY-3-cośtam - wciąż działa Ech, kiedyś to robili scalaki... Mam słabość do starych układów scalonych. Zbudowałem już kilka konstrukcji na starych procesorach (MOS6502, Z80, 8051, polski MCY7880), leży też u mnie trochę ciekawy, zabytkowych układów cyfrowych, które czekają na swój moment, gdy będę miał trochę więcej czasu. Wiele rzeczy można zaemulować na mikrokontrolerze. Tylko po co, skoro można skorzystać z oryginalnego krzemu sprzed trzydziestu lat? 1 godzinę temu, marek1707 napisał: Wbudowałeś modulator RF do wejścia antenowego (do tego potrzebny stary telewizor z tunerem "analogowym" a ten na taki wygląda) czy wchodzisz sygnałem baseband przez euro lub chinch? To tylko chinch. Budowa modulatora nie miałaby w tej chwili sensu, bo i tak nie mam już w domu tak starego telewizora, który nie dysponowałby wejściem kompozytowym albo scart. Jeśli już, to raczej idę w drugą stronę - dodając wyjście wideo do starego sprzętu. W kolejce czeka chociażby konsola Rabmo (podróbka Atari 2600, hit polskich bazarów na początku lat dziewięćdziesiątych).
InspektorGadzet Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 31 minut temu, atlantis86 napisał: Wiele rzeczy można zaemulować na mikrokontrolerze. Tylko po co, skoro można skorzystać z oryginalnego krzemu sprzed trzydziestu lat? Tyle, że zdobycie AY-3-8500 łatwe nie jest. Z AY-3-8500 można uzyskać obraz kolorowy taka modyfikacja jest ciekawa. Ja bym się skusił na inne gry z serii AY-3-8xxx. Były dwa fajne scalaki, 10 gier, w tym koszykówka i Motocross. Te scalaki z chęcią bym kupił. 34 minuty temu, atlantis86 napisał: Mam słabość do starych układów scalonych. Mnie te przeszło jakieś 10 lat temu. 35 minut temu, atlantis86 napisał: Zbudowałem już kilka konstrukcji na starych procesorach (MOS6502, Z80, 8051, polski MCY7880), Coś w rodzaju sterowników czy bardziej komputerów z układem wizyjnym?
atlantis86 Lipiec 20, 2019 Autor tematu Udostępnij Lipiec 20, 2019 1 minutę temu, InspektorGadzet napisał: Tyle, że zdobycie AY-3-8500 łatwe nie jest. Z AY-3-8500 można uzyskać obraz kolorowy taka modyfikacja jest ciekawa. Ja bym się skusił na inne gry z serii AY-3-8xxx. Były dwa fajne scalaki, 10 gier, w tym koszykówka i Motocross. Te scalaki z chęcią bym kupił. Ja swój egzemplarz AY-3-8500 kupiłem parę lat temu na olx. Z tego co widzę można te scalaki bez większego problemu kupić na Aliexpress, za niewielkie pieniądze. Kiedyś zresztą zamówiłem z Chin kilka sztuk, ale jeszcze ich nie przetestowałem. Jest dla mnie wielką tajemnicą skąd Chińczycy biorą duże ilości układów retro. Kiedyś natknąłem się na aukcje, na których masowo sprzedawano MOS6502. Zamówiłem je z ciekawości, bo wychodziło mniej niż dolar za sztukę. Spodziewałem się, że nie będą działały. Zbudowałem jednak płytkę testową, przygotowałem testowy program na EPROM-ie i... Niespodzianka! Każdy scalak zadziałał prawidłowo. Można by iść w stronę teorii spiskowej, że oni wkładają tam jakieś współczesne mikrokontrolery, emulujące stary krzem, ale: Marny byłby to interes, sprzedawać je potem za mniej niż dolara. Układy faktycznie wyglądają na stare. Postarzanie ich tylko zwiększałoby koszt tej wątpliwej inwestycji. Innym razem na eBay'u kupiłem od chińskiego sprzedawcy układy 65C02 (ten sam procesor w wersji CMOS). I tutaj faktycznie się naciąłem. To znaczy układ działał, ale na pewno był standardową wersją w wersji NMOS - wskazywał na to pobór prądu i brak obsługi kilku dodatkowych rozkazów. Moja robocza hipoteza jest następująca: Do Chin musiał kiedyś trafić ogromny transport złomu elektronicznego, ale tamtejsi przedsiębiorcy zauważyli, że mogą zarobić, odsprzedając Europejczykom i Amerykanom co ciekawsze części. Niewykluczone zresztą, że nie są to oryginalne MOS6502, ale jakieś klony robione przez firmy trzecie. Tyle tylko nie wiem, czy 6502 był w ten sposób kopiowany na taką samą skalę, jak np. 8080. Dla mnie to i tak nie jest tak istotne - ważne, że układ działa. 1 minutę temu, InspektorGadzet napisał: Mnie te przeszło jakieś 10 lat temu. Dla mnie to jednak dość istotny aspekt tego hobby i chętnie do niego wracam. Po prostu będąc dzieciakiem, w połowie lat dziewięćdziesiątych zainteresowałem się amatorską elektroniką. Składałem wtedy proste radia i wzmacniacze, ale konstrukcje na Z80 i 8051 były poza moim zasięgiem - zwyczajnie brakowało wiedzy, umiejętności i narzędzi. Teraz to wszystko kosztuje grosze. 1 minutę temu, InspektorGadzet napisał: Coś w rodzaju sterowników czy bardziej komputerów z układem wizyjnym? Jedno i drugie. To znaczy komputery jeszcze nie dorobiły się układów wizyjnych, ale pewnie kiedyś wrócę do tego projektu. Zrobiłem też kilka kontrolerów na 65C02 i na nich planuję w przyszłości zrobić coś bardziej konkretnego: mówiący zegar LED z chipem do syntezy mowy z lat osiemdziesiątych, jakiegoś jeżdżącego robota i coś w rodzaju stacji pogodowej. Niektóre z moich projektów retro były publikowane w tym dziale. Wystarczy przejść kilka stron wstecz. 1
ethanak Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 Z ciekawości: natknąłeś się może na 6510? Kiedyś bardzo chciałem coś na to zrobić, ale scalak był jakoś słabo dostępny... może bym sobie przypomniał jak to się robi... 1
atlantis86 Lipiec 20, 2019 Autor tematu Udostępnij Lipiec 20, 2019 28 minut temu, ethanak napisał: Z ciekawości: natknąłeś się może na 6510? Kiedyś bardzo chciałem coś na to zrobić, ale scalak był jakoś słabo dostępny... może bym sobie przypomniał jak to się robi... Z tego co pamiętam MOS6510 był produkowany specjalnie z myślą o Commodore 64. Układ został zaprojektowany po tym, gdy producent komputerów wykupił fabrykę mikroprocesorów. Od standardowego 6502 różnił się właściwie tylko obecnością portu I/O, którego kilka linii było wyprowadzonych na zewnątrz. Służyło to do przełączania portów, można było dzięki temu zrezygnować z kilku zewnętrznych scalaków. Pewnie da się je jeszcze kupić, zdemontowane z uszkodzonych komputerów. Jednak każdy projekt można równie dobrze zrealizować na 6502, który jest znacznie łatwiej dostępny, nawet w wersji CMOS. Jeśli nie chcesz kupować w Chinach, to na eBay'u można znaleźć kilku sprzedawców z róznych krajów Europy, którzy handlują tymi scalakami. Oczywiście cena jest odpowiednio wyższa. 1
ethanak Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 No właśnie chodziło mi o port (na adresie 0 miałeś coś w rodzaju dzisiejszego GPIO). Bawiłem się kiedyś w zewnętrzne scalaki (256kB RAM w C16) ale raczej jako programista... elektronikę robił ktoś inny. Cóż, aż takim maniakiem nie jestem, chyba zostanę przy AVR-ach 1
atlantis86 Lipiec 20, 2019 Autor tematu Udostępnij Lipiec 20, 2019 (edytowany) 1 godzinę temu, ethanak napisał: No właśnie chodziło mi o port (na adresie 0 miałeś coś w rodzaju dzisiejszego GPIO). Myślę, że takie wykorzystanie 6510 trochę mija się z celem. Pamiętaj, że to mikroprocesor, a nie mikrokontroler. Żeby zrobić z nim cokolwiek, i tak musisz stworzyć szynę systemową, do której będzie podpięta przynajmniej jakaś pamięć stała z programem. Żeby korzystanie z tego miało jakikolwiek sens, trzeba dać jeszcze RAM - bez niego nie zaimplementujemy stosu i możemy zapomnieć o podprogramach czy przerwaniach. A skoro już mamy szynę systemową, to możemy do niej podpiąć różne inne rzeczy - GPIO, porty szeregowe, wyświetlacz na HD44780 (do 6502 podpina się go bardzo wygodnie, w przeciwieństwie do układów z szyną Intela). Myślę, że najbliższym, sensownym sposobem realizacji twojego pomysłu byłoby wykorzystanie jakiegoś układu z rodziny 8051. One miał już trochę wbudowanej pamięci RAM, a niektóre z nich (m.in. seria AT89 od Atmela) dysponowała także pamięcią flash. Zewnętrze pamięci można (ale nie trzeba) było podpiąć do szyny. No i portów było trochę więcej, był też wbudowany UART. Cytat Bawiłem się kiedyś w zewnętrzne scalaki (256kB RAM w C16) ale raczej jako programista... elektronikę robił ktoś inny. Elektronika jest tak naprawdę bardzo prosta. Gdy już się zrozumie o co w tym chodzi, jest to bardzo logiczne. Wszystko podpinamy do tej samej szyny systemowej i umieszczamy w przestrzeni adresowej mikroprocesora. Za aktywowanie poszczególnych układów odpowiada dekoder adresów, który trzeba sobie zbudować z układów logicznych. W jednym z przyszłych projektów spróbuję chyba wykorzystać układ GAL - taki odległy przodek współczesnych CPLD i FPGA. Można sobie na nim zaimplementować jakąś prostą logikę, sterującą pracą systemu mikroprocesorowego. Cytat Cóż, aż takim maniakiem nie jestem, chyba zostanę przy AVR-ach Zabawa ze starymi procesorami pozwala lepiej zrozumieć jak taki AVR działa. Masz tam te same bloki funkcyjne, tylko zamiast po prostu skonfigurować licznik, musisz go fizycznie podpiąć do szyny - bo jest on osobnym scalakiem. Edytowano Lipiec 20, 2019 przez atlantis86 1
ethanak Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 Owszem - elektronika jest prosta. Dekoder na szynie adresowej i zapis do jakiegoś rejestru jeśli adres się zgadza. Gorzej z odczytem - bo o ile zapis do nieużywanej części RAM-u niespecjalnie przeszkadza, o tyle z odczytem jest gorzej: muszę przełączyć odczyt z pamięci na odczyt z portu. Czyli parę kostek więcej... W przypadku pamięci było to proste - dekoder podawał po prostu dwa bity na linie adresowe pamięci. Przy porcie I/O raczej byłoby to bardziej skomplikowane... Nic to, przeżyłem bez tego, podejrzewam że dalej też przeżyję AVR-y też są fajne i wykorzystanie tego mikroskopijnego RAM-u to też jest całkiem ciekawa zabawa. 1 1
atlantis86 Lipiec 20, 2019 Autor tematu Udostępnij Lipiec 20, 2019 (edytowany) 47 minut temu, ethanak napisał: Owszem - elektronika jest prosta. Dekoder na szynie adresowej i zapis do jakiegoś rejestru jeśli adres się zgadza. Gorzej z odczytem - bo o ile zapis do nieużywanej części RAM-u niespecjalnie przeszkadza, o tyle z odczytem jest gorzej: muszę przełączyć odczyt z pamięci na odczyt z portu. Czyli parę kostek więcej... Odczyt jest tak samo prosty jak zapis. Mikroprocesory generują specjalne wygnały, które pozwalają sterować operacjami odczytu i zapisu. W przypadku szyny intela są to sygnały !WR i !RD. Mikroprocesory z rodzin 6502 i 6800 co prawda nie generują ich bezpośrednio, ale można je w prosty sposób uzyskać za pomocą kilku bramek. Jest to wskazane, to większość powszechnie dostępnych pamięci EPROM i RAM została zaprojektowana z myślą o pracy na magistrali Intela. Jeśli chodzi o odczyt z/zapis do portu, to masz do wyboru dwie opcje: Wykorzystanie trójstanowego bufora zatrzaskowego, np. 74373 lub 74573. Możesz na nich zbudować zarówno port wyjściowy, jak i wejściowy. Tylko niestety, wyboru dokonujesz na etapie projektowania elektroniki i rozwiązanie działa tylko w jedną stronę, to znaczy nie będziesz w stanie odczytać wartości wpisanej wcześniej do portu wyjściowego. Musisz ją sobie trzymać w jakiejś pomocniczej zmiennej. Wykorzystanie specjalizowanego portu GPIO (np. 8255), który konfiguruje się podobnie do portów ze współczesnych mikrokontrolerów. W przypadku 6502 układy IO zajmują tą samą przestrzeń adresową, co pamięć. Systemy wzorowane na 8080/8085 (np. Z80 albo rodzina x86) miały osobną (mniejszą) przestrzeń adresową dla układów IO. Wyglądało to w ten sposób, że procesor posiadał dodatkowe linie !WR i !RD, ktore aktywowały się przy odczycie z/zapisie do peryferiów. W przypadku Z80 była to chyba jedna dodatkowa linia, którą trzeba było przepuścić przez dodatkową logikę aby stwierdzić, z czym procesor chce się w danej chwili dogadać. Edytowano Lipiec 20, 2019 przez atlantis86 2
InspektorGadzet Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 (edytowany) 1 godzinę temu, ethanak napisał: Gorzej z odczytem - bo o ile zapis do nieużywanej części RAM-u niespecjalnie przeszkadza, o tyle z odczytem jest gorzej: muszę przełączyć odczyt z pamięci na odczyt z portu. Co? Jakie przełączanie? Widać, że nigdy nie zbudowałeś systemu z CPU. 1 godzinę temu, ethanak napisał: Czyli parę kostek więcej... Znów piszesz głupoty! W najprostszym wykonaniu 74HC138, w bardziej zaawansowanym zaproponowany przez @atlantis86 GAL. 1 godzinę temu, ethanak napisał: W przypadku pamięci było to proste - dekoder podawał po prostu dwa bity na linie adresowe pamięci. Przy porcie I/O raczej byłoby to bardziej skomplikowane.. Dekoder podłączony do linii adresowych a nie /CS? Co to za "cudna" konstrukcja? Czy to pamięć, czy PIO, SIO,TIMER, itp dekoder adresowy aktywuje układ używając linii /CS. 24 minuty temu, atlantis86 napisał: Mikroprocesory z rodzin 6502 i 6800 co prawda nie generują ich bezpośrednio Co tak jak i 68k używają bardziej rozsądnej pary sygnałów, E i O2. Wygenerowanie z nich /RD i /WR to jeden 74HC00 (3 bramki). Ja robiłem to razem z dekoderem adresowym w GAL lub bardziej rozbudowanych konstrukcjach (68000, 68010) w CPLD. Kiedyś w TME kupiłem 68000/12 w obudowie PGA. 24 minuty temu, atlantis86 napisał: Wykorzystanie specjalizowanego portu GPIO (np. 8255), który konfiguruje się podobnie do portów ze współczesnych mikrokontrolerów. Do 6502 lepiej użyć układów przeznaczonych dla 68xx np PIO+Timery+rejestr szeregowy 6820 6821. Była też wersja specjalnie dla 6502 w postaci 6526. Można użyć C-MOS'owej z Amigi 8500. Jest i SIO dla 68xx ale nie pamiętam oznaczenia. Fajny jest CPU 65816. Do 68xx czy 6502 ciężko natomiast podłącza się układy oz Z-80. One w czasie generowania przerwania robią "bałagan" na magistrali danych i trzeba sobie z tym poradzić. Łatwo natomiast podłączało się Intele, jak wspomniany, baznadziejny (jak wszystko co Intelowskie) 8255 czy SIO 8251 (ale badziewie), który w zasadzie nie mógł się obyć bez CTC 8254 dlatego lepiej było użyć 16C550 czy 16C552, 16C554, które miały 16-bajtowe FIFO. Edytowano Lipiec 20, 2019 przez InspektorGadzet 3
Treker (Damian Szymański) Lipiec 20, 2019 Udostępnij Lipiec 20, 2019 14 minut temu, InspektorGadzet napisał: Co? Jakie przełączanie? Widać, że nigdy nie zbudowałeś systemu z CPU. @InspektorGadzet wielka prośba... daruj sobie takie zgryźliwości. Jak chcesz wytknąć komuś brak wiedzy to bądź tak miły i wykaż się swoimi umiejętnościami. Energię poświęconą na pisanie takich złośliwości lepiej zamienić na 2-3 merytoryczne zdania, z których będzie można się czegoś dowiedzieć. Wszystkim wyjdzie to na dobre, bo wprowadzanie takiej nerwowej atmosfery do rozmów nikomu nie służy 1
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »