Skocz do zawartości
atlantis86

POLON 7880 - jednopłytkowy komputer w stylu retro

Pomocna odpowiedź

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 🙂

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Gratuluję pomysłu i realizacji. Tego typu konstrukcji ostatnio jest jakby więcej. W czasach Linuxów pracujących na płytkach wielkości paznokcia czy PC-towych emulatorów całych 8-bitowców wraz z ich dźwiękiem i grafiką zaskakujący to fakt. To pewnie jak ze starymi samochodami czy meblami - zawsze znajdą się pasjonaci otaczania się takimi przedmiotami dla samej przyjemności powspominania 🙂 Żeby nie było, sam się do nich zaliczam.

Na Twojej płytce widzę nie tylko CPU ale także kontroler, zegar, dekoder 405 a nawet rejestry 412 produkcji polskiej. NIe wiem, czy nawet 8255 nie masz z CEMI - napis jest nieczytelny, czyli wszystko co można było wziąłeś z "narodowej" produkcji. Jedynie kostki których nie robiliśmy, jak USART 8251, liczniki 8253 lub pamięci masz zachodnie. To tak specjalnie czy efekt jest niezamierzony? A jeśli specjalnie celowałeś w układy CEMI to zdradź proszę tajemnicę gdzie dzisiaj kupiłeś takie zabytki polskiej myśli technicznej. A może to własne zapasy?

Napisałeś, że organizacja pamięci umożliwia puszczenie CP/M, ale tam RAM powinien być od zera. Jak pogodziłeś to z faktem konieczności startowania z EPROMu? Jakiś remapping z przerzutnikiem przełączającym na żądanie dekoder? Czy mógłbyś przedstawić mapę pamięci przed i po przełączeniu?

Czy oprogramowanie pisałeś na PC z użyciem jakiegoś asemblera skrośnego? Możesz wskazać którego?

Jak zamierzasz zrobić interfejs FDD? Masz jakieś pomysły? Czy także przy pomocy starutkich kostek typu 8272 (o ile pamiętam numerację), coś "nowszego" od Western Digital (279x?) czy w ogóle jakiś współczesny kontroler np. Microchipa? A może będą to 8-calowe monstra zajmujące pół typowego biurka?

To samo pytanie o kartę video 🙂 Można to dziś zrobić na wiele sposobów, kontrolerów CRT było przecież jak mrówków a ja jestem ciekaw Twojego pomysłu. I gdzie będzie miejsce (na mapie pamięci) na video-RAM? Grafika czy znakowy? A może osobny terminal szeregowy/RS232 z klawiaturą i CRT?

Edytowano przez marek1707
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
9 godzin temu, marek1707 napisał:

Gratuluję pomysłu i realizacji. Tego typu konstrukcji ostatnio jest jakby więcej. W czasach Linuxów pracujących na płytkach wielkości paznokcia czy PC-towych emulatorów całych 8-bitowców wraz z ich dźwiękiem i grafiką zaskakujący to fakt. To pewnie jak ze starymi samochodami czy meblami - zawsze znajdą się pasjonaci otaczania się takimi przedmiotami dla samej przyjemności powspominania 🙂 Żeby nie było, sam się do nich zaliczam.

Po części to jest właśnie powodem w moim przypadku. Poza tym - parafrazując Corry'ego Doctorowa - dopiero eksperymentowanie z technologią retro można sobie uświadomić jak szybko rozwijała się technika w ciągu ostatnich kiku dekad. No i nie można pomijać aspektu dydaktycznego. 🙂

Cytat

Na Twojej płytce widzę nie tylko CPU ale także kontroler, zegar, dekoder 405 a nawet rejestry 412 produkcji polskiej. NIe wiem, czy nawet 8255 nie masz z CEMI - napis jest nieczytelny, czyli wszystko co można było wziąłeś z "narodowej" produkcji. Jedynie kostki których nie robiliśmy, jak USART 8251, liczniki 8253 lub pamięci masz zachodnie. To tak specjalnie czy efekt jest niezamierzony? A jeśli specjalnie celowałeś w układy CEMI to zdradź proszę tajemnicę gdzie dzisiaj kupiłeś takie zabytki polskiej myśli technicznej. A może to własne zapasy?

