„Starożytne” procesory

Kącik dla elektroniki retro - układy, urządzenia, podzespoły, literatura itp.
Awatar użytkownika
jarekz
Posty: 6
Rejestracja: niedziela 29 gru 2019, 21:07

Re: „Starożytne” procesory

Postautor: jarekz » wtorek 28 lis 2023, 08:13

Ostatnio na niemieckiej stronie znanego portalu aukcyjnego pojawiło się szereg płytek drukowanych umożliwiających realizację systemów mikroprocesorowych "z myszką".
Zakupiłem płytkę mikrokomputera na MC68008 oraz - przy okazji - drugą na mikroprocesor 6502. Płytki przyszły w piątek.
MC68008 idzie pocztą z Włoch, a na razie zająłem się 6502:
IMG_20231128_070054.jpg

Kości 6502 oraz 6821 od blisko 40 lat leżały u mnie szufladzie. Jakieś wyluty. Nie szkodzi - ruszyły bez problemu! Potem w innej szufladzie znalazłem pamięć RAM 32KB i dołożyłem.
Byłem ciekaw, jak wypadnie programowanie tego 6502 (rzecz jasna w asemblerze) w porównaniu z pisaniem na Motorolę 6800. I tu się zawiodłem. Prosty test pamięci RAM o rozmiarze 32KB wymagał ekwilibrystyki. Zwiększanie adresu i zmniejszanie licznika angażują akumulator. Test 32KB RAM-u zajmuje ponad 3 sekundy... W tym mikroprocesorze jedyny rejestr 16-bitowy to licznik rozkazów. Nawet rejestry indeksowe są 8-bitowe. Dobrze, że jest przynajmniej mechanizm strony zerowej pamięci, jak w 6800.
Jak dla mnie, Motorola z dwoma akumulatorami i 16-bitowym rejestrem indeksowym kładzie 6502 na łopatki :) .
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Zegar
User
User
Posty: 312
Rejestracja: wtorek 02 lip 2019, 14:42

Re: „Starożytne” procesory

Postautor: Zegar » środa 29 lis 2023, 09:20

jarekz pisze:Jak dla mnie, Motorola z dwoma akumulatorami i 16-bitowym rejestrem indeksowym kładzie 6502 na łopatki :) .

Myślę, że pospieszyłeś się z opinią. ;) Od zeszłego roku czytam o 6502 (Chińczyk przysłał mi zamiast zamówionego Z80 :lol: ) i nadal nie mogę przestawić mojego toku myślenia... Wcześniej programowałem tylko w asemblerze Z80 (na początku tylko I8080, bo taką miałem literaturę) i nie znałem nawet 6800. Przymierzałem się do 68000, ale odpuściłem, bo życie trochę mnie przygniotło. Pod wpływem Twojego postu przeczytałem kilka porównań, które znalazłem w sieci:
6800 vs 6502,
porównanie sześciu procesorów,
6502,Z80,I86,60k.
Z jakiegoś powodu 6502 był bardziej popularny od 6800 i była to nie tylko cena. Na pewno był najmniej skomplikowany - tylko 3500 tranzystorów, ale miał najwięcej trybów adresowania.
68008 to już 16-bitów, więc jest nieporównywalny. Mam wszystkie elementy do budowy MBC-68k, ale ciągle leży w szufladzie. Może się zmobilizuję i w końcu go zmontuję. 8-)
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

tapy
User
User
Posty: 119
Rejestracja: niedziela 14 kwie 2019, 17:09
Kontaktowanie:

Re: „Starożytne” procesory

Postautor: tapy » środa 29 lis 2023, 10:37

Zegar pisze:Z jakiegoś powodu 6502 był bardziej popularny od 6800 i była to nie tylko cena.


Myślę, że w tamtych czasach cena to była kluczowa cecha. W sumie porównanie 6800 do 6502 zawsze wypadnie tak samo jak porównanie 8080 do Z80, bo są to rozwinięte koncepcje tych pierwszych. Zdecydowanie bardziej poprawnym porównaniem byłoby użycie ich następców 6809 i 65C02. Niestety dobór procesora do konkretnego rozwiązania komercyjnego nie idzie w parze z jego wydajnością, architekturą i potencjałem rozwojowym. Doboru dokonuje marketing, księgowi i inwestorzy, czego doskonałym przykładem był wybór 8086 do pierwszego PC zamiast zdecydowanie jego lepszych konkurentów MC68000 (księgowi-zbyt wysoka cena) i Z8000 (inwestorzy-konflikt interesów). Doboru dokonał marketing Intela. Czy było to lepsze rozwiązanie, nie sądzę, 8088 pomimo jego 16-bit w typowych zastosowaniach z łatwością pokonywały go istniejące na rynku 8-bitowce.

