Domanda:
Spacewar su microcontrollore
nvm
2011-05-24 04:50:38 UTC
view on stackexchange narkive permalink

Prima di tutto devo dire che non ho quasi nessuna esperienza con la programmazione di microcontrollori (a parte alcune cose su Arduino). Ho lavorato con C (e x86 ASM) su alcuni progetti di basso livello (pensa a cose del kernel, sistemi embedded) quindi penso che la parte software non dovrebbe essere un problema.

Dato che sto cercando di imparare qualcosa sui microcontrollori ho pensato che il modo migliore per farlo è prendere un progetto per animali domestici. Ho deciso e voglio implementare Spacewar! su un microcontrollore. Se fosse in grado di funzionare su un PDP1 negli anni '60 dovrebbe funzionare su un microcontrollore (credo).

Quindi ecco la mia domanda, potresti consigliarmi una scheda di sviluppo particolare che abbia una porta VGA per me visualizzare (solo in bianco e nero) il gioco. Ho intenzione di utilizzare una tastiera USB per i controlli.

La visualizzazione VGA (mi serve solo b / n, 640x480 sarebbe più che sufficiente, preferirei anche meno) sarebbe fuori portata per una tavola economica (< = 100 $)?

Qualche consiglio per la tavola? Qualche altro problema che pensi possa incontrare?

Grazie!

Il tuo obiettivo è creare una copia fedele di Spacewar! o per imparare a guidare un display VGA?
copia fedele di Spacewar !, ma sto cercando di imparare il più possibile in modo che VGA sia carino. In alternativa potrei usare altri metodi per inviare i dati al mio laptop e da lì simulare un display, ma non sarebbe così bello :)
Mi rimetto a Leon Heller su questo, ma in alcune occasioni ha menzionato il Parallax Propeller. Bene, ho ottenuto un accordo strepitoso sulla loro scheda di sviluppo e ha una porta VGA integrata. Dai video che ho visto, non sarei sorpreso se rendessero l'invio di segnali video molto semplice. Controlla!
Se scegli l'elica, tieni presente che è molto più facile interfacciare tastiere e mouse PS / 2 rispetto a USB.
Cinque risposte:
Leon Heller
2011-05-24 08:02:12 UTC
view on stackexchange narkive permalink

Un MCU che dovrebbe essere adatto per l'implementazione di Spacewar è il Parallax Propeller a 32 bit a otto core, poiché ogni core ha un'interfaccia video e VGA. Quelli che sembrano giochi altrettanto complessi sono stati portati su di esso.

Ricordo di aver giocato a Spacewar su un DEC PDP-12 dove una volta lavoravo, molti anni fa.

più post leggo da te su questo micro, più muoio dalla voglia di usare il mio kit di sviluppo. Parallax li ha recentemente messi in vendita per $ 119! Stai usando ViewPort?
Diavolo, non preoccuparti del kit di sviluppo, acquista solo una scheda prototipi e una clip di sostegno (o una scheda prototipi USB) - Sono circa $ 50
Oppure acquista uno dei nuovi kit QuickStart da $ 20. Al momento sono esauriti. anche se. Ne ho due. Non uso ViewPort.
nootropic
2011-05-24 19:49:23 UTC
view on stackexchange narkive permalink

Hackvision è essenzialmente un Arduino progettato per lo sviluppo di giochi retrò. Lo programmi con l'IDE di Arduino ordinario e utilizza la libreria TVout.

TVout è una libreria Arduino che semplifica la generazione di video composito monocromatico a bassa risoluzione per una TV. Ho progettato Hackvision che è essenzialmente una scheda Arduino e un controller di gioco combinati, e ha uscite audio / video che colleghi alla tua TV. TVout, la mia libreria di controller e gli esempi di giochi rendono facile iniziare a scrivere i tuoi giochi. E poiché i giochi sono scritti con il normale IDE di Arduino, va bene per i principianti. Hackvision sarebbe utile al poster originale perché tutto l'hardware è curato e la codifica di Arduino è ampiamente compresa.

http://nootropicdesign.com/hackvision/

puoi fornirci maggiori dettagli tecnici di ciò che hai fatto. Sembra interessante ma il mio obiettivo è evitare sempre risposte che richiedono che l'altro sito conosca i dettagli, anche se senza il tuo sito il tuo prodotto non sarebbe disponibile, portando una borsa diversa di worm.
modificalo, rendi la tua risposta più esauriente e completa!
Per quanto riguarda le mie esigenze, questa è la risposta che speravo. Ottimo lavoro, dovrebbe essere così tanto fuun: D. La fascia di prezzo è ottima, è arduino quindi è * nix friendly, gli esempi sembrano davvero fantastici, mi dispiace di poter votare la tua risposta solo una volta.
whoa. questo non va bene. non cattivo significato cattivo, ma cattivo significato buono.
avra
2011-05-24 12:40:49 UTC
view on stackexchange narkive permalink

Se hai già una scheda Arduino , puoi utilizzare una libreria di uscite TV come questa , questo o questo . Come puoi vedere puoi anche ordinare o crearti queste schede economiche.