Układ 8255 również jest produkcji CEMI, napis na obudowie faktycznie jest mocno zatarty. Zastosowane polskich układów było z mojej strony celowe. Jak je zdobyłem? Część udało mi się kupić na Allegro, część miałem w swoich domowych zapasach. Amatorską elektroniką zacząłem się interesować jeszcze jako dzieciak, w latach dziewięćdziesiątych, a wtedy części od CEMI były dostępne za bezcen. Trochę więc kupiłem ich za kieszonkowe, trochę dostałem od wujków również zajmujących się tym hobby. Wtedy oczywiście moje zainteresowania ograniczały się do odtwarzania cudzych projektów, opisywanych w książkach.

Wracając do opisywanego projektu - rozglądałem się też za 8251 i 8253 wyprodukowanymi w innym kraju bloku wschodniego, ale nie udało mi się ich na czas zdobyć. Zastosowałem więc elementy z zachodu. No i pamięci są zachodnie (i nieco bardziej współczesne). Stwierdziłem, że stosowanie układów DRAM od CEMI jest niewarte zachodu. To znaczy efekt byłby fajny, ale wtedy komputer nie zmieściłby się na jednej płytce, a jego wykonanie zajęłoby mi dużo więcej czasu...

Cytat

Napisałeś, że organizacja pamięci umożliwia puszczenie CP/M, ale tam RAM powinien być od zera. Jak pogodziłeś to z faktem konieczności startowania z EPROMu? Jakiś remapping z przerzutnikiem przełączającym na żądanie dekoder? Czy mógłbyś przedstawić mapę pamięci przed i po przełączeniu?

Prosty układ na dwóch bramkach NAND, sterowanych z układu UCY74S412 (który jest również wykorzystywany do przełączania banków pamięci RAM). Układ jest wpięty między procesor i szynę adresową, na dwóch najstarszych liniach. Po restarcie są one trzymane w stanie wysokim, przez co program wykonuje się od 0xC000, czyli od początku EPROM-u. Dopiero wtedy linia sterująca jest zerowana i bramki zaczynają przepuszczać stany A15 i A14 wystawiane przez CPU.

Jeśli chodzi o organizację pamięci, to najpierw mamy 32kB RAM-u dostępnego bezpośrednio. Potem kolejne 32kB RAM-u w formie dwóch banków po 16kB. Następnie 16kB EPROM-u.

Cytat

Czy oprogramowanie pisałeś na PC z użyciem jakiegoś asemblera skrośnego? Możesz wskazać którego?

Na samym początku zaczynałem od przeglądarkowego asemblera  asm80.com. To na nim pisałem kod do migania diodą. Na etapie portowania TinyBASIC-a używałem ACME cross-asembler, chociaż eksperymentowałem też z kilkoma innymi.

Cytat

Jak zamierzasz zrobić interfejs FDD? Masz jakieś pomysły? Czy także przy pomocy starutkich kostek typu 8272 (o ile pamiętam numerację), coś "nowszego" od Western Digital (279x?) czy w ogóle jakiś współczesny kontroler np. Microchipa? A może będą to 8-calowe monstra zajmujące pół typowego biurka?

Jeszcze nie podjąłem decyzji. Płytę I/O traktuję jako osobny projekt na przyszłość. FDD prawdopodobnie zrobię na 8272, a kontroler klawiatury na 8042. Jeszcze nie podjąłem decyzji co do sterownika ekranu. Będzie to z całą pewnością jeden z układów posiadających RAM we własnej przestrzeni adresowej, funkcjonujący w przestrzeni adresowej I/O, Czyli innymi słowy coś obsługiwanego w sposób podobny do ekranów na HD44780, ale z wyjściem kompozytowym do podłączenia telewizora. Interesuje mnie tylko tryb tekstowy. To nigdy nie miała być graficzna maszyna. Chciałbym na tym kiedyś odpalić CP/M i Zorka. 😉

Cytat

A może osobny terminal szeregowy/RS232 z klawiaturą i CRT?

Gdyby udało mi się zdobyć coś klasycznego, np. jakąś MERĘ, to czemu nie? 😉

BTW to nie jest mój jedyny projekt w stylu retro. Możliwe, że w najbliższym czasie wrzucę opis czegoś na 6502. 😉

Edytowano przez atlantis86
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Aspekt dydaktyczny by zachodził gdyby to była pierwsza Twoja praca tego typu. No chyba, że kiedyś tylko zbierałeś scalaki a dopiero teraz ich używasz. Nie sądzę, by tak było.