Awatar użytkownika
Zegar
User
User
Posty: 312
Rejestracja: wtorek 02 lip 2019, 14:42

Re: „Starożytne” procesory

Postautor: Zegar » wtorek 19 gru 2023, 14:27

tapy pisze:
gaweł pisze:Jak coś będzie już wiadomo na temat Monteroli , to daj znać :)

Coś się ruszyło w kwestii MC68000, dokładnie dla jego 8-bitowej wersji 68008. Jeden sympatyk tej architektury postanowił ruszyć ten temat (końcówka tego wątku) i jeśli testy przebiegną pomyślnie, to jego rozwiązania zostaną przyjęte jako standard dla RCBus.

Dopadł mnie Covid, więc postanowiłem to "wykorzystać". Niestety nie zdążyłem się zaszczepić i przebieg choroby jest dużo gorszy niż poprzednie...
Mimo kłopotów z koncentracją i myśleniem w ogóle, polutowałem 68k-MBC. Przeszedłem też wszystkie "magiczne" kroki w programowaniu PIC-a. Najtrudniejsze było dla mnie przejście przez etap "./pp3 -c /dev/ttyACM0 -s 1700 -p -n -t 18f47q10". Nie pracowałem nigdy na Linuksie, więc nie rozumiałem tej linijki. Okazało się, że zamiast "/dev/ttyACM0" należy wpisać COM5 (akurat na tym porcie zgłaszało się moje UNO). Wszystko przebiegło zgodnie z opisem z Hackaday. Podłączyłem płytkę przez FTDI do PUTTy i myślałem, że coś popsułem, bo dostałem błąd.
Zrzut ekranu 2023-12-19 140758.jpg

Na szczęście to z powodu zasilania przez USB. Podłączyłem zewnętrzne 5V i ruszyło. 8-)
Podłączyłem też uTerm, monitor i klawiaturę i trochę się pobawiłem. Pierwsze wrażenie jest dosyć słabe, bo system jest tak samo "szybki" jak Z80-MBC2 i V20-MBC. Nie mierzyłem stoperem, ale "ASCIIart" strasznie wolno rysuje. Mam obawy, że problem leży nie w procesorach, ale w kontrolerach, które obsługują system. Niestety nie programowałem nigdy PIC-ów, więc nie zaglądam nawet do źródła, ale program Z80-MBC2 dosyć dokładnie przeanalizowałem i przerobiłem do własnych potrzeb, więc wiem, że można go znacznie przyspieszyć. Trzeba dla porównania zbudować coś alternatywnego.
jarekz pisze:Zakupiłem płytkę mikrokomputera na MC68008

Niestety kolega nie napisał, o jaką płytkę chodzi...
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

Awatar użytkownika
jarekz
Posty: 6
Rejestracja: niedziela 29 gru 2019, 21:07

Re: „Starożytne” procesory

Postautor: jarekz » czwartek 21 gru 2023, 20:59

Niestety kolega nie napisał, o jaką płytkę chodzi...

Jest to "ECB Mini-68k CPU Card":
https://www.retrobrewcomputers.org/doku.php?id=boards:ecb:mini-68k:start
Na płytce jest ogromna ilość układów TTL; podejrzewam, że można by było zrobić ją na 2/3 tej ilości scalaków...
Płytkę montowałem przez grudzień, a wczoraj dotarły mikroprocesory.
Podczas uruchamiania znalazłem jeden błąd: linia AS\ nie ma rezystora pull-up, co ma poważne konsekwencje w postaci niepełnego odczytywania wartości SSP i PC po resecie.
Po poprawieniu tego błędu, dogięciu 2 kontaktów w podstawce i kilku innych drobnych poprawkach WCZORAJ SYSTEM RUSZYŁ. Na razie wykonuje się prościutki program, którego efektem działania jest dwukrotne "machanie" sygnałem wyboru CS\ jednej z kostek RAM w pętli nieskończonej.
W trakcie projektowania jest teraz płytka "wejścia/wyjścia", wytwarzająca m.in. sygnał WAIT\ (który po zanegowaniu trafia do procesora jako DTACK\), mająca zawierać wyświetlacz LCD (sterowany bezpośrednio z magistrali mikroprocesora) oraz układ we/wy 68901.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Zegar
User
User
Posty: 312
Rejestracja: wtorek 02 lip 2019, 14:42

