Forth Sokoban pour VG5000

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Carl, Papy.G, fneck

Avatar de l’utilisateur
Carl
Modérateur
Messages : 11495
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Forth Sokoban pour VG5000

Message par Carl »

l'effet boule de neige dans le monde la retro-programmation... 8)

carl
Markerror
Messages : 1659
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Forth Sokoban pour VG5000

Message par Markerror »

Bonjour,

Je viens de récupérer la version VG5000 de Sokoban (merci Carl !).

Comme la version de base est un peu "root" pour se lancer, j'ai rajouté un loader Basic
avant les deux fichiers binaires. Il teste la présence de mémoire additionnelle (obligatoire
pour que le jeu fonctionne), charge les deux fichiers et lance le jeu.

Markerror
Pièces jointes
Sokoban_avec_loader.zip
(7.24 Kio) Téléchargé 63 fois
Avatar de l’utilisateur
Carl
Modérateur
Messages : 11495
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Forth Sokoban pour VG5000

Message par Carl »

Merci Markerror !

carl
Avatar de l’utilisateur
Eric_80
Messages : 184
Inscription : 31 mars 2011 16:52

Re: Forth Sokoban pour VG5000

Message par Eric_80 »

jester a écrit :... l'assembleur qui n'est pas un langage de programmation, juste des instructions machines présentées d'une manière lisible pour un humain. Assembleur = langage machine, c'est à dire des instructions du microprocesseur.
Attention aux idées reçues: le langage d'assemblage, ou langage assembleur, (appellé abusivement par facilité "assembleur")
est bien un langage de programmation : dit de "bas niveau". (très proche du processeur).

D'ailleurs "langage d'assemblage" et "langage machine" contiennent le mot "langage". C'est bien la langue de l'ordinateur.
Il y a ensuite les langages évolués, dit : langages de "haut-niveau" (C, C++, Java), mais aussi les langages de script (PHP, ASP, Javascript), les langages de balisage, de marquage (HTML), les langages de requêtes (SQL), les langages d'automatisation (Batch, Bash), etc.

Mais n'oubliez pas que même quand vous entrez à la main les codes hexadécimaux ou binaire un par un en mémoire, c'est un langage de programmation.
J'écris certains de mes programmes en langage assembleur sur PC aujourd'hui pour compléter le C++ : ce langage est un régal. :)
Quand à sa prétendue lisibilité difficile, voyez par vous même:

en langage de haut niveau:

Code : Tout sélectionner

var =0;
for (i=10; i>0;i--)
   var+=1;
la même chose en langage assembleur x86:

Code : Tout sélectionner

       mov  eax,0
       mov  ecx,10
bcl:  add   eax,ecx
       loop   bcl
en langage de haut niveau:

Code : Tout sélectionner

 if (EAX==0) {
    EBX=1;
}
 else  {
    EBX=2;
}
la même chose en langage assembleur x86:

Code : Tout sélectionner

      cmp    eax,0
       jz      bcl
       mov   ebx,2
       jmp   suite
bcl:  mov  ebx,1
suite:
c'est plutôt simple et facile à lire non ?
Comme disait ma grand-mère : Un code source assembleur bien commenté est plus lisible qu'un code PHP non commenté. :mrgreen:
jester
Messages : 2272
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: Forth Sokoban pour VG5000

Message par jester »

C'est vrai, c'est super clair à lire... évident.
Il faut enseigner l'assembleur en L1 et même au lycée :lol:

Je dirais même que les micro-instructions qui implémentent les instructions LM des processeurs forment aussi un langage...

Sinon j'ai pas saisi ce commentaire 1an et 8 mois après mon message ?
Faudra quand même que tu nous pondes un jour une petite démo pour nous montrer ton incroyable talent. Ici il y a juste des amateurs qui bricolent ça et la pour s'amuser. Je suis curieux de voir le travail d'un Pro qui code en LM comme il respire.
Avatar de l’utilisateur
Eric_80
Messages : 184
Inscription : 31 mars 2011 16:52

Re: Forth Sokoban pour VG5000

Message par Eric_80 »

