Question:
Spacewar sur microcontrôleur
nvm
2011-05-24 04:50:38 UTC
view on stackexchange narkive permalink

Tout d'abord, je dois dire que je n'ai presque aucune expérience avec la programmation de microcontrôleurs (à part quelques trucs Arduino). J'ai travaillé avec C (et ASM x86) sur certains projets de bas niveau (pensez aux éléments du noyau, aux systèmes embarqués) donc je pense que la partie logicielle ne devrait pas être un problème.

Depuis que j'essaie d'apprendre quelque chose à propos des microcontrôleurs, j'ai pensé que la meilleure façon de le faire était de prendre un projet pour animaux de compagnie. J'ai pris ma décision et je souhaite implémenter Spacewar! sur un microcontrôleur. S'il était capable de fonctionner sur un PDP1 dans les années 60, il devrait fonctionner sur un microcontrôleur (je pense).

Alors, voici ma question, pourriez-vous me recommander une carte de développement particulière qui aurait un port VGA pour moi afficher (juste en noir / blanc) le jeu. Je prévois d'utiliser un clavier USB pour les commandes.

Est-ce que l'affichage VGA (je n'ai besoin que de n / b, 640x480 serait plus que suffisant, j'irais pour encore moins) serait hors de portée pour une planche pas chère (< = 100 $)?

Des recommandations pour la planche? Y a-t-il d'autres problèmes que je pourrais rencontrer?

Merci!

Votre objectif est-il de faire une copie fidèle de Spacewar! ou pour en savoir plus sur la conduite d'un écran VGA?
copie fidèle de Spacewar !, mais j'essaie d'en apprendre le plus possible pour que VGA soit bien. Sinon, je pourrais utiliser d'autres méthodes pour envoyer les données à mon ordinateur portable et à partir de là simuler un affichage, mais ce ne serait pas aussi cool :)
Je m'en remets à Leon Heller sur celui-ci, mais à quelques reprises, il a mentionné l'hélice Parallax. Eh bien, j'ai eu un accord criard sur leur carte de développement, et il a un port VGA intégré. D'après les vidéos que j'ai vues, je ne serais pas surpris qu'elles facilitent l'envoi de signaux vidéo. Vérifiez-le!
Si vous optez pour l'hélice, notez qu'il est beaucoup plus facile d'interfacer des claviers et des souris PS / 2 qu'avec l'USB.
Cinq réponses:
Leon Heller
2011-05-24 08:02:12 UTC
view on stackexchange narkive permalink

Un MCU qui devrait convenir à l'implémentation de Spacewar est le Parallax Propeller 32 bits à huit cœurs, car chaque cœur a une interface vidéo et VGA. Ce qui semble être des jeux tout aussi complexes y a été porté.

Je me souviens avoir joué à Spacewar sur un DEC PDP-12 où j'ai déjà travaillé, il y a de nombreuses années.

plus je lis de messages sur ce micro, plus je meurs d'envie d'utiliser mon kit de développement. Parallax les a récemment mis en vente pour 119 $! Utilisez-vous ViewPort?
Bon sang, ne vous embêtez pas avec le kit de développement, achetez simplement un protoboard et un clip accessoire (ou un proto-board USB) - C'est comme 50 $
Ou achetez l'un des nouveaux kits QuickStart à 20 $. Ils sont actuellement en rupture de stock. bien que. J'en ai deux. Je n'utilise pas ViewPort.
nootropic
2011-05-24 19:49:23 UTC
view on stackexchange narkive permalink

Le Hackvision est essentiellement un Arduino conçu pour le développement de jeux rétro. Vous le programmez avec l'IDE Arduino ordinaire, et il utilise la bibliothèque TVout.

TVout est une bibliothèque Arduino qui permet de générer facilement une vidéo composite monochrome basse résolution pour un téléviseur. J'ai conçu Hackvision qui est essentiellement une carte Arduino et un contrôleur de jeu combinés, et il dispose de sorties audio / vidéo que vous connectez à votre téléviseur. TVout, ma bibliothèque de contrôleurs et des exemples de jeux facilitent la création de vos propres jeux. Et puisque les jeux sont écrits avec l'IDE Arduino normal, c'est bien pour les débutants. Hackvision serait utile à l'affiche originale car tout le matériel est pris en charge et le codage Arduino est largement compris.

http://nootropicdesign.com/hackvision/

pouvez-vous nous donner plus de détails techniques sur ce que vous avez fait. Cela semble intéressant mais mon objectif est de toujours éviter les réponses qui nécessitent que l'autre site connaisse les détails, même si sans votre site votre produit ne serait pas disponible, apportant un sac de vers différent.
modifiez-le, rendez votre réponse plus approfondie et complète!
En ce qui concerne mes besoins, c'est la réponse que j'espérais. Excellent travail, cela devrait être tellement fuun: D. La fourchette de prix est excellente, c'est arduino donc c'est * nix amical, les exemples ont l'air tellement cool, je suis désolé je ne peux voter qu'une seule fois.
whoa. c'est mauvais. pas mal signifiant mauvais, mais mauvais sens bon
avra
2011-05-24 12:40:49 UTC
view on stackexchange narkive permalink

Si vous avez déjà une carte Arduino , vous pouvez utiliser une bibliothèque de sortie TV comme ceci , ceci , ou ceci . Comme vous pouvez le voir, vous pouvez également commander ou fabriquer vous-même ces planches bon marché.