Re: „Starożytne” procesory

Postautor: Zegar » czwartek 21 gru 2023, 22:31

Ładny projekt - ma już 10 lat, więc błędy powinny już być wykryte. ;) Według starej szkoły wszystkie magistrale są buforowane i stąd tyle TTL-i.

Poczytałem trochę o replice Apple1, którą przedstawiłeś poprzednio. Mam kilka pytań, bo nie wszystko jest dla mnie jasne. Zawartość ROM-u jest podana w formie całkowicie dla mnie nieczytelnej, jak sobie z tym poradziłeś? Na płytce jest miejsce na Arduino Nano, które komunikuje się z procesorem poprzez VIA (6821) za pomocą ekspandera. Wygląda na to, że przez jeden z portów podaje kody klawiszy, a z drugiego odczytuje znaki wychodzące na terminal, ale nie znalazłem kompletnego programu, który miałby to robić. Są oddzielne do obsługi klawiatury, do transmisji z ekspanderem itd. Czy już się tym zająłeś? Na Tindie jest oferta zestawu PCB + elementy, ale nie ma w nim Arduino. Rozważam zakup, ale nie wiem, czy warto. Na korzyść przemawia zgodność złącza na krawędzi z RCbus (wygląda bardzo podobnie).
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

Awatar użytkownika
jarekz
Posty: 6
Rejestracja: niedziela 29 gru 2019, 21:07

Re: „Starożytne” procesory

Postautor: jarekz » piątek 22 gru 2023, 07:38

Ładny projekt - ma już 10 lat, więc błędy powinny już być wykryte. ;)

Wydaje mi się, że u twórcy płytki wszystko działało dobrze - linia AS\ podczas resetu była w stanie wysokim, bo użył układów z serii LS,
a wejście takiego układu podciągało linię AS\ do góry. Ja dałem z jednym wyjątkiem same HCT-y. Podczas resetu AS\ była wysokoomowa, a stan logiczny akurat był niski.
ROM po resecie jest widziany od adresu 0x000000. Sygnał AS\ taktuje 8-bitowy rejestr przesuwny, którego 8. wyjście przełącza ROM do adresu 0x380000 (docelowego). Mechanizm ten pozwala odczytać z ROM-u wartości początkowe SST i PC. U mnie już w momencie wyjścia z resetu pojawiało się pierwsze zbocze AS\ i taktowało rejestr. Więc potem już po 7 odczytanych bajtach ROM zostawał przełączony w obszar 0x380000.
Według starej szkoły wszystkie magistrale są buforowane i stąd tyle TTL-i.

Owszem, to też, ale mam wrażenie, że generalnie w projekcie logikę klejącą stosowano dość rozrzutnie.
Używając tylu układów można było zapewnić więcej możliwości. Nie widzę np. szans użycia mechanizmu sterowania 8-bitowych układów Motoroli sygnałami R/W i E. Sygnały te będę musiał wytworzyć na dodatkowej płytce.
Zapewniono za to możliwość przejmowania magistrali przez inny sterownik, z czego ja na pewno nigdy nie skorzystam.
Poczytałem trochę o replice Apple1, którą przedstawiłeś poprzednio. Mam kilka pytań, bo nie wszystko jest dla mnie jasne.
Zawartość ROM-u jest podana w formie całkowicie dla mnie nieczytelnej, jak sobie z tym poradziłeś?
Na płytce jest miejsce na Arduino Nano, które komunikuje się z procesorem poprzez VIA (6821) za pomocą ekspandera.
Wygląda na to, że przez jeden z portów podaje kody klawiszy, a z drugiego odczytuje znaki wychodzące na terminal,
ale nie znalazłem kompletnego programu, który miałby to robić. Są oddzielne do obsługi klawiatury, do transmisji
z ekspanderem itd. Czy już się tym zająłeś?

Płytkę zmontowałem w wersji "minimum". Jest CPU, RAM i PIA. Być może dodam kiedyś wyświetlacz 16x2, łącze szeregowe MC6850, klawiaturkę
i napiszę jakiś program monitora. Dołączenie Arduino czy generalnie użycie "kanoniczne" tej płytki w ogóle mnie nie interesuje.

