"Tvspel" med avr.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Fricke
Inlägg: 40
Blev medlem: 4 februari 2005, 11:17:09

"Tvspel" med avr.

Inlägg av Fricke »

Läste för rätt länge sedan om dåren/dårarna som byggde tetris/pong med för spel på tv:n med hjälp av en pic. Jag tänkte att jag inte skulle va sämre men att jag skulle göra det med en avr, ATmega16 för att vara mer exakt. Jag har i mina yngre år programmerat några liknande enkla spel, dock för PC. Så det som var nytt var att få ut det på TV:n.

Efter att ha spenderat någon timma med att ens lyckas få ut några linjer i sync så var det äntligen dags att börja med det roliga. Efter att ha fixat till 2 st "pong paddar" börjar dock beräkningarna för vad som ska skickas till tv:n ta för lång tid. Jag vill inte påstå att jag är den som kodar snålt och dessutom så skrev jag i C så det skulle nog gå kapa ett par instruktioner om jag skrev i asm istället. Hursomhelst dit jag ville komma med den här tråden är att ge lite cred till de som lyckats med det här. Kanske någon här som gjort det?

Edit: kolla in http://www.rickard.gunee.com/projects/v ... tetris.php
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Hans snurra har varit på tapeten ett par gånger. Inget dåligt arbete alls! :tumupp:


Här är några fler AVR+TV-projekt om du behöver inspiration.
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Det här är det en på forumet som gjort (dow):

http://method.merseine.nu/Electronics/A ... using_VHDL

Edit: ok inte AVR men ändå :)

/Johan
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

VHDL-Pong har jag också gjort, i samma kurs t.o.m. Inget ljud i vår version dock, och betydligt färre CPLD:er.

Men det är inte alls samma svårighetsgrad som en uC, man gör ju allt parallellt så det är inga problem att hinna med.
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

Inlägg av mullemeck »

Gjorde ett pong till min ledsnurra för nästan ett halvårsen, men med ~10fps så fanns där ganska mycket tid i mellan visningarna att generera bilderna på
http://www.geekjoan.com/forum/viewtopic ... sc&start=0

ett sätt skulle vara att använda en slav-avr som bara spottar ut bilden till tvn från ett minne eller nått.
Fricke
Inlägg: 40
Blev medlem: 4 februari 2005, 11:17:09

Inlägg av Fricke »

Det är ju just problemet att klara beräkningarna samtidigt som man pratar med tv:n som är problemet. Jag har bara 8 MHz kristaller hemma nu och det borde ju ge 8 instruktioner/uS. En scanline tar 52 uS. Antag då att jag vill ha 128 pixlar i x-led. Det ger ~3 instuktioner/pixel.. Inte allt för mycket att spela på.

Visst verkar det ok att fixa med VHDL men det är ju inte själva spelet jag är ute efter.. Ja sen ska det ju läggas på ljud också.. :humm:
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Men att göra ett "grafikkort" med en CPLD är väl ingen dum idé ?

/Johan
Fricke
Inlägg: 40
Blev medlem: 4 februari 2005, 11:17:09

Inlägg av Fricke »

Kanske inte, men jag vet inte riktigt var jag skulle börja. Dessutom så har jag ingenting att bränna kretsarna med här hemma. Jobbigt att gå till universitetet varje gång jag vill prova.. Jag får nog försöka med asm nån dag då jag har tid.
jonkers
Inlägg: 37
Blev medlem: 16 oktober 2004, 15:04:52

Inlägg av jonkers »

Det här med spel......

Jag kan inte riktigt förstå hur man programmer tex ett pong spel.

Det jag menar är själva "intelligensen" i spelet.

Det svåraste måste ju vara att göra motståndaren..... eller gör man bara human vs human kanske?

Ingen som pallar dra en gravt förenklad algoritm för ett pong-spel, på svenska, alltså inget särskilt prog-språk utan pseudo-kod.

Vore intressant.

eder - jonkers
henkebenke
Inlägg: 515
Blev medlem: 31 maj 2003, 10:42:37
Ort: Helsingborg

Inlägg av henkebenke »

Det är ju inte särskilt svårt att räkna ut var bollen kommer hamna hos motståndaren när du slår till den. Grejen är att inte göra motståndaren för bra. Så "intelligensen" handlar om att motståndaren ska vara lagom dålig.
jonkers
Inlägg: 37
Blev medlem: 16 oktober 2004, 15:04:52

Inlägg av jonkers »

jag försöker föreställa mig hur jag skulle koda en boll som slåss till och flyger iväg med viss hastighet och vinkel men kan inte se hur jag skulle kunna göra ngt sånt (pic-assembler då).

all programmering som jag har gjort (mycket PLC, en del uC nu) har gått ut på väldigt "boolean" och logiska flöden. typ: om knapp ett = till så motor 2 ner samt skicka kod x på port y.

det här med spel är lixom ingenting jag ens kan föreställa mig hur jag ska göra.

måste bli en hel del matte?
dow
Inlägg: 17
Blev medlem: 4 december 2003, 13:26:46
Skype: alexander.lundh
Ort: Linköping
Kontakt:

Inlägg av dow »

Pong är ruggigt enkelt att programmera
strombom la upp en länk till mitt+2 kompisars projekt i skolan, där kan du tanka ner rapporten och koden också om du är intresserad.
Det är inte jättebra implimenterat, beroende på att vi inte kunde använda de kretsar vi hade tänkt från början osv, men det är iaf en fungerande version ;)

Just med motståndaren så gjorde vi det ganska lätt för oss - vi lät helt enkelt motståndaren följa bollens y-position med en viss maxhastighet. Denna hastighet varierade vi med svårighetsgraden.
Det innebär alltså att om bollen åker för snabbt så hinner inte motståndaren med. Sedan kan du ju lägga till en viss osäkerhet också.

Angående att beräkna bollpositioner, hastigheter och studsar så är inte heller detta särskillt svårt. Det enda egentliga problemet med pong är att det är mycket värden som skall lagras, och det krävs en ganska stor cpld för att ordna allt (vi gick ifrån 2 cplder till ~5 tror jag, bara för att de större vi tänkte använda var slut)

Edit: Alltså, koden är ju för CPLD'er, så det kanske inte ger så mycket.
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

jonkers
Inlägg: 37
Blev medlem: 16 oktober 2004, 15:04:52

Inlägg av jonkers »

snälla snälla farbror melker kan inte jag få tjuvkika på era sourcecodes.


snyggt gjort btw...... bravo!
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

jorå, kan nog slänga upp den imorrn, minns dock inte alls vilket skick den var i när jag/vi la ner projektet, men kan nog gå att få ut något av den iaf.
Skriv svar