pouvez-vous me donner un peu plus de détails sur les raisons pour lesquelles la bibliothèque TV Out est géniale?
Je pense que générer un signal vidéo dans un logiciel pur avec une synchronisation exacte sans puce vidéo externe est fascinant et j'aime ça. Il a son utilité. Si vous recherchez sur Google, vous verrez que la couleur est également obtenue de cette manière, et avec la RAM externe, ce n'est pas seulement une barre de couleur, mais un véritable générateur de caractères et de graphiques TV ou VGA. Une autre utilisation fascinante de l'AVR est le périphérique USB dans un logiciel pur.
supercat
2011-05-24 19:48:38 UTC
view on stackexchange narkive permalink

Si vous avez accès à un oscilloscope analogique, je vous suggère de câbler un microcontrôleur avec quelques DAC au XY de l'oscilloscope. Si vous pouvez également contrôler le Z (luminosité), ce serait encore mieux; sinon, si vos DAC sont assez rapides, vous pouvez simplement laisser le faisceau s'attarder sur les points qui sont censés être allumés.

[Spacewar! sur l'oscilloscope] (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

Je n'appellerais pas nécessairement une carte qui a une interface vidéo un microcontrôleur. Je ne sais pas (encore) assez sur la façon dont la guerre spatiale s'est interfacée avec l'affichage, vous pouvez essayer une approche astéroïdes où le programme a créé une liste d'instructions pour le moteur graphique vectoriel qui était lui-même une sorte de processeur avec des instructions et des appels de sous-programmes, etc. envoyer une liste d'instructions vidéo via un port série à un hôte, comme un terminal stupide, qui affiche la vidéo.

Une autre approche pourrait être de simplement obtenir une avance de gameboy, 16 mhz ARM7, a un écran, a boutons poussoir. Coût environ 30 $ \ $$ ou 40 $ \ $$ sur ebay. Dans des endroits comme realhotstuff.com, vous pouvez obtenir une cartouche flash ou plus facilement utiliser une carte SD (mini, micro ou pleine taille). Magasinez, certains sont plus difficiles à utiliser que d'autres. Je recommande également de vous procurer un câble de liaison de jeu uniquement pour pouvoir le couper et créer deux câbles série, utilisez peut-être quelque chose comme ça

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

ou c'est celui que j'utilise normalement

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

Ecrivez un chargeur de démarrage et faites-le démarrer hors de la cartouche, puis vous pouvez télécharger des programmes via série dans la RAM et les exécuter là-bas, économise énormément de temps en retirant la cartouche puis la carte sd puis en la montant en copiant le nouveau fichier, en démontant il dans la cartouche de cartouche dans le démarrage gba et attendez, échouez, recommencez. Avec le chargeur de démarrage série, vous pouvez éteindre et allumer ou suivre les instructions de la page devr et ajouter un bouton de réinitialisation.

Cela vaut probablement la peine de dépenser quelques dollars de plus et d'utiliser un gba sp. Vous obtenez un écran rétroéclairé et un cordon d'alimentation pour le laisser branché tout le temps. Un NDS fonctionnera du point de vue de la cartouche et des développeurs, mais il est plus douloureux que le GBA pour se mouiller les pieds. oui dans les deux cas, vous pouvez simplement tomber dans l'un des bacs à sable existants et ne rien apprendre sur la partie intégrée de celui-ci. Je ne prendrais pas la peine de faire quoi que ce soit d'incorporé dans ce cas, il suffit d'écrire une application sur votre ordinateur et d'en finir.

Si vous n'aimez pas le chemin gba, vous pouvez envisager un microcontrôleur et acheter un écran séparément, earthlcd ou sparkfun ou quelque part comme ça, facile à trouver. Le oled sur les panneaux d'évaluation stellaris est probablement trop petit, mais oled serait vraiment cool. Vous pouvez également regarder certaines des cartes fpga, elles ont souvent des éléments comme des ports vga ou un contrôle LCD, etc. et vous pouvez y mettre un mico8 ou un microblaze ou un autre processeur. Un projet plus important que d'écrire simplement un logiciel pour une carte d'évaluation oui, mais vous place dans la catégorie d'un microcontrôleur avec un port vga.

Je n'ai pas regardé les détails mais j'ai ajouté quelque chose comme ça à un autre microcontrôleur board peut vous donner le package que vous recherchez

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

Ou peut-être une board stellaris avec usb otg, et obtenez une sorte de pilote vidéo basé sur USB.

Qu'est-ce que vous utilisez comme source de base? Ayant moi-même fait une traduction binaire statique d'astéroïdes, d'abord une émulation puis une traduction à partir des sources / binaires de pdp1 sonne comme un projet très amusant.

si vous avez un nds qui traîne et que vous obtenez un gba, je recommande vivement le flash ez 3 en 1, assurez-vous qu'il est de la taille GBA. Pour commencer, vous pouvez le programmer initialement sur le nds (eh bien, vous avez besoin d'une cartouche de slot 1 pour cela aussi, il y en aura beaucoup de 20 $), puis une fois que vous avez un bootloader, vous pouvez le reprogrammer à partir de la gba, l'entreprise dispose d'une bibliothèque open source pour effectuer ces tâches.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...