tapy
User
User
Posty: 119
Rejestracja: niedziela 14 kwie 2019, 17:09
Kontaktowanie:

Re: „Starożytne” procesory

Postautor: tapy » piątek 22 gru 2023, 11:49

Zegar pisze: Pierwsze wrażenie jest dosyć słabe, bo system jest tak samo "szybki" jak Z80-MBC2 i V20-MBC.

Wydajność tych rozwiązań jest ograniczana przez przyjęte założenie użycia prostego mikrokontrolera z niezbyt szybkim SPI i kart SD jako pamięci masowej. Wszystkie operacje dyskowe będą powodowały ich spowolnienie.

jarekz pisze:Owszem, to też, ale mam wrażenie, że generalnie w projekcie logikę klejącą stosowano dość rozrzutnie.

Rozrzutność związana jest z zastosowaną magistralą N8VEM i jej wymaganiami, gdyż pochodzi ona z profesjonalnych rozwiązań komputerów modułowych z wieloma modułami na backplane.

Kilka lat temu (jeszcze przed RC2014/RCBus) przymierzałem się do przyjęcia N8VEM jako głównej platformy na której będę skupiał swoją aktywność, lecz ze względu na jego profesjonalne korzenie i wynikające z tego konsekwencje to odrzuciłem ten zamiar. Ogromnym plusem jest standardowy rozmiar eurokart (100x160mm), wadą cena PCB i znaczące straty jej powierzchni w celu zapewnienia buforowania szyny. Podobno społeczność skupiona wokół N8VEM planuje wprowadzić prostszą jego odmianę, już bez buforowania i z krótką eurokartą (100x100mm), lecz nie wiem na jakim etapie są ich prace.

Awatar użytkownika
Zegar
User
User
Posty: 312
Rejestracja: wtorek 02 lip 2019, 14:42

Re: „Starożytne” procesory

Postautor: Zegar » środa 10 sty 2024, 01:37

Okiełznałem MOS6502. Na razie okrężną drogą, bo miałem zbyt dużo niewiadomych. Zamówiłem tylko płytkę w JLC i brakujące MC6821 i MCP23S17. Resztę już miałem. Przejrzałem całe repo repliki Apple-1 i znalazłem tam prawie wszystko, co było potrzebne. Niestety autor pozmieniał funkcje sygnałów RCbus, więc trzeba było kilka pinów odgiąć i połączyć przewodami. Płytka ma też zamienione strony - elementy są pod spodem. :lol:
Apple1-RCbus.jpg

Na mojej płytce użyłem na razie tylko dekoder adresów, który obszar 0xc000 - 0xc0ff traktuje jako I/O. Moim bootloaderem wytwarzam 1 MHz, bo nie miałem takiego generatora. Można było dopisać trochę kodu do programu w Arduino, ale nie chciało mi się. Za pomocą WozMon wpisywałem różne wartości do rejestrów 8255, który widać pod adresami C0E0-C0E3.
Apple1-8255.jpg

Sprzęt mam przetestowany, więc teraz czas na pisanie programu. Planuję na początek napisać obsługę wyświetlacza CA80 w przerwaniu NMI. Ale to już nie dzisiaj. ;)
6502-8255-00.jpg

6502-8255-AA.jpg

P.S. Apple-1 był niesamowicie prosty. WozMon mieści się na jednej stronie (256 bajtów). Jest też Basic i Asembler, ale go jeszcze nie próbowałem.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

Awatar użytkownika
Zegar
User
User
Posty: 312
Rejestracja: wtorek 02 lip 2019, 14:42

Re: „Starożytne” procesory

Postautor: Zegar » środa 17 sty 2024, 01:46

Przeglądałem dzisiaj moje zbiory "starożytnych procesorów" i zaciekawił mnie jeden z feniksem. Wcześniej nie zwróciłem na niego uwagi.
IMG_20240116_204348.jpg

