| 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 |  
					
						| 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   
 
 
 |