jester a écrit :Sinon j'ai pas saisi ce commentaire 1an et 8 mois après mon message ?
Peu importe qu'un commentaire date de 10 ou 15 ans. Je vois une chose fausse écrite sur le langage assembleur, je corrige l'erreur.
Ouvre une encyclopédie d'informatique et vérifie par toi-même, tu verras.

Oui chaque instruction, chacun des 8 bits 1 ou 0 qui composent chaque octet la mémoire de l'ordinateur forment bien un langage : le langage machine. C' était vrai hier sur l'Altaïr 8800 ou le ZX81, cela reste tout aussi vrai sur les plus puissants PC et Mac d'aujourd'hui.

Bien qu'il y ait une multitude de langages informatiques rajoutés en surcouche de nos jours, l'ordinateur lui n'en comprends qu'un seul : le langage machine. Les autres langages sont donc eux aussi traduits en 1 et en 0 afin qu'ils les comprenne: que ce soit en mode interprété ou compilé. L'ordinateur ne comprends pas le langage C++ ou Java en fait. On le compile donc pour lui en langage machine.Les printf, CLS ou même MOV, il ne connaît pas. Son microprocesseur ne traite que des données binaires.

Je rectifie donc simplement une inexactitude pour la mémoire historique de ce langage plutôt sympa, bien que mal connu.
C'était pas pour le plaisir de te contredire, mais je ne peux pas laisser dire que ce n'est pas un langage de programmation.

S'il est appellé "langage de programmation de bas niveau" par toute la profession, c'est sans doute qu'ils ont raison, non ? :)

c'est assez énorme d'écrire que le langage d'assemblage ou le langage machine ne sont pas des langages de programmation.
J'ai donc rectifié afin qu'un débutant n'apprenne pas des choses fausses. C'est le but d'un forum informatique, tout simplement.
jester
Messages : 2272
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: Forth Sokoban pour VG5000

Message par jester »

Il n'est pas pour moi un langage de programmation car il ne permet pas d'écrire sereinement un algorithme complexe.
La profession se tamponne de l'assembleur depuis des lustres... à part dans des secteurs très très spécifiques et liés au hardware (et encore).

Tu t’excites pour pas grand chose coco car 1) ce forum n'est pas une référence encyclopédique, 2) on ne peut pas comparer l'assembleur à un langage de haut niveau, 3) je pense que tout le monde s'en tape la nouille.

Et si tu cherches bien je pense que tu trouveras d'autres erreurs sur le forum.

Et j'insiste sur la fait que j'aimerais bien, et d'autres aussi, voir une petite démo 100% LM de ta part car à part te la jouer depuis le début, on va commencer à penser que tu es un imposteur. 8)
Avatar de l’utilisateur
jfg
Messages : 245
Inscription : 22 mars 2011 16:28
Localisation : Région parisienne

Re: Forth Sokoban pour VG5000

Message par jfg »

jester a écrit :Il n'est pas pour moi un langage de programmation car il ne permet pas d'écrire sereinement un algorithme complexe.
Je ne suis pas d'accord. Mon 1er boulot a été la supervision et le contrôle d'un champ de pétrole off-shore de 3600 km², avec des centaines (peut être des milliers, j'ai un peu perdu la mémoire de ces chiffres) de capteurs. Le système permettait aussi d'obtenir des statistiques sur le fonctionnement du champ. Tout a été écrit en assembleur (pas du 6803, c'était des minis Data Général) sauf quelques sorties en Fortran. On peut écrire des programmes extrêmement complexes en assembleur, cela n'est pas un problème (le système mettait en réseau des dizaines d'ordinateurs situés à plusieurs endroits du champ).
Mais c'est vrai qu'on ne le ferait plus aujourd'hui, on utiliserait des langages évolués.
Malgré tout, ce que je trouve très étonnant, c'est que ce qu'on a gagné d'un côté (processeurs largement plus puissants, langages évolués, interfaces graphiques conviviales, réseaux Gigabit, ...), on l'a perdu de l'autre (on ne tient toujours pas les plannings, les gains de vitesse d'exécution ne sont en rien proportionnels aux gains de vitesse des processeurs et des réseaux, ...). Le même système 30 ans après ne serait pas beaucoup plus performant et ne mettrait pas beaucoup moins longtemps à être développé et mis en service!
Répondre