CPC Rulez
https://cpcrulez.fr/forum/

[TYPE-IN] Fonction BOX,BOXF.
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5707
Page 1 sur 1

Auteur :  Xavier [ 29 Avr 2016, 22:45 ]
Sujet du message :  [TYPE-IN] Fonction BOX,BOXF.

Programme TSR CPC 464:

Source Amstrad Magazine: http://cpcrulez.fr/applications_list_RSX-extensions_basic_CPC_464.htm

Pièce jointe :
InstBasic464.jpg


Pièce jointe :
InstBasic6128.jpg


Fichier à ajouter à la base de donnée:
Pièce jointe :
Instructions_Basic_CPC464_FR.zip


Code pour CPC 464, ne fonctionnant pas sur CPC6128.
Existe-il un tableau de conversion de vecteur système du 464 au 6128?
(Cette page ne mets pas en vis à vis les compatibilité natives des vecteurs!)
J'ai besoin de cette routine...
Merci d'avance.

Auteur :  hERMOL [ 30 Avr 2016, 12:39 ]
Sujet du message :  Re: [TYPE-IN] Fonction BOX,BOXF.

des infos sur les vecteurs system:
https://cpcrulez.fr/codingBOOK_clefs1_00 ... tation.htm (CHAPITRE IV - LOGICIEL INTERNE)
https://cpcrulez.fr/coding_menu-soft-vecteurs_system.htm
https://cpcrulez.fr/codingBOOK_weka_010_ ... tieres.htm (03. Systèmes d'exploitation des 664 et 6128)

sur le passage de variables rsx/basic:
https://cpcrulez.fr/codingBOOK_weka_04162.htm

L'option "recherche dans une page" (ici une recherche sur le vecteur bbe4) peu grandement t'aider:
Image

EDIT: je viens de voir une erreur aléatoire (rom 6128) a l'adresse &a679 un JP &00D2 a la place du jp &bbd2

Auteur :  Xavier [ 30 Avr 2016, 18:56 ]
Sujet du message :  Re: [TYPE-IN] Fonction BOX,BOXF.

Oui, effectivement, il manque un octet dans le fichier binaire, et le problème peut venir de là.
Je fais la correction et je te donne le zip.

Auteur :  Xavier [ 01 Mai 2016, 08:50 ]
Sujet du message :  Re: [TYPE-IN] Fonction BOX,BOXF.

La diffusion en fichier texte est suffisante et pratique!
:D
Pour la conversion, j'ai été obligé de rester en basic pur... car le MEMORY me bridait au niveau du SYMBOL AFTER, pour réinitialisait la table de caractère de "La clinique du Docteur Spounz".( rester en SYMBOL AFTER 32 avec CHARGEMENT de la police de caractère, à chaque modification de la table, pour afficher un dessin!... )

J'ai donc utiliser un PRINT du caractère plein #143 en MODE TAG (position avec MOVE)
MAIS...
Cette fonction basic est boguée!

Version 1: (ajoute deux caractères parasites avant l'affichage!)
10 X$=CHR$(143)+CHR$(143)+CHR$(143)+CHR$(143)... (40 caract.)
57000 TAG:GPEN D3:FOR I=0 TO D2-1:MOVE A,(400-B)-(I*16):PRINT LEFT$(X$,D1):NEXT:TAGOFF:RETURN

Version 2: (ajoute deux caractères parasites avant l'affichage!!)
10 X$=CHR$(143)+CHR$(143)+CHR$(143)+CHR$(143)... (longueur D1)
57000 TAG:GPEN D3:FOR I=0 TO D2-1:MOVE A,(400-B)-(I*16):PRINT X$:NEXT:TAGOFF:RETURN

Version 3: (ajoute deux caractères parasites avant l'affichage!!!)
57000 TAG:GPEN D3:FOR I=0 TO D2-1:MOVE A,(400-B)-(I*16):PRINT CHR$(143);CHR$(143);CHR$(143);CHR$(143);:NEXT:TAGOFF:RETURN

Version 4: (Celle qui fonctionne!)
57000 TAG:GPEN D3:FOR I=0 TO D2-1:MOVE A,(400-B)-(I*16):FOR II=1 TO D1:PRINT CHR$(143);:NEXT:NEXT:TAGOFF:RETURN

Donc pas de formules complexe avec cette fonction TAG !!!
Le traitement des variables provoque un plantage à l'affichage.
Par contre, le point-virgule est obligatoire après le caractère, car évite des caractères parasites... à la fin!
:sweatingbullets:

Le Basic mémorise tout de même la ligne graphique en Y, avec un point-virgule.
Il est gentil... Donc, besoin de répéter le MOVE de positionnement.

Pour des remplissages plus complexes, l'utilisation des instructions en RSX sont quand même plus pratiques et plus rapide.
Mais, il faut l'inclure au commencement d'un projet, pour éviter les conflits avec les routines déjà programmées en Basic, et les restrictions qu'imposent l'utilisation de MEMORY.

Page 1 sur 1 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/