puoi darmi qualche dettaglio in più sul motivo per cui la libreria di uscite TV è eccezionale?
Penso che la generazione di segnale video in puro software con tempismo esatto senza chip video esterno sia affascinante e mi piace. Ha il suo uso. Se cerchi su Google, vedrai che anche il colore si ottiene in questo modo, e con la ram esterna non è solo una barra dei colori ma una vera TV o un generatore di caratteri e grafici VGA. Un altro affascinante utilizzo di AVR è il dispositivo USB in puro software.
supercat
2011-05-24 19:48:38 UTC
view on stackexchange narkive permalink

Se hai accesso a un oscilloscopio analogico, ti suggerisco di collegare un microcontrollore con un paio di DAC all'XY dell'oscilloscopio. Se puoi controllare anche Z (luminosità), sarebbe ancora meglio; altrimenti, se i tuoi DAC sono abbastanza veloci, puoi semplicemente lasciare che il raggio si soffermi sui punti che dovrebbero essere accesi.

[Spacewar! sull'oscilloscopio] (http://processors.wiki.ti.com/index.php/Spacewar!_Oscilloscope_Game_ (MSP430% 29)
old_timer
2011-05-24 06:55:06 UTC
view on stackexchange narkive permalink

Non chiamerei necessariamente un microcontrollore una scheda che ha un'interfaccia video. Non so (ancora) abbastanza su come la guerra spaziale si sia interfacciata con il display, potresti provare un approccio asteroide in cui il programma crea un elenco di istruzioni per il motore di grafica vettoriale che a sua volta era un tipo di processore con istruzioni e chiamate di subroutine, ecc. Periodicamente inviare un elenco di istruzioni video attraverso una porta seriale a un host, come un terminale stupido, che visualizza il video.

Un altro approccio potrebbe essere quello di ottenere solo un anticipo del gameboy, 16 mhz ARM7, ha un display, ha premi i pulsanti. Costa circa $ \ $$ 30 o $ \ $$ 40 su eBay. In posti come realhotstuff.com è possibile ottenere una cartuccia flash o più facile da usare una scheda basata su sd (mini, micro o full size). Guardarsi intorno alcuni sono più difficili da usare rispetto ad altri. Consiglio anche di procurarti un cavo di collegamento del gioco solo in modo da poterlo tagliare e creare due cavi seriali, usa qualcosa di simile forse

http://www.sparkfun.com/products/718

o questo è quello che uso normalmente

http://www.sparkfun.com/products/449

Scrivi un bootloader e fallo avviare dalla cartuccia, quindi puoi scaricare i programmi via seriale nella ram ed eseguirli lì, risparmia enormi quantità di tempo estraendo la cartuccia, quindi la scheda sd quindi montandola copiando il nuovo file, smonta put nella cartuccia della cartuccia nell'avvio gba e attendere, fallire, ricominciare. Con il bootloader seriale puoi attivare e disattivare o seguire le istruzioni della pagina dello sviluppatore e aggiungere un pulsante di ripristino.

Probabilmente vale la pena spendere solo qualche dollaro in più e usare un gba sp. Ottieni un display retroilluminato e un cavo di alimentazione per lasciarlo sempre collegato. Un NDS funzionerà dal punto di vista della cartuccia e degli sviluppatori, ma è più doloroso del GBA per bagnarsi i piedi. sì, in entrambi i casi puoi semplicemente cadere in una delle sandbox esistenti e davvero non imparare nulla sulla parte incorporata di essa. Non mi preoccuperei di fare nulla di incorporato in quel caso, basta scrivere un'app sul tuo computer e farla finita.

Se non ti piace il percorso gba potresti considerare un microcontrollore e acquistare un display separatamente, earthlcd o sparkfun o un posto del genere, facile da trovare. L'oled sulle tavole stellaris eval è probabilmente troppo piccolo, ma l'oled sarebbe davvero bello. Potresti anche guardare alcune delle schede FPGA, spesso hanno cose come porte vga o controllo lcd, ecc.E puoi inserire un mico8 o microblaze o un altro processore lì dentro. Un progetto più grande della semplice scrittura di software per una scheda di valutazione sì, ma ti colloca nella categoria di un microcontrollore con una porta vga.

Non ho esaminato i dettagli ma ho aggiunto qualcosa di simile a qualche altro microcontrollore board potrebbe darti il ​​pacchetto che stai cercando

http://www.sparkfun.com/products/10329

O forse una tavola stellaris con usb otg e procurati una sorta di driver video basato su usb.

Cosa stai usando come fonte di riferimento? Avendo fatto io stesso una traduzione binaria statica degli asteroidi, prima un'emulazione poi una traduzione dai sorgenti pdp1 / binario suona come un progetto molto divertente.

se hai un nds in giro e ottieni un GBA, consiglio vivamente l'ez flash 3 in 1, assicurati che sia della dimensione GBA. Per iniziare puoi programmarlo inizialmente su nds (beh, anche per quello hai bisogno di una cartuccia slot 1, ce ne sono molti da $ 20), quindi una volta che hai un bootloader puoi riprogrammarlo da gba, l'azienda dispone di una libreria open source per eseguire queste attività.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...