Elektroda.pl
Elektroda.pl
X
Computer ControlsComputer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

damik 04 Lip 2017 07:59 81453 303
  • #181
    Father
    Poziom 26  
    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    Ponieważ płytka do CA80 jest praktycznie nie do zdobycia, jedyną możliwością było jej odtworzenie na podstawie dostępnej dokumentqacji. Efekty pracy widać na powyższym zdjęciu. W stosunku do oryginału zmianie uległo złącze użytkownika (ZU50), które teraz jest 68-pinowe (D-SUB 68). Udało mi się też zmieścić na płytce gniazdo mini Jack dla magnetofonu (co prawda w wersji SMD, ze względu na ograniczone możliwości prowadzenia ścieżek, co jest odstępstwem od użytej w oryginale technologii THT, jednak dzięki temu płytka ma na sobie wszystkie złącza i gniazda więc nie ma potrzeby montowania niczego poza płytką).

    Czas ją zmontować i sprawdzić czy działa :D
  • Computer ControlsComputer Controls
  • #182
    ptero
    Poziom 16  
    Witam. Zrobiłbyś więcej takich płytek, pewnie byłby popyt, sam bym taką kupił. :)
  • Computer ControlsComputer Controls
  • #183
    Father
    Poziom 26  
    Nie planuję wykonania większej ilości ponieważ przy tej wielkości płytki cena jest dość znaczna, a koszt płytki z elementami będzie na pewno większy niż koszt Raspberry Pi :)
  • #186
    Michal2002
    Poziom 22  
    No to może ja kiedyś zrobię płytkę i wrzucę na forum bo widzę ,że jest potrzeba :)
  • #187
    zipzap
    Poziom 15  
    To ja pokażę moją płytkę do CA80 w wersji MIK290. Jest to prawie dokładna kopia oryginału. Zdjęcia są trochę prześwietlone, dlatego soldermaska ma taki jasny zielony kolor.

    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    Zabrałem się już za składanie całości. Wszystkie układy mam, ale oczywiście pojawił się problem z drobnicą :). Do komputerka wykonałem (już ręcznie) płytkę klawiatury. Wyświetlacz będzie oparty o lampę IW-18.

    Zobaczymy czy ruszy :)

    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka
  • #188
    zipzap
    Poziom 15  
    CA80 został złożony i działa wyśmienicie :)

    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    Do komputerka dorobiłem płytkę klawiatury. Jej rozmiar jest taki sam jak rozmiar CA80. Identyczny jest także rozstaw otworów oraz umieszczenie gniazda klawiatury i wyświetlacza. Dzięki temu całość można złożyć w kanapkę. Na płytce klawiatury jest dodatkowo miejsce na głośniczek oraz diodę sygnalizującą zasilanie.

    Napięcie +25V do VFD generowane jest przez przetwornicę widoczną na zdjęciach. Dzięki temu całość można zasilić jednym napięciem 5V.
  • #189
    andrzejlisek
    Poziom 28  
    Niedawno napisałem program przetwarzający plik binarny na dźwięk umożliwiający wgranie do CA80 przez interfejs magnetofonowy oraz w drugą stronę, czyli przetworzenie dźwięku z CA80 na plik binarny. Ten program nie nagrywa i nie odtwarza dźwięku, ale pozwala przetworzyć plik WAVE (koniecznie PCM, 16-bit mono) na plik binarny, a także wygenerować plik WAV na podstawie pliku binarnego.

    Interfejs jest bardzo prosty, jak się najedzie na etykietę, to pojawia się tooltip z opisem danej wartości zawierającym informację o kierunku konwersji, w którym dany parametr jest używany, a także, czy podanie parametru jest wymagane. Domyślne wartości są przewidziane dla dźwięku odtwarzanego z częstotliwością 44100Hz i dla domyślnych parametrów dźwięku w CA80 (prędkość danych i liczba bajtów w bloku).

    Próg amplitudy impulsu należy dobrać doświadczalnie dla konkretnego nagrania z CA80, bo silnie zależy od głośności tego nagrania. Pliki kontrolne nie są po to, żeby je odtwarzać, tylko po to, żeby wyświetlić w jakimś edytorze dźwięku i przeanalizować, jak program przefiltrował dźwięk w celu ustalenia przyczyny błędu dekodowania.

    Po ustawieniu plików i parametrów należy kliknąć jeden z dwóch przycisków w zależności od kierunku konwersji, w polu poniżej wyświetli się wynik konwersji.

    Ja mam CA80 z pamięcią RAM w obszarze od 8000 do FFFF. Za pomocą tego programu przetestowałem na CA80 gry zawarte w MIK-ach, a także cały C930, który wczytywał się przez pół godziny, ale działał poprawnie. Nie testowałem innych prędkości wczytywania, ale też stwierdziłem, że "rozbiegówka" (szereg 32 bajtów 00h opisany jako do synchronizacji) nie jest potrzebna, więc ten program jej nie generuje, ani nie przetwarza (po prostu pomija takie bajty, jak jest między blokami danych, przed pierwszym lub za ostatnim blokiem).
  • #190
    andrzejlisek
    Poziom 28  
    Czy ktoś z Was próbował i ma doświadczenie w programowaniu CA80 za pomocą SDCC?

    O ile samo programowanie Z80 nie jest problemem, o tyle problemem jest takie ustawienie kompilacji, żeby program zadziałał poprawnie w sytuacji, w której na program jest przeznaczony obszar np. od C000 do FF00, a nie od 0000. W przypadku rozpoczynania programu od 0000 nie ma żadnego problemu. Kiedyś raz próbowałem z definiowaniem adresu obszaru pamięci, a nawet ręcznym przenoszeniem tego, co kompilator wrzucił na początek (pomimo zmiany adresu), jednak mi się nie udało uruchomić programu w emulatorze. Jak adres rozpoczynał się od 0000, to program po załadowaniu do emulatora (zamiast monitora CA80) działał poprawnie. Chcąc nie wyważać otwartych drzwi, zapytam Was o doświadczenie w tej sprawie.
  • #191
    Father
    Poziom 26  
    Jeszcze nie testowałem, ale... trzeba zmienić ustawienia linkera, co jest możliwe na dwa sposoby:

    1. Modyfikacja skryptu linkera
    2. Przekazanie opcji dla linkera za pośrednictwem SDCC

    Zakładając, że używamy standardowego skryptu linkera, a potrzebujemy tylko relokować kod, lepszym wyjściem będzie drugie rozwiązanie.

    W punkcie 3.3.5 SDCC Compiler User Guide opisane są opcje linkera (obstawiam code-loc lub -Wl linkOption)...
  • #192
    damik
    Poziom 15  
    Father napisał:
    Nie planuję wykonania większej ilości ponieważ przy tej wielkości płytki cena jest dość znaczna, a koszt płytki z elementami będzie na pewno większy niż koszt Raspberry Pi :)


    Troszkę po czasie, ale jest alternatywa dla drogiej płytki wersji 2, można tanim kosztem, nawet metodą żelazkową wykonać w warunkach domowych płytkę jednostronną w wersji 1 ca80.
    Co prawda wymaga zamontowania pewnej liczby zworek, ale koszt płytki to około 10zł jeśli się ją wykona samemu.
    Trzeba jedynie pamiętac o firmware dla wersji 1 jest inny niż wersji 2.
    Moim osobistym zdaniem wersja 1 jest bardziej atrakcyjna i wartościowa (bo pierwotna konstrukcja).
    Posiadam obie wersje i jedank do pierwszej jest większy sentyment, ale to kwestia gustu.
  • #193
    darpajdp
    Poziom 22  
    damik napisał:
    Moim osobistym zdaniem wersja 1 jest bardziej atrakcyjna i wartościowa (bo pierwotna konstrukcja).
    Posiadam obie wersje i jedank do pierwszej jest większy sentyment, ale to kwestia gustu.

    Mam takie samo zdanie.
    Co do firmware, nie rozpatrywałem do końca schematów obu wersji, ale z tego co pamiętam różnica jest tylko w matrycy klawiszy i z stąd związane zmiany programowe. Druga różnica to porty 8250 bo w pierwszej wersji były jakieś zwory związane z obecnością Z80 CTC lub jego brakiem.
  • #194
    damik
    Poziom 15  
    darpajdp napisał:
    damik napisał:
    Moim osobistym zdaniem wersja 1 jest bardziej atrakcyjna i wartościowa (bo pierwotna konstrukcja).
    Posiadam obie wersje i jedank do pierwszej jest większy sentyment, ale to kwestia gustu.

    Mam takie samo zdanie.
    Co do firmware, nie rozpatrywałem do końca schematów obu wersji, ale z tego co pamiętam różnica jest tylko w matrycy klawiszy i z stąd związane zmiany programowe. Druga różnica to porty 8250 bo w pierwszej wersji były jakieś zwory związane z obecnością Z80 CTC lub jego brakiem.


    Sprawdzałem kiedyś firmware z wersji 2 w płytce wersji 1.
    Komputer się podnosi i zgłasza komunikatem CA80 jednak klawiatura nie chce działać...
    Zwory są gdzieś opisane w dokumentacji na początku tematu, firmware też był tu udostępniony. Był też zrobiony projekt płytki jednostronnej.
  • #195
    andrzejlisek
    Poziom 28  
    Wszystkie różnice między starym i nowym firmware są dokładnie opisane w MIK09, kilka stron wstecz udostępniłem wszystkie MIK. Różnice są tylko w podstawowym CA80.

    Najważniejsze, to:
    1. Cztery rozkazy NOP na początku w celu zapewnienia prawidłowego rozruchu komputera
    2. Inny układ klawiatury
    3. Naciśnięcie klawiszy 89 umożliwia wejście do EPROM w 8000-BFFF, jest to zrobione pod C930
  • #196
    phanick
    Poziom 28  
    zipzap napisał:
    CA80 został złożony i działa wyśmienicie :)

    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    Skoro wykorzystałeś wyświetlacz z kalkulatora ELWRO to mogłeś też wykorzystać z niego klawiaturę i obudowę - sam skupowałem kiedyś te kalkulatory po 10zł (mam ich chyba z 20 sztuk)
  • #197
    zipzap
    Poziom 15  
    He he, czytasz w moich myślach. Właśnie takie cos powtstaje. Klawiaturę da się spokojnie wykorzystać, tylko trzeba zmienić siec połączeń i pozmieniać niektóre napisy. Płytka pasuje idealnie - możliwe, że pierwotnie była planowana do takiej obudowy (elwro 144). Do środka zmieści się nawet zasilanie - ładowarka do telefonu, więc można wykorzystać włącznik zasilania. Jednym słowem z kalkulatora pozostaje tylko płyta główna bez lampy. Reszta jest wykorzystana w całości. Jak poskładam to wrzucę zdjęcia.
  • #198
    andrzejlisek
    Poziom 28  
    Obudowa CA80 jest taka sama, jak od kalkulatora Elwro 183 i Elwro 190, dlatego możliwe, że pasuje do obudowy od kalkulatora Elwro 144 lub jakiegoś jeszcze innego.
  • #199
    Father
    Poziom 26  
    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka
    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    Złożyłem i uruchomiłem płytkę (chociaż z tym uruchomieniem, to przesada, po włączeniu zasilania od razu ruszył :D ), tak więc kolejny egzemplarz mikrokomputera CA80 rozpoczął nowe życie. Przy okazji przyszedł mi pomysł na nowy wyświetlacz (też VFD) do niego, ale to już temat na inny post....
  • #201
    Simon79
    Poziom 18  
    Też dołączam się o pytanie dot. wyświetlacza. Mam 2 szt VFD z kasy fiskalnej , jednak nie mam oznaczenia i nie jestem w stanie określić wyprowadzeń. Czy kolega podzieli się taką wiedzą?
  • #204
    zipzap
    Poziom 15  
    Druga strona więcej by dała :)

    Spróbuj oprzeć się na tym co w linku. Z wyglądu to dosyć podobny wyświetlacz

    http://bienata.waw.pl/docs/VFD-post-scriptum-trzy-metody.pdf

    Na pewno żarzenie masz na zewnętrznych nóżkach. Podłącz tam ze 3v. Potem w oparciu o tego pdf albo po kolei podawaj +12V (powinno starczyć) na wybrane dwie nóżki. Chodzi o to, żeby jedna była siatką, a druga segmentem. Testując w ten sposób łatwo zidentyfikować, które z nich to siatki, a które to segmenty. Możliwe, że jeden zestaw nóżek to segmenty, a drugi siatki.
  • #207
    darpajdp
    Poziom 22  
    Może wyświetlacze VFD fajniej wyglądają ale ja wole wyświetlacz LED, można sobie dobrać kolor i nie wymagają 25V. Fakt, potrzebna jest płytka do zamontowania 8szt. wyświetlaczy z odpowiednio połączonymi katodami i 8szt. tranzystorów, 8szt. rezystorów i wymiana układu 7442 na 74145 ale to dla elektronika nie problem. Dokładny opis w dokumentacji CA80.
  • #208
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #209
    Father
    Poziom 26  
    Programowanie Z80 (CA80) w C z użyciem SDCC – mini poradnik

    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    1. Pobieramy SDCC
    2. Pobieramy Code::Blocks
    3. Instalujemy SDCC
    4. Instalujemy Code::Blocks

    Podczas instalacji Code::Blocks powinien znaleźć SDCC (Small Device C Compiler), który ustawiamy jako domyślny kompilator. Następnie konfigurujemy Code::Blocks czyli w menu Settings->Compiler->Other Settings->Advanced options->Others zmieniamy rozszerzenie “object file extension” z “o” na “rel” oraz z listy Settings->Compiler->Other Settings->Advanced options wybieramy “Link object files to console executable” i zmieniamy “Command line macro” na:

    $linker $libdirs -o $exe_dir\$exe_name.hex $options $link_options $libs $link_objects

    5. Tworzymy nowy projekt File->New->Project i wybieramy "Empty project”

    Po utworzeniu projektu klikamy na nim prawym klawiszem myszy i wybieramy "Build options”. Zaznaczamy opcję [CPU] Zilog Z80 [-mz80]. Wyłączamy kod rozruchowy zaznaczając opcję [Z80] When linking, skip the standard crt0.o object file.
    W opcjach linkera "Linker settings” relokujemy kod pod wybrany adres dodając w polu "Other linker options” polecenie --code-loc 0x0100 (w tym przypadku pod adres 100H). Podobnie możemy relokować dane pod wybrany adres poleceniem --data-loc.

    Standardowo dla targetu "Release" włączona jest optymalizacja wielkości kodu, a dla "Debug” symbole do debugowania.
    Jeśli wszystko poprawnie skonfigurowaliśmy po kompilacji powinniśmy otrzymać komunikat (oczywiście pod warunkiem, że kod jest poprawny):

    Process terminated with status 0 (0 minute(s), 0 second(s))
    0 error(s), 0 warning(s) (0 minute(s), 0 second(s))

    Komunikat "at 1: error 119: don't know what to do with file 'obj\Release\xxxx.o'. file extension unsupported" oznacza, że rozszerzenie “object file extension” z “o” na “rel” nie zostało zmienione.

    5. Kodujemy :D
  • #210
    Atlantis86
    Poziom 19  
    Ostatnio w moje ręce wpadła płytka do CA80 (nowa wersja, dwustronna, z soldermastką). Powoli zacząłem składać ten komputerek. Niestety brakuje płytki klawiatury/wyświetlacza oraz zasilacza - będę musiał dorobić je we własnym zakresie.
    Tak swoją drogą jestem ciekaw, czy społeczność użytkowników CA80 wyszła kiedykolwiek poza wpisywanie programów z klawiatury szesnastkowej w kodzie maszynowym? Nie pojawił się jakiś projekt BASICA (choćby przez terminal) albo rozszerzenie peryferiów, pozwalające na podpięcie pełnej klawiatury i telewizora?