Ma dodatkowy wiersz "SL0965". Wcześniej spotkałem podobne na Z180, np. "SL1919" i "SL1960". Dla Z180 znalazłem noty z opisem różnic, więc wpisałem w wyszukiwarkę i niestety nie było nic oprócz kilku ciekawych zdjęć.
Podobny do mojego.
Przy okazji podpowiedziało mi inne równie ciekawe.
Przybliżenie.
I najładniejsze.
Zdjęcia są bardzo dobrej jakości, więc nacieszyłem oczy, ale nie dowiedziałem się niczego praktycznego. Wybrałem z moich skromnych zasobów kilka w miarę atrakcyjnie wyglądających scalaków (niestety nie mam aż tak urodziwych) i zrobiłem z nich zestaw na WOŚP. Przygotowanie zajęło mi kilka godzin, ale co tam, może ktoś kupi, zamiast wrzucać do puszki... Aukcja rusza w południe, więc wtedy dodam link. Na razie mam tymczasowy.
Zestaw-WOSP24.jpg
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

tapy
User
User
Posty: 119
Rejestracja: niedziela 14 kwie 2019, 17:09
Kontaktowanie:

Re: „Starożytne” procesory

Postautor: tapy » środa 17 sty 2024, 09:47

Zegar pisze:Ma dodatkowy wiersz "SL0965". Wcześniej spotkałem podobne na Z180, np. "SL1919" i "SL1960".


Zilog stosował to oznaczenie przy nietypowych maskach które wprowadzały pewne zmiany w działaniu procesora. W przypadku tego Z80 prawdopodobnie dotyczyły cykli wykonywania niektórych instrukcji, trochę informacji znajdziesz tutaj - wymagany dobry translator ;)

PS. Przy okazji, ma ktoś pewne źródło gdzie mógłbym dostać Z180 SL1960? Procesor ten ma zmienione działanie synchronicznego portu szeregowego i często przypadkowo można na niego natrafić, powodując frustracje posiadacza gdy nie działa on zgodnie z oczekiwaniami. Przy testowaniu software czasami przydaje się posiadanie takiego "odmieńca".

Awatar użytkownika
Zegar
User
User
Posty: 312
Rejestracja: wtorek 02 lip 2019, 14:42

Re: „Starożytne” procesory

Postautor: Zegar » środa 17 sty 2024, 10:43

tapy pisze: trochę informacji znajdziesz tutaj - wymagany dobry translator ;)

Niestety w tekście nie ma frazy SL0965. Myślę, że zdjęcie jest tylko poglądowe, a wyniki badań dotyczą "zwykłego" Z80. Jak znajdę chwilę, to sprawdzę pracę krokową w CA80. Jeżeli ma krótsze rozkazy, to nie będzie działać prawidłowo.
tapy pisze:PS. Przy okazji, ma ktoś pewne źródło gdzie mógłbym dostać Z180 SL1960? Procesor ten ma zmienione działanie synchronicznego portu szeregowego i często przypadkowo można na niego natrafić, powodując frustracje posiadacza gdy nie działa on zgodnie z oczekiwaniami. Przy testowaniu software czasami przydaje się posiadanie takiego "odmieńca".

Obserwowałem tego sprzedawcę, bo chciałem kupić Z280 i przy okazji widziałem też inne ciekawostki. Wygląda na uczciwego, bo zawsze miał 5.0 :D SL1960 jest czwarty.
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

Awatar użytkownika
Zegar
User
User
Posty: 312
Rejestracja: wtorek 02 lip 2019, 14:42

Re: „Starożytne” procesory

Postautor: Zegar » środa 17 sty 2024, 12:14

AukcjaWOŚPruszyła, więc proszę o aktywny udział. Cena wywoławcza tylko 1 zł. 8-)
Zestaw-WOSP24-1.jpg
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

tapy
User
User
Posty: 119
Rejestracja: niedziela 14 kwie 2019, 17:09
Kontaktowanie:

Re: „Starożytne” procesory

Postautor: tapy » wtorek 23 sty 2024, 19:27

Zegar pisze: Chciałem cofnąć się jeszcze dalej, żeby poczuć klimat nowej przygody, jaka przydarzyła mi się w technikum.

Dziś musiałem wejść na stronę autora posiadanego przez mnie kitu dla Z80, bo zawieruszyłem gdzieś jego dokumentację i przypomniało mi się to co kiedyś tu powiedziałeś. :) Tam masz odpowiedź na swoje oczekiwania, do wielu egzotycznych procesorów ten twórca zbudował trenażery, jest i tam 6502, z klawiaturą, wyświetlaczem 7-segmentowymym - jak w CA80 (na marginesie ciekawie nim steruje). Na podstawie tych projektów można zbudować komputery przypominające ten nasz kultowy. 8-) Link.


Wróć do „Retro”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości