Projekt Microfootball v1.02 (mikro fotbal) ke stažení

Neregistrovaný, ale o to známější uživatel fóra Hannibal (známý z tématu o emulátoru EMA51, zvukového generátoru, MCU modulu, Sféry, Helleny-51 (single-board computer), postupu pro crack a LED kostky) byl tak hodný a zaslal mi hotovou konstrukci mikrofotbalu.

Microfootball v1.02 - Mikro fotbal 1.02

Tento stolový – barový automat s trocha extravagantným názvom a plochou, je u nás viac-menej zriedkavosťou a jeho tvorcom bol M. Stephanopulos z Pýrejského ASYAsoftware. Kedže ma táto hra zaujala, prešla so súhlasom autora mojimi úpravami. Zrušil som spúšťanie hry vhodením mince, doplnil som voliteľné menu nastavení a nahradil zvuky mojou rutinou, generujúcou typickú 1-bitovú muziku. Odstránil som tak pôvodné obyčajné „pískajúce“ skladby, ktoré hru sprevádzali.

Popis a princíp hry

Hra pozostáva z LCD displaya, dvoch tlačidiel servis (každá strana má jedno) a plochy s dvomi „mužstvami“. Každé má 9 hráčov, v tomto zapojení simulovaných diodami LED červenej a žltej farby, pričom svietiaca LED vždy predstavuje aktuálneho hráča s loptou, alebo gól strelený v bránke. Futbalová plocha je delená na obranné pásmo žltých, červených a stred, kde sa rozohrávka začína. Princíp činnosti je nasledovný: v menu hry si vyberiete, či si chcete zahrať duel proti inému hráčovi alebo procesoru. Nastavenia a stav zápasu počas hry prehľadne zobrazuje LCD display. Následne sa po stisku niektorého tlačidla servis zvolí, ktorá strana v strede rozohrávku začne – čo vyberie náhodným vygenerovaním procesor a rozsvieti sa niektorá (červená/žltá) LED č.4 – viz. obrázok hracia plocha. Predpokladajme, že rozohráva červený tím – A. Rozblikajú sa hráči v strede plochy a žltý tím – B rozohrávku stisnutím svojho tlačidla servis zastavuje. Ak by zastavil na červenom hráčovi, tak opäť rozohráva tím A, ale teraz sa hra presúva do obranného pásma tímu B a ten opäť zastavuje rozohrávku. Ak však zase zastavil na červenom hráčovi, tak tím A si pásmo udržal, pokračuje v nátlaku a zase rozohráva v obrane tímu B… Ak by žltý tím B zastavil práve rozsvietenú LED vo svojej bránke – je signalizovaný gól, čo sa ihneď zobrazuje aktuálne na LCD displayi. Zaujímavé je to, že ak žltý tím zastaví rozohrávku na svojom „brankárovi“ – tak ten v závislosti na nastaveniach hry môže prihrávku vrátiť nazad do stredu, alebo prekopnúť ihrisko až do obrany červených a hra sa razom otočí. Ďalšou vecou je sila rozohrávky, ktorá má 4 úrovne rýchlosti blikania LED: 1= pomalé, ľahko postrehnuteľné blikanie až po 4= totálna náhoda, kedy rýchlosť blikania LED pripomína takmer trvalé svietenie. Tieto úrovne sa počas každej rozohrávky náhodne menia, takže nemusí vyslovene vyhrať iba hráč s lepším postrehom. Pri dueli si môžete zvoliť virtuálneho protihráča – procesor, s nastaviteľnou úrovňou „oponentúry“ (level 1 – 3). V prípade, že sa rozhodnete zvoliť ho ako súpera počítajte s tým, že pri leveli 3 je dosť silný protivník. Ako som odpozoroval z hry – rozohrávku sily 4 berie férovo ako náhodu, no pri zvyšných - slabších rozohrávkach určite gól nedostane a snaží sa zastaviť na hráčovi svojej farby; tým pádom ho je problém poraziť. V prípade remízy o víťazovi rozhodne kopanie troch (alebo viacerých) penált na oboch stranách – rozohrá hráč pred bránkou a bliká maximálnou rýchlosťou len LED súperovho brankára a gólu v sieti – prostá náhoda. Čas jedného zápasu je možné nastaviť od 3 – 10 minút. Každá reakcia v hre, ako aj celá hra je podmazaná rôznymi zvukmi – efektami a hudbou, pripomínajúcou staré 8-bitové počítače.