CEMI robiło też pamięci statyczne, łatwo do 8080 podłączalne. Na pewno intelowskie 2101 czyli 1Kx1bit i próbowało 2114 czyli 1Kx4 bity. No ale wtedy moduł pamięci RAM 32Kx8 byłby wielkości akwarium. Da się, ale to już chyba przegięcie. Na 16 sztukach 2114 był zrobiony mój pierwszy komputer na 8080. Żadną grą nigdy nie zapełniłem tych 8K..

Ja wiele rzeczy napisałem dzięki CROSS-16. To asembler sterowany tablicami więc jeden program służył do tłumaczenia programów na 6502, 8048, 8080, Z80, 68000 itd.Pracował pod DOSem. Z powodu uniwersalności, jego dyrektywy i niektóre postaci argumentów niestety nie były identyczne ze składnią oryginalnych asemblerów poszczególnych procesorów - trzeba się było przyzwyczaić Za to był szybki i generował parę formatów wyjściowych..

No to na 8272 się namęczysz. Tam trzeba robić separator zegara/danych (czyli najsmakowitszą rzecz w kontrolerze FDD) na piechotę. Spróbuj na scalakach WD, one miały separator dla różnych prędkości już wbudowany. A chyba też są wystarczająco stare :)

Wiesz, tryby tekstowe istniały tylko dlatego, że brakowało RAMu i był drogi. Skoro już tutaj zdecydowałeś się na kostki po 32K to przecież schemat karty w pełni graficznej jest prostszy niż znakowej, odpada generator znaków, ewentualne zarządzanie atrybutami koloru tła/znaku itp.Tylko że przez porty I/O na 8080 to wolne będzie :( Moja pierwsza maszyna miała czarno-biały ekran 32 znaki w 16 liniach na jednej kostce 1024x4 i polskim generatorze MCY7304 :)

Powodzenia w dalszej zabawie.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
13 minut temu, marek1707 napisał:

Aspekt dydaktyczny by zachodził gdyby to była pierwsza Twoja praca tego typu. No chyba, że kiedyś tylko zbierałeś scalaki a dopiero teraz ich używasz. Nie sądzę, by tak było.

To może sprecyzuję, bo to dłuższa historia. Kiedyś moje zainteresowania amatorską elektroniką ograniczały się do składana cudzych konstrukcji, opisywanych w książkach. I faktycznie zbierałem wtedy scalaki, często nie z myślą o konkretnych projektach, ale po prostu mając nadzieję, że w przyszłości mogą się przydać. Oczywiście mam tutaj na myśli drobne układy TTL, a nie procesory czy pamięci - te istotnie musiałem kupić niedawno z myślą o tym konkretnym projekcie.

Poza tym miałem długą przerwę w praktykowaniu amatorskiej elektroniki. Na pewien czas poszła ona odstawkę, a ja zainteresowałem się paroma innymi rzeczami, moje techniczne pasje poszły raczej w kierunku komputerów i oprogramowania. Do "hardware'u" wróciłem dopiero około 2008 roku, początkowo zresztą zajmując się tylko radioamatorstwem. Za elektronikę cyfrową zabierałem się powoli, najpierw zaczynając od programowania mikrokontrolerów. Dopiero ostatnio zaczęło mnie kusić retro.

I tak - to jest mój pierwszy projekt tego typu, bo paru konstrukcji w stylu lat dziewięćdziesiątych na układach 8051 od Atmela nie liczę.

Cytat

No to na 8272 się namęczysz. Tam trzeba robić separator zegara/danych (czyli najsmakowitszą rzecz w kontrolerze FDD) na piechotę. Spróbuj na scalakach WD, one miały separator dla różnych prędkości już wbudowany. A chyba też są wystarczająco stare 🙂

Dzięki za sugestię. Będę pamiętał, gdy już się za to zabiorę. 😉

Cytat

Wiesz, tryby tekstowe istniały tylko dlatego, że brakowało RAMu i był drogi. Skoro już tutaj zdecydowałeś się na kostki po 32K to przecież schemat karty w pełni graficznej jest prostszy niż znakowej

Z trybu graficznego  tak bym nigdy nie skorzystał. To ma być docelowo (kiedyś) maszyna do CP/M.

Cytat

Powodzenia w dalszej zabawie.

Dziękuję. 😉

Edytowano przez atlantis86
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

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ę »

×