Category: Ceomag

  • CEO-MAG 348

    Sommaire

    • 4 CHARGEMENT CASSETTE RAPIDE : NOVALIGHT
    • 11 PUBLICITÉ
    • 12 LA TOUCHE FUNCT (2)
    • 15 BLAGUES, HOMMAGE À PIERRE DAC (4)
    • 16 FONCTIONNEMENT DE LA PILE MATÉRIELLE DU 6502 (2)
    • 18 3D MAZE, LE TAPE-INS DU MOIS

    Edito

    A l’approche de la visu d’été (à priori le 15/6) ; Steve, Simon, André et Yann nous offrent de nouvelles découvertes à faire avec notre oric. Nous ne remercierons jamais assez ces mousquetaires de la préservation, qui nous permettent mois après mois d’aller plus loin avec notre ordinateur préféré, de découvrir quelques lignes perdues dans un magazine … Bientot, Voyageur nous proposera de nouvelles modifications à réaliser sur nos Oric (je dis «nos» car je me vois mal faire des modifications sur mon unique Oric). Préparez vos fers à souder.

    [wpdm_package id=’2634′]

    [wpdm_package id=’2636′]

    [wpdm_package id=’2656′]

  • Fonctionnement de la pile matérielle du 6502 (1/8)

    EN GUISE D’INTRODUCTION

    Fasciné par certaines utilisations détournées de la pile de matériel du 6502, telles que les programmes de protections, j’ai voulu en apprendre davantage sur son fonctionnement.
    Je vous propose donc ici la traduction partielle d’un sujet dont la version originale se trouve à l’adresse suivante : http://wilsonminesco.com/stacks/

    QUELQUES DEFINITIONS

    Le type de pile dont il est question ici est une partie de la mémoire vive utilisée pour le stockage temporaire de données, qu’il s’agisse de variables ou d’adresses, avec comme mode d’accès, dernier entré, premier sorti (Last In First Out).
    On compare généralement ce type de pile à une pile d’assiettes dans un meuble à ressorts que l’on peut trouver à côté d’un buffet restaurant.

    La quantité de compression ou d’étirement des ressorts est proportionnelle au poids des assiettes que le meuble contient, de sorte que tant que le meuble n’est pas rempli complètement, un employé peut ajouter n’importe quel nombre d’assiettes récemment lavées et les assiettes seront toujours dans la même position au sommet, prêtes pour le prochain client.

    D’habitude, ni l’employé ni le client n’ont besoin de savoir combien d’assiettes chaudes sont stockées en dessous.

    On peut aussi prendre l’exemple d’une tige métallique avec un tas de papiers embrochés.  Vous pouvez voir les documents qui sont sous le sommet, et vous pourriez même lire ou écrire sur eux dans une certaine mesure sans retirer ceux qui sont au-dessus, mais le retrait ou l’ajout réel de documents a toujours lieu par le sommet.

    Le contraire d’une pile (ou mémoire LIFO) serait une mémoire de type premier entré, premier sorti (FIFO) ou file d’attente, qui peut dans ce cas être comparée au convoyeur d’une machine à rayons X dans un aéroport. Sur cette machine, les affaires passent d’un côté à un autre des rayons X, dans le même ordre qu’elles sont entrées.

    Contrairement à la pile d’assiettes, une pile de nombres dans la mémoire de l’ordinateur ne se déplace pas de haut en bas quand quelque chose est ajouté ou enlevé de la pile. Il serait en effet contre-productif de déplacer toutes ces données vers le haut ou vers le bas comme pour les assiettes, alors qu’il est plus simple d’utiliser un pointeur réglable pour savoir où se trouve le haut ou, en fait, dans le cas de la pile matériel du 6502, quelle est l’adresse RAM qui est la prochaine disponible pour mettre quelque chose sur la pile.

    Ce pointeur est le registre S (Stack pointer) du 6502.

    Dès lors, si l’analogie du distributeur d’assiettes ne tient plus, pourquoi l’évoquer ?

    En fait, ce qu’il convient surtout de retenir ici, c’est qu’habituellement, on ne s’occupe que de ce qui se trouve au-dessus de la pile, sans se soucier de la profondeur de celle-ci, comme un navire en pleine mer qui flotte de la même manière que la profondeur de l’eau soit de 100 mètres ou de 1000 mètres. Tant qu’une action ou une routine dispose des éléments de la pile dont elle a besoin, peu importe combien d’autres éléments sont plus bas dans la pile, en attendant d’être utilisés par d’autres routines ou parties d’une routine.

    La pile du processeur 6502 permet de stocker des adresses pour des sous-routines et des interruptions (moins fréquentes que pour des sous-routines) ainsi que des variables.

    C’est dans la première page du 6502 ($0100-$01FF) que réside la pile de matériel. Les tests montrent d’ailleurs que contrairement à une légende urbaine, cette zone mémoire est beaucoup plus grande que ce dont le programmeur a réellement besoin.

    Le pointeur de la pile de matériel est le registre S qui n’a que 8 bits de largeur; le 6502 ajustant automatiquement le numéro de page à $01 pour tous les accès à la pile. La pile de matériel en page 1 se développe vers le bas, et non vers le haut. Toute routine de réinitialisation doit donc initialiser le pointeur de pile au sommet de l’espace disponible. Il s’agit habituellement de l’adresse $01FF. Cette routine s’écrira simplement :

    LDX  #$FF ; Initialise X au sommet de la pile
    TXS ; Transfère dans le pointeur de pile

    Puisque la pile se développe vers le bas, le pointeur de pile se décrémente après chaque octet poussé sur la pile, et s’incrémente avant que chaque octet ne soit tiré hors de la pile.

    ADRESSES DE SOUS-ROUTINE ET NIDIFICATION

    Une sous-routine est une partie de votre programme dont vous avez besoin à de multiples reprises et à différents endroits. Au lieu d’avoir une copie de cette routine à chaque endroit où vous en avez besoin, vous l’écrivez une fois pour toutes et vous l’appelez depuis la portion de programme requise. Le compteur de programme se rend à cette sous-routine puis doit pointer de nouveau sur la routine d’appel pour reprendre l’exécution. Pour savoir où revenir, le compteur de programme (donc l’adresse de retour) a au préalable été sauvée sur la pile.

    C’est ce que réalise l’instruction JSR : « Jump, Saving Return address » (JSR est habituellement traduit par « Jump to SubRoutine », ce qui fonctionne tout aussi bien mais n’est pas tout à fait exact.) Supposons maintenant que cette routine doive en appeler d’autres. Comme chaque JSR met l’adresse de retour sur la pile, les adresses de retour nécessaires en premier lieu seront les dernières stockées sur la pile.

    La nidification est ce qui convient de mieux pour ce genre de situation. On appelle nidification (ou imbrication), le fait qu’une sous-routine en appelle une autre, qui à son tour en appelle une autre, et ainsi de suite. Si vous n’aviez pas besoin de la nidification, vous pourriez inscrire l’adresse de retour dans une variable ou un registre; mais vous vous apercevez que dès la première nidification, la variable serait écrasée et la première adresse de retour serait perdue.

    C’est là que la pile entre en jeu.

    Considérons à présent la nidification des sous-routines ci-dessous.

    Dans ce scénario, la pile contiendra les nombres hexadécimaux suivants aux points  (a), (b) et (c) ; (sans compter ce qui aurait déjà pu être sur la pile avant (a).

      (a)(b)(c)
    Sommet pile (*) $1915 $2632 $2F43
        $1915 $2632
          $1915

    (*) Top Of Stack (TOS)

    Ce tableau semble comporter des erreurs. En effet, au point (a)  l’adresse de la prochaine instruction est censée être $1916, et non $1915.

    En fait, l’instruction RTS (Return From subroutine) incrémentera l’adresse de retour et l’exécution du programme reprendra bien à $1916 (ce qui n’est pas le cas pour RTI, ReTurn-from-Interrupt, et fera l’objet d’un autre article).

    Puisque le bus de données et la mémoire du 6502 sont adressés sur 8 bits, chaque adresse de retour évoquée ci-dessus nécessite deux emplacements dans la pile. Lorsque JSR pousse l’adresse de retour (moins 1) sur la pile, il pousse d’abord l’octet haut, puis l’octet bas. N’oubliez pas que la pile grandit, et que le pointeur de la pile se décrémente lorsque les octets sont poussés sur la pile, de sorte que l’ordre d’octet résultant est l’octet de poids faible dans l’adresse mémoire la plus basse, comme le sont les autres adresses dans le 6502.

    Supposons par exemple que la valeur du pointeur de pile (registre S) était $EF avant que le code n’entre dans le diagramme de pile ci-dessus. Cela donnerait une occupation de l’espace mémoire de la pile selon le tableau suivant (ne sachant pas ce qui figurait de $EF à $FF, ces octets ne sont pas cartographiés).

    Lorsque vous quittez les sous routines et que vous revenez à la routine principale, voici à quoi ressemble la mémoire de la pile.

    Les nombres entre parenthèses sont toujours là, mais cette partie de la mémoire de la pile est libérée. Retirer quelque chose de la pile signifie simplement que le processeur en lit le contenu et incrémente ensuite le pointeur de la pile. Pouvez-vous utiliser ces chiffres, puisqu’ils sont toujours là ? Si vous avez des interruptions, la réponse est non, car une interruption pourrait survenir à tout moment et les écraser. Cela violerait le protocole LIFO et le processus des interruptions nécessite que ce protocole soit respecté.

    À suivre.

  • CEO-MAG 347

    Sommaire :

    • 4 CR DE L’AG DU 2 FÉVRIER 2019
    • 6 LA TOUCHE FUNCT (1)
    • 7 BLAGUES, HOMMAGE À PIERRE DAC (3)
    • 8 RÉGLAGE DU SON DE L’ORIC
    • 12 FONCTIONNEMENT DE LA PILE MATÉRIELLE DU 6502 (1)
    • 15 PUBLICITÉ
    • 16 C’EST LA MÈRE MICHEL : ERRATUM
    • 17 QUELQUES BLAGUES

    Edito

    Après une sympathique visu où nous avons testé un atelier de coworking tous à l’étroit pour découvrir les nouveautés apportées par les uns et les autres, J’ai pris une longue pause, suis parti en voyage mais rien n’est perdu. De retour avec un peu de temps, je profite de ce premier week-end un peu plus calme pour libérer enfin le mag de mars. Vous y découvrirez une nouvelle série proposée par Yann qui vous permettra de maitriser la pile de l’Oric, ou encore comment réduire les nuisances sonores du zap et du ping Bonne lecture A bientot, Didier

    [wpdm_package id=’2638′]

    [wpdm_package id=’2640′]

    [wpdm_package id=’2654′]

  • CEO-MAG 346

    Sommaire :

    • 2 VISU HIVERNALE J-6
    • 4 DE MUSIC À SOUND
    • 7 BLAGUES, HOMMAGE À PIERRE DAC (2)
    • 8 UNE MÈRE MICHEL DE MÉLOMANE
    • 11 PUBLICITÉ
    • 12 FDC 1793 ET READ TRACK
    • 14 THE WHITE BARROWS
    • 16 ALIEN DROPOUT

    Edito

    Bonjour et Meilleurs Voeux à tous, J-6 pour la visu, l’occasion de nous revoir et de découvrir le gagnant du concours NY 2019 CEO. Les tests impitoyables du jury se poursuivent … Profitons de ces quelques jours pour faire un peu de type-ins. En effet, Steve nous a scanné des tonnes de documents dont ce sympathique Alien Dropout (que l’auteur avait visiblement pensé appeller Alien Invasion. Le jeu m’a fait replonger des années en arrière, et m’a rappellé un de mes premiers jeux acquis avec mon Oric : Envahisseurs (oui, je sais, j’aurais peut etre pu mieux choisir à l’époque). Alors à vos claviers, relevez le défi (et pour les fainéants, le jeu est en exclusivité sur le zip du mois et sera uploadé dans quelques jours sur oric.org A bientot à la visu et que les comptables en herbe se préparent, nous fèterons le départ en retraite de René notre trésorier, après des années de bons et loyaux services. Une place en or est à prendre !

    [wpdm_package id=’2642′]

    [wpdm_package id=’2644′]

    [wpdm_package id=’2652′]

  • CEO-MAG 345

    Sommaire

    • 2 Visu Hivernale
    • 4 Concours NY2019, les 9 prétendants
    • 6 Réalisez de beaux écrans haute résolution
    • 9 Publicité
    • 10 Transcrivez votre partition musicale en programme Oric
    • 14 Histoire d’O

    Edito

    Bonjour et Meilleurs Voeux à tous, C’est la période des voeux. Je me plierais donc à la tradition. Avec ce numéro, je fais le voeu de recoller à la sortie mensuelle du mag. Vous en trouverez donc un exemplaire des plus classiques avec les incontournables articles d’André et de Yann qui en ce début d’année nous propose des trucs, astuces et recettes pour maitriser les domaines artistiques de l’Oric. Je me laisse un peu aller …. à un deuxième voeu…. imaginez la richesse du mag si chaque adhérent / lecteur assidu écrivait un article par an. Un test d’un jeu oublié, une solution, ou l’explication d’une routine / d’un hardware qu’il développe. Ce faisant, l’année 2019 démarre sur les chapeaux de roue, avec la prochaine visu et la remise des prix du concours CEO 2019.

    [wpdm_package id=’2646′]

    [wpdm_package id=’2649′]

    [wpdm_package id=’2651′]

  • CEO-MAG 344

    Sommaire :

    • 4 COMPO NY 2019, THE WINNERS
    • 6 QUANTUM FX
    • 8 CROSSSHOOT
    • 10 ELECTRORIC
    • 12 HITORIC
    • 14 JAZZ ORIC
    • 16 LIGHTS OUT
    • 18 ORIC JEWEL
    • 20 SNOW FLAKES
    • 22 VISUCAR

    Edito

    Bonjour,
    Jamais nous n’aurions imaginé un tel déferlement de nouveaux logiciels ; même si les auteurs ont annoncé devoir améliorer leur software durant cette année 2019. 9 programmes ont été proposés ; l’année 2019 n’annonce exceptionnelle pour ce qui est des créations sur Oric. Je remercie tous les auteurs d’avoir réalisé en un temps record de si beaux logiciels et en particulier André. Déjà prolifique et pilier inamovible du mag, il a été le plus rapide à proposer des logiciels et lancer le concours. André encore, a été un fidèle secours pour la réalisation de ce mag. Ce hors série qui nous rappelera combien les Oriciens ont une imagination débordante.
    En quelques semaines, les Oriciens poussés par le démon du code auront réalisé de belles prouesses. Il m’aura fallu (et avec l’aide d’André) près de 8 mois pour finir ce numéro. Il faudra faire mieux la prochaine fois : 8 mois pour les programmeurs et quelques semaines coté rédaction !

    [wpdm_package id=’2774′]

    [wpdm_package id=’2814′]

    Téléchargement ouvert à tous

  • CEO-MAG 343

    Sommaire :

    • 2 BLAGOUNETTES
    • 4 CONCOURS : NEW YEAR 2019, LE POINT
    • 5 BLAGUES, HOMMAGE À PIERRE DAC (1)
    • 6 BOOTING PHOENIX
    • 11 ADAPTATEUR PRINTER USB
    • 12 ORIC KONG 2018
    • 14 CROSS-CHASE : LES NEWS
    • 16 ALERTE À LA BOMBE
    • 17 PUBLICITÉ

    Edito

    Bonjour à tous,
    En quelques jours, et à l’approche de la fin d’année, les créations se multiplient. Nous avons désormais 6 jeux enregistrés au concours. Ce numéro sort le 30/12, il reste moins de 24 heures pour recevoir de nouvelles surprises.
    Afin de préserver la santé mentale de mes chers lecteurs (NDLR, et du rédac-chef aussi), ce numéro est peu fourni, pour éviter de distraire les auteurs de leur objectif de création. Je me suis également préservé de beaux articles pour le numéro de la nouvelle année, cette édition est l’occasion de revenir sur quelques softs de l’année. On pourrait presque dire qu’il s’agit d’une newsletter. Mais surtout, ce numéro me permet de boucler les archives du site oric.org proprement (car Jérome a crée les répertoires avec la cadence et le tempo infernal maitrisé par André).
    Bon réveillon à tous. Didier

    [wpdm_package id=’2776′]

    [wpdm_package id=’2778′]

    [wpdm_package id=’2816′]

  • CEO-MAG 342

    Sommaire :

    • 2 BLAGOUNETTES
    • 4 CONCOURS : NEW YEAR 2019, LE POINT
    • 5 MÉLI-MÉLO
    • 6 MANUEL NON OFFICIEL DU PHOENIX
    • 16 CONVERSION DE L’HYPER-BASIC VERS LE BASIC 1.0/1.1 (2)
    • 18 A LA RECHERCHE DE L’OCTET PERDU (3)
    • 20 ASTUCES DE PROGRAMMATION DU 6502 (3/3)
    • 23 PUBLICITÉ
    • 24 COMMANDEZ UN SOUND AMÉLIORATEUR

    Edito

    Bonjour à tous,
    Déjà 3 jeux enregistrés au concours. J’espère que le rush de fin d’année verra de nouveaux prétendants fournir de nouvelles créations.
    Pour ceux qui n’auront pas eu le temps de créer un jeu, un utilitaire, … vous trouverez ici-bas quelques pages de votre magazine préféré à lire et à relire au coin du feu (pour ceux qui en ont, car ma chaudière est out depuis un peu plus d’une semaine maintenant)
    Dans les découvertes du moment, un amateur propose de réaliser des cartes permettant d’améliorer le signal k7 de l’Oric. Vous en trouverez tous les détails et comment commander. Voilà qui peut en interesser certains, qui auraient besoin de sauvegarder leurs précieuses k7 de l’époque.
    Joyeux Noël à tous.

    [wpdm_package id=’2779′]

    [wpdm_package id=’2780′]

    [wpdm_package id=’2818′]

  • CEO-MAG 341

    Sommaire :

    • 2 BLAGOUNETTES
    • 4 CONCOURS CEO-MAG : NEW YEAR 2019
    • 6 QUELQUES ÉLÉMENTS D’HISTOIRE DE L’ORIC PHOENIX
    • 10 CONVERSION DE L’HYPER-BASIC VERS LE BASIC 1.0/1.1
    • 12 INTERVIEW : JEAN-PIERRE RIFF
    • 18 A LA RECHERCHE DE L’OCTET PERDU (2)
    • 21 MELI-MELO
    • 22 ASTUCES DE PROGRAMMATION DU 6502 (2/3)
    • 25 PUBLICITÉ
    • 26 TWILIGHTE CARD & SITTLER CARD

    Edito

    Quel plaisir que de partager ce numéro si dense, qui nous permet de découvrir de nouveaux horizons.
    Ce numéro marque également le lancement du jeu-concours de programmation sur Oric. Un concours qui nous rappellera les deuxlignes d’un vieil hebdomadaire mais … sans limitation autre que votre imagination et la capacité de notre ordinateur préféré.
    Nul doute que les prochaines semaines seront passionnantes, nous pourrons ensuite tous découvrir ces logiciels dans un numéro spécial à paraitre en début d’année prochaine.
    Le challenge sera double pour moi… d’un coté sortir les prochains numéros de l’année, faire également fonctionner mon imagination et mon aptitude à faire parler le 6502.
    A vos claviers!

    [wpdm_package id=’2782′]

    [wpdm_package id=’2784′]

  • CEO-MAG 339-340

    Sommaire :

    • 2 BLAGOUNETTES
    • 4 LE COMPILATEUR BASIC DE RAY MACLAUGHLIN (4)
    • 7 QUELQUES BLAGUES
    • 8 GTW : GOING TO WORK
    • 10 A LA RECHERCHE DE L’OCTET PERDU
    • 13 PUBLICITÉ
    • 14 LOAD VADER
    • 16 ASTUCES DE PROGRAMMATION DU 6502 (1/3)
    • 19 UN PEU DE PUB POUR LA PAGE «MAGAZINES ORIC»
    • 20 COURRIER DU CEO

    Edito

    Quelle rentrée … un peu de temps pour reprendre tous ces mails laissés à l’abandon (et encore, il doit en rester un peu plus loin), relire les articles envoyés et rejouer un peu, une envie irrésistible de refaire une partie de Circus ; et voilà un beau mag plein de sympathiques articles, une belle rubrique courrier et de nouveaux high scores. Encore merci à tous les auteurs, et cela faisait longtemps que nous n’avions pas eu une telle diversité.
    C’est bon pour le moral !
    Merci à tous vos soutiens ; directs avec vos articles ,vos mails, vos high scores et indirects sur notre beau forum. A bientôt.

    [wpdm_package id=’2786′]

    [wpdm_package id=’2788′]

    [wpdm_package id=’2820′]