Konštrukcia

Na dosť nekvalitnom GIF obrázku, ktorý som k tomuto zapojeniu od autora pôvodne mal, bola hra v tvare štadióna s pokreslenými fanúšikmi a reklamnými shotmi po obvode ihriska, osadená priesvitnými, svetielkujúcimi postavičkami hráčov na zelenej ploche s bránkami, bielymi čiarami a LCD displayom, ktorý pripomínal sveteľnú tabuľu štadióna.

Základná schéma zapojenia je na obr.1. Bola navrhnutá tak, aby bolo možné pri realizácii vyrobiť jednoduchý plošný spoj. Pri zhotovení hry ako „stolové“ prevedenie doporučujem úpravy podľa obr.2. Vstupy P3.2 a P3.3 je v prípade potreby vhodné ošetriť nejakými rezistormi (napr. 4k7) voči vetve +5V. Zapojenie bolo napájané z 5V stabilizátora LM7805 – jeho zapojenie už bolo publikované mnohokrát.

SEEPROM AT24c01 je nutná iba pre možnosť upravenia niektorých vlastností hry, ak nie je osadená, použije MCU východiskové nastavenie. Obr.3 znázorňuje editovanie „menu“ položiek, a pozície strán červený/žltý hráč na displayi. Upozornenie: Pôvodný autor nepovoľuje vyrábať túto hru za účelom komerčného využitia, len pre individuálne účely. SW do procesora je shareware, prípadní záujemci ho môžu zaregistrovať e-mailom na adrese: hannibal_carthago@zoznam.sk

Súčiastky pre základné zapojenie

Odpory: 330 Ohm, 180 Ohm, trimer 2K2/N, miniatúrny reproduktor 75 Ohm
Kondenzátory: 2x 27p, G1/6V, 1µ/6V
Polovodiče: 10x červené a žlté LED diody
Integr. obvody: AT89S52 (…C52), LCD displej PICVUE 2016 (2x 16 znakov)
Ostatné: Kryštál 12MHz, 2x tlačidlo
microfootball_v1_02-stavebna_dokumentacia.pdf (1.94 MB)





microfootball_v1_02-program.hex (22.5 KB)

Hannibale, jak je vykoumaná ta muzika? Časování tempa + výška noty = timer 0 a 1?

Myslím, že Hannibal fórum příliš nesleduje.

Nic zlozite, treba si vytvorit registrovy par - nazvime ho H a L, (vyssi a nizsi register), kde H znamena dlzku trvania tonu a L=00. Od jeho obsahu sa bude odpocitavat treti 8-bitovy register - X, ktory obsahuje deliaci pomer vysky tonu.

Vzdy po odpocitani sa vyneguje nejaky vystup, na ktory je pripojeny reprak. Toto sa opakuje az dovtedy, kym reg. x nie je vacsi, ako reg.H z paru.

“Okopcil” som to z clanku “ZVUKOVY VYSTUP POCITACE PMI-80”, ktory vysiel v “cervenom Amaterskem Radiu” myslim v 80-tych rokoch, je tam i tabulka d deliacimi pomermi pre 3 oktavy.

Casovace zvukova rutina nepouziva, lebo som ju predtym navrhol pre aplikaciu, ktora vyuzivala T0 ako prerusenie pre real. hodiny a T1 ako casovanie pre serial port.

Ahojte, chcela by som sa spýtať, či niekto nemáte kód k tejto hračke. Moj 13 ročný syn si to poskladal, ale nedá sa dostať do menu nastavení. Stále to pýta kód

Ďakujem Aďa.

Napis mi zo svojho emailu a poslem ti to.