fonction usr sur VG5000

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

Modérateurs : Papy.G, fneck, Carl

joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

fonction usr sur VG5000

Message par joaopa »

Bonjour j'ai un probleme avec la fonction usr du basic vg5000

Quoique je passe en parametre j'obtiens une erreur de syntaxe (par exemple la ligne 10 USR(1) me donne cette erreur)

Quelqu'un sait-il comment on doit utiliser cette fonction

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

Re: fonction usr sur VG5000

Message par Carl »

Bonjour,

voir page 98 du livre "cléf pour VG5000"
http://dcvg5k.free.fr/onlinedoc/clefs-p ... g5000.djvu

Carl
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: fonction usr sur VG5000

Message par Markerror »

Bonsoir,

Je confirme que cela fonctionne avec les informations fournies dans "Clefs pour VG5000".

Un exemple :

10 CLEAR 50,&"6FFF"
20 DATA 3E,65,32,02,40,C3,80,00
30 FOR I=&"7000"TO &"7007":READ A$:A$="&"+CHR$(34)+A$+CHR$(34):A=VAL(A$):POKE i,A:NEXTI
40 POKE &"4834",&"00"
50 POKE &"4835",&"70"
60 A=USR(1)

La routine affiche bêtement le caractère "e" sur le premier caractère de la première ligne.
En retour A=101 soit la valeur ascii de "e".
Si on ne voulait pas de valeur de retour, on aurait pu remplacer le JP &0080 par un simple RET.

Contrairement à un CALL, il n'est pas nécessaire de préserver IX et HL dans la routine appelée, le système a l'air de faire ça tout seul comme un grand !
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: fonction usr sur VG5000

Message par joaopa »

Mon programme d'entrée de code machine pour vg5000

Quand je lance (run), je dois entrer mon code assembleur. La routine le chargera en memoire en code machine. Malheureusement, il plante dans la ligne 510.

Ce que voudrais faire, c'est recuperer par le BASIC la valeur du registre A.

Exemple avec mon programme

run
? 3E10 *****(mettre 10) dans le registre A********
?S *****fin d'entree de mon code machine ******
et la je voudrais recuperer par le BASIC, la valeur du registre A. Comment puis_je faire.

J'ai joint en screenshot mon programme, qui ne permet pas de recupérer cette valeur :?
Pièces jointes
programme
programme
vg5000.png (18.7 Kio) Consulté 3868 fois
kweeky
Messages : 372
Inscription : 24 avr. 2008 18:17
Localisation : Pas très loin de Bordeaux

Re: fonction usr sur VG5000

Message par kweeky »

Salut

USR() est une fonction, pas une instruction. Pour pouvoir lire sa valeur, il faut la placer dans une variable.

A = USR(1)
PRINT A

par exemple...

@+
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: fonction usr sur VG5000

Message par Markerror »

Bonne réponse de Kweeky !

Il faut donc simplement modifier la ligne 510 de ton programme :

510 A=USR(1)

et cela fonctionnera comme sur des roulettes :-).
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: fonction usr sur VG5000

Message par joaopa »

Merci beaucoup !!! Ca marche

Mon premier programme en langage machine !!!!!
En plus pour VG5000. Ah, si j'avais connu ca en en 86 lors de l'achat de mon vg5000

Je me suis demandé pendant des années comment on pouvait faire de l'assembleur sur VG5000 sachant qu'aucun logiciel permettant d'en faire n'avait été développé sur VG5000

Est-ce que quelqu'un a developpé entre-temps un tel logiciel?


Developper en assembleur sur PC pour télécharger sur le VG5000, c'est moins classe :mrgreen: :wink: que de tout développer sur VG5000
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: fonction usr sur VG5000

Message par Markerror »

Bonjour,

A ma connaissance, aucun assembleur/désassembleur n'existe sur VG5000. Ca n'est pas forcément illogique, car la mémoire disponible sur la version de base est faible. Une fois le code de l'assembleur logé en mémoire, il n'aurait pas resté grand chose pour travailler. On aurait pu imaginer une cartouche à connecter sur l'extension VG5216, mais bon, le succès de la machine n'étant pas fulgurant, ça n'a pas aidé pour que de tels projets voient le jour.

Ca n'est pas vraiment maintenant un problème pour développer des programmes en langage machine grâce à DcVG5k. La fonction "Charger un fichier binaire" dans le menu "mise au point" (touche F9) permet facilement d'importer du code binaire créé avec n'importe quel logiciel externe. Personnellement, j'utilise l'assembleur de WinApe, un émulateur CPC qui offre un environnement de développement assez complet (assembleur à la syntaxe compatible avec Maxam, moniteur mémoire, dumps, etc... ).
Dernière modification par Markerror le 15 sept. 2013 10:19, modifié 1 fois.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13254
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: fonction usr sur VG5000

Message par Carl »

j'ai cru pendant longtemps qu'il y avait un assembleur/désassembleur en plus de l'educatif k7 "microprocesseur" mais le jour ou j'ai eu cette fameuse K7 et bien il n'y pas ce genre d'outil dessus...

joaopa, peux tu te présenter et nous dire ce que tu bricoles sur VG5000, merci

carl
Répondre