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

Gra Arkanoid oparta o mikrokontroler Atmela '51 oraz wyświetlacz Nokia 3310

LightOfWinter 22 Gru 2017 13:10 4770 15
  • Witam.

    Gra Arkanoid oparta o mikrokontroler Atmela '51 oraz wyświetlacz Nokia 3310Gra Arkanoid oparta o mikrokontroler Atmela '51 oraz wyświetlacz Nokia 3310

    Dziś chciałem zaprezentować projekt prostej gry Arkanoid.
    Projekt został zrealizowany w oparciu o mikrokontroler Atmela '51, wyświetlacz z telefonu Nokia 3310 oraz statyczną pamięć RAM.
    Całość zbudowana jest na płytce uniwersalnej.
    W pamięci RAM przechowywana jest cała zawartość wyświetlacza.
    Kod programu został napisany w Asemblerze.

    Kosztów nie pamiętam, bo minęło już kilka lat od momentu budowy.

    Poniżej zamieszczam film do materiału wideo prezentującego projekt.


    Link


    Fajne!
  • #2 22 Gru 2017 21:15
    BANANvanDYK
    Poziom 37  

    Pochwaliłbyś się jak wyglądał kod w ASM i ile linijek wyszło.

  • #3 23 Gru 2017 20:03
    LightOfWinter
    Poziom 29  

    Witam

    Postaram się go poszukać.
    Liczę że gdzieś mam kopię nagraną na płytę.
    Dodam tylko że wtedy stworzyłem kod oraz narzędzie pod Delphi (Pascal obiektowy) które ułatwiło mi wygenerowanie tablic ze znakami ASCII. Pewnie można to zrobić prościej, ale wtedy miałem taki pomysł.

  • #4 23 Gru 2017 20:05
    22053
    Użytkownik usunął konto  
  • #6 24 Gru 2017 00:32
    22053
    Użytkownik usunął konto  
  • #7 24 Gru 2017 21:34
    LightOfWinter
    Poziom 29  

    Witam

    Zbudowałem tą grę dość dawno temu ok 2004 roku :) Przypomniałem sobie o niej bo znajomy poprosił żebym przyniósł pokazać.

    Gdy pracowałem nad tym projektem nie miałem emulatora.
    Nawet dobrego debuger-a. Nie wspominając o oscyloskopie, czy analizatorze logicznym.

    Miałem do dyspozycji przedstawioną płytkę i programator po SPI na LPT.
    Ale za to miałem sporo czasu na studiach. Pamiętam że najwięcej zajęło mi uruchomienie komunikacji z wyświetlaczem. Spędziłem też kilka godzin usuwając błędy z programu.

  • #8 27 Gru 2017 13:01
    LightOfWinter
    Poziom 29  

    BANANvanDYK napisał:
    Pochwaliłbyś się jak wyglądał kod w ASM i ile linijek wyszło.


    Witam

    Trochę to trwało zanim odkopałem pliki tego projektu.
    Proszę w załączniku plik *.hex, plik z kodem w asemblerze oraz tzw. "listing object file".

  • #11 30 Gru 2017 21:25
    Darek0026
    Poziom 12  

    Fajne ;) Kod wygląda bardzo elegancko ;)

  • #12 08 Sty 2018 11:58
    dj_john
    Poziom 13  

    Witam kolegów, ostatnio zainteresowałem się takimi już "retro" mikro kontrolerami - tym bardziej podoba mi się projekt autora. Aby emulować pamięć EPROM dla klasycznej 51 - zakładam że dzisiaj najprościej użyć AVR lub podobny który obsługiwał będzie transmisję PC<->SRAM poprzez port szeregowy. Podstawowe pytanie czy podczas działania systemu 51 dane adresowe i z pamięci są ciągle przekazywane przez mikrokontroler emulatora ? Zapewne musi być szybszy niż 51 :) Rozwiązaniem mogą być też bufory trój stanowe aby oddzielić SRAM po wgraniu softu.. Pytanie do kolegi R-MIK czy mógłby podzielić się szczegółami, dokumentacją swojego emulatora?

  • #13 08 Sty 2018 12:05
    22053
    Użytkownik usunął konto  
  • #14 08 Sty 2018 15:25
    dj_john
    Poziom 13  

    Oczywiście że technicznie nie ma sensu budować emulatora skoro są 51 programowane po SPI. Po prostu chciałem się pobawić oryginalnymi kościami które mam zachomikowane z rodzaj 8031 - ale nie mam ani programatora epromów ani kasowarki UV. Oczywiście mogę pisać i debugować program używając np 89s8253 które również posiadam ale nie w tym rzecz.

  • #15 08 Sty 2018 15:37
    22053
    Użytkownik usunął konto  
  • #16 08 Sty 2018 19:14
    acctr
    Poziom 13  

    dj_john napisał:
    Witam kolegów, ostatnio zainteresowałem się takimi już "retro" mikro kontrolerami - tym bardziej podoba mi się projekt autora. Aby emulować pamięć EPROM dla klasycznej 51 - zakładam że dzisiaj najprościej użyć AVR lub podobny który obsługiwał będzie transmisję PC<->SRAM poprzez port szeregowy.

    Był całkiem zgrabny projekt kiedyś w Elektorze. Emuluje tylko pamięci 27C256, ale może być bazą dla innych. Zamiast 89C2051 można przepisać kod na tiny2313. Są dostępne źródła na PC i uC
    http://www.pablo.lapeno.ayz.pl/pliki/e011036.PDF
    https://www.elektormagazine.com/files/magazine/2002/dolo/024107-11.zip