logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

stare mikroprocesory 6502, 6809 itp.

Goofy1991 08 Gru 2011 23:38 6620 21
REKLAMA
  • #1 10236334
    Goofy1991
    Poziom 11  
    Witajcie!

    Gdzie (to chyba za bardzo konkretne pytanie) można w tych czasach zdobyć jakiś stary mikroprocesor do zabawy ? chodzi mi o takie jak Motorola 6809, MOS Technology 6502, ewentualnie jakieś inne tego typu ciekawe rzeczy.
    Spodobały mi się takie mininkomputery które można samemu rozbudowywać (pamięć,I/O, itp.) bo jest wyprowadzona magistrala, zewnętrzne przerwania itp. a nie jak w nowszych mikrokontrolerach wszystko w środku.

    Gdyby ktoś był zainteresowany moim tematem proszę dać znać gdzie takich rzeczy można szukać ?

    o takie rzeczy mi chodzi:
    Link_6502
    Link_6809
  • REKLAMA
  • #3 10237122
    Goofy1991
    Poziom 11  
    Jasne, dzięki, tam już znalazłem, ale zastanawiałem się czy w Polszy coś takiego by było, w sumie 30PLN to nie tragedia ale myślę, że ktoś w stolicy może takie trzymać na strychu jeszcze ;)
  • REKLAMA
  • #4 10237267
    Tommy82
    Poziom 41  
    Zawsze można polować na aukcje od złotówki albo z niskim kup teraz i kupować ośmiobitowe na sekcje zwłok.
    Szczególnie ze do całych komputerów można znaleźć często bardzo dokładną dokumentacje. Z której można się wiele dowiedzieć.
  • #5 10237302
    music
    Poziom 28  
    A dlaczego nie Z80? Wydaje mi się, że łatwiej go dostać.
  • #6 10237389
    Tommy82
    Poziom 41  
    Tak spektrumna może być relatywnie tanio dostępna.
    Ale jest jeszcze commodore 128 i dwa proce do wyboru na pokładzie ale to rzadszy sprzęt.
  • #7 10238092
    tmf
    VIP Zasłużony dla elektroda
    Ale po co grzebać w zwłokach, skoro współczesne mikrokontrolery też miewają wyprowadzone magistrale. W większych AVR masz magistralę pamięci wyprowadzoną, w wielu '51 też, podobnie w ARM, XMEGA itd.
  • #8 10250319
    Mundi1970
    Poziom 24  
    Goofy1991 napisał:
    Witajcie!

    Gdzie (to chyba za bardzo konkretne pytanie) można w tych czasach zdobyć jakiś stary mikroprocesor do zabawy ? chodzi mi o takie jak Motorola 6809 ......

    6809 chyba jest dostępny w Nikomp.
  • #9 10252332
    excray
    Poziom 41  
    6502 ewentualnie jego nowszy odpowiednik czyli 8500 znajdziesz w każdym C64. Ale jak wspomniał kolega tmf lepiej jest się pobawić np. 8049, 8051, 87.. 89.. etc z tej rodziny - też mają szynę danych/adresową wyprowadzoną.
  • REKLAMA
  • #10 10254359
    phanick
    Poziom 28  
    Szukaj na aukcjach bądź w sklepach internetowych pod nazwą UA6527 lub UA6527P.
    Jest to procesor (występujący w konsolach pegasus), z jądrem procesora 6502.
    Różnica polega na tym, ze ma wbudowany generator dźwięku (sterowany poprzez zmapowany wewnętrznie obszar adresowy) i kilka innych dodatków (oraz nie ma trybu bcd)
    Jednak podciągając pin 30 pod VCC sprawiamy, że wszystkie dodatki się wyłączają i procesor (oprócz trybu bcd) funkcjonuję jak oryginalny 6502.

    Niżej zdjęcie (to ten na dole) - na górze jest PPU od tej konsoli, również ciekawa sprawa :)

    stare mikroprocesory 6502, 6809 itp.

    Mi udało się kupić kiedyś okazyjnie na aukcji parę sztuk jednego i drugiego za grosze. Niestety w dzisiejszych konsolach sprzedawanych na bazarze nie znajdziemy już tych układów, gdyż wszystko tam jest jednym czarnym zalanym glutem.

    Procesor należy taktować zegarem ok 26.601712Mhz (wewnętrznie częstotliwość ta jest dzielona za pomocą dzielnika Jordana do ok 1.79Mhz i z taką częstotliwością ten procesor działa).

    Częstotliwość tego kwarcu wynika z tego, że jest to wielokrotność częstotliwości PAL i drugi procesor (PPU) pracujący w konsoli jest taktowany tym samym kwarcem.
    Zapewne mając sam CPU można go traktować podobnym kwarcem, np 24Mhz bez różnicy.

    Schemat konsoli wygląda tak:
    stare mikroprocesory 6502, 6809 itp.

    Pozdrawiam fanów tego pięknego procesora :)
  • #13 10709840
    Konto nie istnieje
    Konto nie istnieje  
  • #14 10710052
    jarekz_2
    Poziom 16  
    Goofy1991 napisał:
    (...)takie jak Motorola 6809, MOS Technology 6502(...)

    To były bardzo fajne, mądrze zaprojektowane mikroprocesory. Szkoda że mało rozpowszechnione w Polsce.
    Na Motorolę 6803 napisałem w ramach pracy dyplomowej podprogram w języku asemblera, wykonujący pierwiastkowanie liczby 16-bitowej. Podprogram zawierał dziewięć instrukcji procesora...
  • #15 10710292
    Goofy1991
    Poziom 11  
    Fajnie koledzy, bardzo cieszy mnię zainteresowanie tematem !
    Obecnie eksperymentuję z procesorem Z80, próbuję wymyślić jakiś loader pamięci do tego.

    jarekz_2 napisał:
    Na Motorolę 6803 napisałem w ramach pracy dyplomowej podprogram w języku asemblera, wykonujący pierwiastkowanie liczby 16-bitowej. Podprogram zawierał dziewięć instrukcji procesora...


    Może zechciałbyś pochwalić się swoim pomysłem jak rozwiązałeś to pierwiastkowanie ?
  • #16 10712987
    phanick
    Poziom 28  
    jarekz_2 napisał:
    Goofy1991 napisał:
    (...)takie jak Motorola 6809, MOS Technology 6502(...)

    To były bardzo fajne, mądrze zaprojektowane mikroprocesory. Szkoda że mało rozpowszechnione w Polsce.
    Na Motorolę 6803 napisałem w ramach pracy dyplomowej podprogram w języku asemblera, wykonujący pierwiastkowanie liczby 16-bitowej. Podprogram zawierał dziewięć instrukcji procesora...


    Pozwole sobie z Tobą nie zgodzić.

    O ile Z80 jest faktycznie bardzo dobrze zaprojektowany (porty wyjściowe, duża liczba rejestrów, oddzielne linie sterujące R/W), o tyle 6502 jest zwykłą kupą z błędami (przynajmniej pierwsze egzemplarze).

    Tylko trzy rejestry są lekkim nieporozumieniem

    8bitowy stos także.

    Magistrala jednodrutowa (R/~W) to porażka - każdy cykl procesora musi być albo odczytem albo zapisem. O ile w przypadku pamięci nie ma to znaczenia, o tyle jeśli mamy urządzenia mapowalne na adresy w pamięci, to generowane sa fałszywe cykle.

    Dodam jeszcze fakt paru błędnych opcodów, różny czas wykonania niektórych instrukcji w zależności od tego, czy znajdują się na granicy stron pamięci oraz to, że przy równoczesnym wykonaniu instrukcji BRK i przyjściu przerwania IRQ to pierwsze jest niewykonywane..

    A i czy powiedziałem, że instrukcje RTI i RTS (powrót z przerwania i powrót z procedury) robią coś innego? Jedna musi dodawać do adresu powrotu jeden, bo programiści przy instrukcji JSR (skok do funkcji) sprawili, że wrzuca ona na stos zamiast aktualnego PC to PC - 1.
  • REKLAMA
  • #18 10719866
    jarekz_2
    Poziom 16  
    Na Motorolę 6803 napisałem w ramach pracy dyplomowej podprogram w języku asemblera, wykonujący pierwiastkowanie liczby 16-bitowej. Podprogram zawierał dziewięć instrukcji procesora...
    Może zechciałbyś pochwalić się swoim pomysłem jak rozwiązałeś to pierwiastkowanie ?

    Wygrzebałem notatki. Cytuję:
    
    ;argument 16-bitowy jest w zmiennej ARG
    SQRR:    CLR B
             LDX #0
             CPX ARG
             BPL  END
    LOOP:    ABX
             INC  B
             ABX
             CPX ARG
             BMI LOOP
    END:
    
    Napisałem to 27 lat temu, więc analizę jak to działa pozostawiam innym...
  • #21 10720618
    Konto nie istnieje
    Konto nie istnieje  
  • #22 10720865
    jarekz_2
    Poziom 16  
    albertb napisał:
    Fajny podprogram(...)Niestety jest kilka niedoróbek.
    1. Dziwne (niestandardowe) zaokrąglanie wyniku.
    Tzn. wartość poprawna dla kwadratów, dla pozostałych - zaokrąglenie w górę.
    2. Powoduje to błędny wynik dla argumentów większych od 0xFF *0xFF.
    3. Niestety czas wykonania nie jest taki krótki jak kod, a wręcz jest to metoda
    brute force(...)
    Ten podprogram należy traktować jako ciekawostkę: raz że krótki, dwa że nie wykorzystuje instrukcji mnożenia. Ale może się długo wykonywać. Nie został użyty w mojej pracy dyplomowej właśnie ze względu na czasochłonność. A sprawne algorytmy stałoprzecinkowe obliczania pierwiastka były już na Forum prezentowane.
REKLAMA