Nº248 (12/2010)







  Download :
Avec ce numéro de décembre, voilà déjà l’année qui se termine. Malgré quelques craintes en début d’année, le bilan est finalement bon! Je vous incite à feuilleter les 394 pages de 2010 et vous aurez une vue d’ensemble (bien que non exhaustive) des activités Oriciennes de l’année. Il aurait été franchement impossible, même pour un Oricien actif (et disposant de beaucoup de loisirs) de suivre toutes les nouveautés, de participer à toutes les innovations, de jouer à tous les nouveaux jeux, dont certains sont de très grande qualité! Nous espérons simplement que, dans tout ce choix, vous avez pu trouver des activités conformes à vos goûts! Aidez le CEO, le CEO vous aidera!

Compte-Rendu de l'Expo Vieumikro! Tour d'horizon d'Oric peu communs! Une commande fabuleuse: WRITE! Routinothèque Super-Oric! Noël avant l'heure!

sommaire

Adresses CEO / Sommaire / Editorial   Page 2
Courrier Oricien   Page 3-6
Bonnes Adresses   Page 6
Nostalgie : Publicité Loriciel dans Télésoft en 1983   Page 7
Rush Hour Supplément n°7 (3/3)   Page 8-9
La Librairie Oric : Manuel des Applications Télématiques   Page 10-11
Divertissements Mathématiques et Logiques   Page 12
Le Coin Sudoku Oric : Les Grilles 13 à 18 de Septembre   Page 13
Listing Basic : Vol de Nuit   Page 14-15
Routinothèque Super-Oric: Afficher avec des Attributs (2)   Page 16-18
Changement du Fusible du Bloc Secteur de l'Oric-1   Page 19-21
Tour d'Horizon de Machines Oric peu Communes   Page 22-25
Courrier Super-Oric   Page 26
Des Nouvelles de Mickaël P.   Page 27-28
Nouvelle Commande Haute Résolution : WRITE A$,fb   Page 29
Listing Basic : Character Definition   Page 30
Compte-Rendu de l'Expo Vieumikro   Page 31-37
Noël avant l'Heure   Page 38-40
Dino : Petites Blagues, Paradoxes et Devinettes   Page 6, 7, 8, 9 & 30


NOUVELLE COMMANDE HAUTE RESOLUTION (1/2) WRITE A$,fb
Par Yann L.

Ecrire du texte en haute résolution est particulièrement fastidieux sur l'Oric.

La méthode la plus classique consiste à utiliser la commande CHAR n,s,fb dans une boucle de type FOR-NEXT :

10 HIRES:CURSET72,100,0
20 A$="Vive le CEO Mag !"
30 FOR I=1 TO LEN(A$)
40 CHAR ASC(MID$(A$,I,1)),0,1
50 CURMOV 6,0,0
60 NEXTI

L'instruction CURMOV en ligne 50 permet d'obtenir un texte lisible à l'écran, dont chaque caractère est espacé de 6 x 6 points.

L'autre méthode, un peu plus laborieuse, consiste à créer une nouvelle commande en Basic.
La syntaxe retenue pour cette commande est la suivante : WRITE A$,fb
A$ = variable alphanumérique à afficher en haute résolution
fb = code foreground/background valant entre 0 et 3:
· 0 = code PAPER
· 1 = code INK
· 2 = code vidéo inverse
· 3 = nul
Par défaut, le texte est affiché dans la police de caractère standard.

La particularité du programme développé en langage machine est qu'il s'appuie sur l'interpréteur du SEDORIC et qu'il n'y a donc pas besoin d'utiliser le vecteur '!' situé en #2F5.

Ci-dessous, le listing détaillé du programme implanté entre #9600 et #969D.

9600 LDY #00 ;Prend le 1er caractère
9602 LDA (E9),Y ;dans le buffer d'entrée
9604 CMP 'W ;et le compare à 'W'
9606 BEQ 9609
9608 RTS ;si différent on sort
9609 INY
960A LDA (E9),Y ;on compare la syntaxe
960C CMP 9699,Y ;avec celle stockée
960F BNE 9608 ;on sort si différente
9611 INY
9612 CPY #05
9614 BNE 960A
9616 DEY
9617 JSR 00E2 ;on positionne correctement
961A DEY ;TXTPTR (pointeur buffer)
961B BPL 9617
961D LDA 021F ;est-on bien en HIRES ?
9620 BNE 9627
9622 LDX #A3 ;non, alors
9624 JMP C47E ;DISP TYPE MISMATCH ERROR
9627 JSR CF17 ;évaluer expression
962A BIT 28 ;si expression numérique
962C BMI 9631
962E JMP D070 ;alors SYNTAX ERROR
9631 JSR D7D0 ;récupère
9634 STA 03 ;longueur de la chaîne
9636 STX 04 ;et son adresse
9638 STY 05 ;stockée en 04-05
963A JSR D065 ;demande une ','
963D JSR D8C8 ;prend un entier dans X
9640 CPX #04
9642 BMI 9647;si X>3
9644 JMP D336;alors ILLEGAL QUANTITY ERROR
9647 STX 02 ;sinon sauver code fb en 02
9649 LDX 04
964B STX 91
964D LDY 05
964F STY 92
9651 LDY #FF
9653 INY
9654 TYA
9655 PHA ;empiler le compteur
9656 LDA (91),Y;prendre le caractère à afficher
9658 STA 02E1 ;le stocker en 02E1-02E2
965B LDA #00
965D STA 02E2
9660 STA 02E3;02E3-02E4 contient la
9663 STA 02E4 ;police de caractères
9666 STA 02E6;02E5-02E6 contient
9669 LDA 02
966B STA 02E5 ;le code fb
966E JSR F14F ;afficher le code ASCII
9671 JSR EB6E ;vérifier si erreur
9674 LDA #06
9676 STA 02E1 ;02E1-02E2 contient le
9679 LDA #00 ;déplacement horizontal
967B STA 02E2;pour CURMOV
967E STA 02E3;dépl.vertical->02E3-02E4
9681 STA 02E6;code fb en 02E5-02E6
9684 STA 02E5
9687 JSR F0FD;commande CURMOV
968A JSR EB6E
968D PLA ;dépiler
968E TAY ;le compteur
968F DEC 03 ;a-t-on tout affiché ?
9691 BNE 9653
9693 PLA ;oui alors sortir
9694 CLC ;et pointer sur
9695 ADC #03 ;commande suivante
9697 PHA
9698 RTS
9699 BYT 'W
969A BYT 'R
969B BYT 'I
969C BYT 'T
969D BYT 'E

Le branchement de la routine se fait par un DOKE#4EA,#9600.

Dans un prochain article, quelques petites améliorations de cette routine :
· affichage des caractères blancs (CHR$(32))
· prise en compte de la variable 'AN'


BROWSE

NUMEROS
 [247] - [246] - [245] - [244] - [243] - [242] - [241] - [240] - [239] - [238] - [237] 

YEAR
2013 - 2012 - 2011 - 2010 - 2009 - 2008 - 2007 - 2006 - 2005 - 2004 - 2003 - 2002 - 2001 - 2000 - 1999 - 1998 - 1997 - 1996 - 1995 - 1994 - 1993 - 1992 - 1991 - 1990



Hosted By oric.org server www.oric.org V 2.6 CNIL ID : 872370 Write to Webmaster © 2000-2024 Built in 0.29 Seconds