@DATABASE "MagicSchematic"
@AUTHOR "Salah Daniël"
@(C) "1996-1998"
@$VER: MagicSchematic 1.02

@NODE MAIN "MagicSchematic Manual"

                           @{b}MagicSchematic@{ub}
  
                             Version 1.02 

                    Un simple programme pour créer des schémas .

                  © Copyright 1996-98 by Salah Daniël	@{" ADRESSE " LINK ADRESSE}


 @{" HELP ME " LINK HELP_ME}


 @{" Requirement          " LINK Materail}  Materiel
 @{" Installation          " LINK Install}  Install

 @{" Introduction         " LINK Introduction}  Qu'est-ce qu'est MagicSchematic ?
 @{" Command              " LINK Command}  Liste des diférentes commande

 @{" History              " LINK History} Programme Information
 @{" Bug report           " LINK Bug_report} Restriction et erreur connue

 @{" Doc                  " LINK doc} 



 @{b}Notes Importante:

 Le 22 mars 1998 : Après un essai d'installation sur un Amiga 1200 + 68030 , il s'avère que pour fonctionner ,
		   les programmes MagicBoard et MagicSchematic ont besoin d'une carte graphique pour 
		   fonctionner, avec workbench en 256 couleurs !?.@{ub} De toute façon ces programmes sont
		   unitilisables sans carte graphique.


@ENDNODE



@NODE HELP_ME "HELP_ME"


                             @{b}MagicSchematic@{ub}		 
                               Version 1.02

	- Pour moi , et pour vous , il est de votre DEVOIR de me faire parvenir vos critiques ,
	  vos suggestions , ainsi qu'un rapport sur un ou certainement plusieurs bug de ce 
	  programme.


	- TOUTES SUGESTION , CRITIQUE , SONT ATTENDUENT AVEC IMPATIENCE.


	- Developpeur: @{" ADRESSE " LINK ADRESSE}

@ENDNODE

@NODE Materail "Material"



                             @{b}MagicSchematic@{ub}		 @{" HELP ME " LINK HELP_ME}
                               Version 1.02




	- Ce programme à été écrit , et tourne sur A4000-60 50 Mhz , cyber64 , 54 Meg OS 3.0.
	

	- Il faut obligatoirement avoir 8 Meg de Fast Memory


	- Au niveau sofware , @{b}MagicSchematic@{ub} n'utilise pas de library personnel en "LIBS:" ,
	  la seule obligation c'est l'assignation "MagicBoard:","MagicSchematic:", ainssi que la
	  copie des fonts "magicBNS.font" dans le répertoire "FONTS:". Les programme MagicBoard,
	  MagicSchematic utilise la reqtools.library ,ainsi que amigaguide.library.

	-@{b}Si vous avez des "Guru" à l'ouverture des fenêtres@{ub} , détruisez le fichier
	 "MagicSchematic:@{b}Préférence.MS (ou .MB car valable pour le programme MagicBoard)@{ub}" ,
	   dès lors , un requestre apparaîtra au démarrage du programme.


@ENDNODE

@NODE Install "Procédure d'installation"



                             @{b}MagicSchematic@{ub}		 @{" HELP ME " LINK HELP_ME}		 @{" HELP ME " LINK HELP_ME}
                               Version 1.02




	- Ce programme est archivé dans un directory contenant les programmes. Pour installer le
	  programme , il faut faire démarrer le programme "Install MagicSchematic".


	- @{b}Normalement , l'installation détruit le programme MagicNet ( inclus dans la version 1.00 de MagicBoard), les fichiers
		de configuraion ,et replace les library Schéma (library/SCH) , car dans la version 1.02 ,les textes sont vectorielles.@{ub}

	- Pour une installation manuelle- Décompresser l'achive MB dans un directory, par ex: "DIR_x". 
					- Copier les fonts MagicBNS.font dans FONTS: ,(fichier identique à la version 1.00).
					- Assign MagicBoard: "DIR_x"
					- Assign MagicSchematic: "DIR_x"

					- C'est fini.

	NB: La valeur de la Pile doit être de 40.000.

@ENDNODE


















@NODE Bug_report "Report Bug"



                             @{b}MagicSchematic@{ub}		 @{" HELP ME " LINK HELP_ME}		 @{" HELP ME " LINK HELP_ME}
                               Version 1.02




	
@ENDNODE




























@NODE Introduction "Introduction"




                             @{b}MagicSchematic@{ub}				 @{" HELP ME " LINK HELP_ME}
                               Version 1.02



@{b}MagicSchematic@{ub} est un simple programme pour la création de schéma.

	- Ce programme sans prétention devrait suffire pour créer des schémas simple.
	- Si , je reçois assez d'Email, je prévois pour la prochaine version, d'implanter dans 
	  MagicBoard un AutoRouter , au départ d'un schéma créer avec MagicSchématic.

	Concept:Pour créer un schéma , il faut des devices (Transistor,IC,Cpu,transfo,etc...) , et il
		faut les relier entre eux pour créer un schéma fonctionelle. Donc, MagicSchématic
		(tout comme MagicBoard) fonctionne sur deux modes différents.
		Mode Normale:	Ce mode vous permet d'importer des Devices, et les connecter entre eux.
				Automatiquement, un numéro sera attribué à chaque nouveau device , par ex: "IC3".
		Mode Library:	Ce mode vous permet de créer des nouveaux (ou modifier) devices, et de les 
				sauver dans une library. Ce device sera sauvé comme étant UN SEUL OBJET.
				En comparaison, dans le mode normale , cette même création sera sauvé comme
				étant un ensemble de traits, textes, etc... INDEPENDANT les uns des autres,
				SANS NOM, qu'il faut Importer séparément. 

	- Note :
	      -	Le nombre de bitplane n'est pas sélectionable. Néanmois, le programme teste la
		présence de la "cybergraphics.library" dans le répertoire "LIBS:". Si vous
		avez cette library, le programme présume que vous avez une carte graphique,
		et ouvre l'écran avec 256 couleurs. Dans le cas contraire, un écran de 4 bitplane
		(16 couleurs) est ouvert. 


	      - Les librairies MagicSchématic se situent à "MagicBoard:Library/SCH/". Dans ce directory vous
		pouvez mettre jusqu'à 10 directory différent, chaque directory (nom: par ex: "Resitor", 
		"VLSI", etc...) peut contenir un nombre infini de Device. Lorsque vous lancez MagicSchématic,
		celui-ci check le contenu, c-a-d le nom , et le nombre de directory contenu dans 
		"MagicBoard:Library/SCH/". 

@ENDNODE

@NODE Command "Command"



                             @{b}MagicSchematic@{ub}				 @{" HELP ME " LINK HELP_ME}
                               Version 1.02
 @{b}Menu/Project@{ub}
	 @{b}Load@{ub}	-Nouveau projet.
	 @{b}SaveAs@{ub} -Sauver projet sous ...
	 @{b}Print@{ub}	-Imprime le projet en cours.
	 @{b}About@{ub}	-Info sur le programme.
	 @{b}Quit@{ub}	-Bye-Bye.


 @{b}Preference@{ub}
	 @{b}ModeVideo       @{ub}- Vous pouvez sélectionner un autre screen mode via le menu preference/video .
		   	   	Le nombre de bitplane n'est pas sélectionable. Néanmois, le programme teste la
				présence de la "cybergraphics.library" dans le répertoire "LIBS:". Si vous
				avez cette library, le programme présume que vous avez une carte graphique,
				et ouvre l'écran avec 256 couleurs. Dans le cas contraire, un écran de 4 bitplane
				(16 couleurs) est ouvert. 

	 @{b}BakDirector     @{ub}- Requester pour indiquer ou et sous quelle forme sont sauvé les backups des projets.
		  	 	 L'option "Overwrite", indique que vous écrasez l'ancien backup par le nouveau.

	 @{b}Widht Conex     @{ub}- Requester pour indiquer le diamètre en 1/100 mm pour les connections.

	 @{b}Coord Win       @{ub}- No Comment.
		    
	 @{b}Lib Management  @{ub}-  @{" Library Management  " LINK libmanagement} 
   
	 @{b}Text Button     @{ub}- Do Not Use.

	 @{b}Color Background@{ub}- No Comment.

	 @{b}Color Grid      @{ub}- No Comment.

 @{b}Preference@{ub}
	 @{b}Library@{ub}- Place le programme en Mode Création de device pour les library.(Aucun Project ne doit être ouvert).


	Note:	Pour créer un schéma , il faut des devices (Transistor,IC,Cpu,transfo,etc...) , et il
		faut les relier entre eux pour créer un schéma fonctionel. Donc, MagicSchématic
		(tout comme MagicBoard) fonctionne sur deux modes différents: - un mode pour CREER 
		des devices à connecter	entre eux , et un autre mode pour rechercher ces devices ,
		sauver dans une librairie ( équivalente à un fichier dans un directory placé dans
		"Magicboard:Library/SCH/xxxxx/fichier" ;xxxx = nom du directory , avec au max 10 )
		les placer sur la "feuille de travail" et enfin les connecter entre eux. 

 @{b}SPECIAL@{ub}
	 @{b}Change text all project@{ub}- Fonction particulière.
		Si vous en désirez d'autre , envoyer un émail @{" EMAIL " LINK ADRESSE}




 @{" GRAPHIC BUTTON " LINK BUTTON}

 @{" GADTOOL BUTTON " LINK GADBUTTON}




	
@ENDNODE



@NODE BUTTON

	Cette fonction n'est pas implentée dans la version 1.02
	Show "Magicboard:Doc/previous v1.1.jpg"



@ENDNODE


@NODE GADBUTTON

 @{b}GatTool Gadget@{ub}


	@{b}NEW  @{ub} , @{b}LOAD@{ub} , @{b}PRINT@{ub} No comment

	@{b}LOADLIB@{ub}- Lecture d'un device en library. Les numéros des pins ne sont pas lus. Utilisés pour
			lire, modifier, puis sauver un Device. 


	@{b}IMPORT@{ub}- Importe un fichier Magicschemaic. (Key "Space" pour le faire pivoter) 


	@{b}EXPORT@{ub}- Exporte une zone du project , sélectionné par la souris. 


	@{b}E@{ub} - Détruit un Device , en sélecionnant n'importe quel PinNumber.
	@{b}M@{ub} - Déplace un Device , en sélecionnant n'importe quel PinNumber.
	@{b}MOD@{ub} - Déplace UNE PARTIE de n'importe quel(s) objet(s), en sélectionnant une région.
	@{b}LIB@{ub} - Sélectionne un Device, pour le placer sur la feuille.(key "space" et "T" pour pivoter l'object.


	@{b}START@{ub}- Utilisé pour connecter les pins entre eux via des "connectedLine", ou à d'autre "connectedLine".
	@{b}M@{ub}- Déplace 1 point.
	@{b}E@{ub}- Enlève 1 point d'une "collectedLine".


	@{b}LINE WIDTH@{ub}-Sélectionne l'épaisseur du trait , en mm.


	@{b}LINE/2@{ub}
	@{b}BOX/F@{ub}
	@{b}CIRCLE@{ub}
	@{b}TRIANGLE/F@{ub}
	@{b}ARC@{ub}	-Pour détruire un objet de dessin, sélectionné-le avec le RMB.


	@{b}SETDRAW@{ub}
		@{b}TEXT@{ub}
		@{b}PinNumber@{ub}
		@{b}PinName@{ub}  - Fonction identique sauf pour la dimension du texte.

		@{b}ANGLE@{ub}

		@{b}ERASE@{ub} - Détruit tous les textes attachés à un device.
		@{b}ERASE_SEL@{ub} - Détruit Le texte sélectionné.
		@{b}MOVE@{ub} - Déplace tous les textes attaché à un device.
		@{b}MOVE_SEL@{ub} - Déplace Le texte sélectionné. 
		@{b}MOD@{ub} - Modifie Le texte sélectionné. 



	@{b}LINE WIDTH@{ub}-Sélectionne l'épaisseur du trait , en mm.


	@{b}ON OFF GADGET@{ub}	- Grid on/off.
				- Snap le curseur se positionne sur la grid .
				- Quart, subdivise la grid en 4
				- Ruller
				- SwPin , visualise les connections 
				- SnLine, en mode 'Start' , sélectionne si le trait peut commencer ou s'arrêter sur un autre trait.
				- Iline, en mode 'Start', dessine les traits uniquement avec les traits à 90°.


	@{b}KEY EQUIVALENT@{ub} - (active lors de la création des objets)

				- A => Zoom-
				- Z => Zoom+
				- R => Ruller on/off
				- Q => Quart on/off ( snap sur 1/4 ou 1/2 grid)
				- S => Snap sur grid on/off
				- P => Show Pin for all Device
				- L => SnapLine , en mode "Start" , connexion seulement sur pin on/off

				- Fléche up
				- Fléche down
				- Flèche Right
				- Flèche Left ... no comment.

				- Space => Tourne le device de 90° en mode PlaceDevice, Import, Lib-Smb. 
				- T => en mode PlaceDevice , pivote les textes.


@ENDNODE






@NODE DRAW_TXT "DRAWING TEXTE"


                             @{b}MagicSchematic@{ub}				 @{" HELP ME " LINK HELP_ME}		 
                               Version 1.02

	- @{b}B@{ub} 	: Set Bold texte

	- @{b}TEXT@{ub}	: GO

	- @{b}SIZE WITDH@{ub} : Dimension du texte 

	- @{b}TEXTE@{ub}	: Texte à écrire


	- Lorsque vous sélectionnez le gadget @{b}TEXT@{ub}, dans la fenêtre SET-DRAW , un
	  requester apparaît avec quatre possibilités:
  
		@{b}NEW AUTO@{ub}
			- Ce requester apparaîtra immédiatement après avoir placé le texte
			  précédemment .

		@{b}LAST@{ub}
			- Vous ne placez qu'un seul texte .


		@{b}AUTO COUNT@{ub}
			- Lorsque vous aurez placé le texte , le même texte apparaitra
			  @{b}DONT LA VALEUR DECIMAMLE SERA INCREMENTEE@{ub}.
			  @{b}LE FORMAT DU TEXTE DOIT ETRE "TEXTExxx" , AVEC POUR xxx UN
			  CHIFFRE DE 0 A 9998@{ub}.

		@{b}CANCEL@{ub} 


	- @{b}ERASE@{ub} Détruit les textes

	- @{b}ERASE_SEL@{ub} Détruit un texte

	- @{b}MOVE@{ub} Déplace tous les textes

	- @{b}MOVE_SEL@{ub} Déplace un texte

	- @{b}MODIFY_TXT@{ub} Change le texte (pas les noms des devices)

	- @{b}CHANGE_NUMBER@{ub} BUG


	- Pour sortir n'oubliez pas @{b}ESC@{ub}

@ENDNODE


@NODE DEFINITION "DEFINITION"


                             @{b}MagicSchematic@{ub}				 @{" HELP ME " LINK HELP_ME}		 
                               Version 1.02


	



@ENDNODE


@NODE ADRESSE "ADRESSE"



		SALAH Daniël

		rue des Bleuets n°6

		B 1300 LIMAL

		BELGIUM


		TEL: 010 41 88 95


		E-mail : zar@infonie.be


@ENDNODE

@NODE History "Programme Information"



                             @{b}MagicSchematic@{ub}		 @{" HELP ME " LINK HELP_ME}		 @{" HELP ME " LINK HELP_ME}
                               Version 1.02

	This programme is writen in assembler and compiled witch HiSoft 3.01




 @{b}V1.02 3/03/98@{ub}
	- première version public domaine


@ENDNODE



@NODE STRUC_LIB "Structure du fichier list"



                             @{b}MagicSchematic@{ub}		 @{" HELP ME " LINK HELP_ME}		 @{" HELP ME " LINK HELP_ME}
                               Version 1.02 Beta



	- STRUCTURE fichier "list" , contenu dans chaque directory des librairies.


	LONG	: Fichier MagicSchematic Library = "MBLI"
	LONG	: Nombre de fichiers contenus dans ce répertoire.
	NameFile: Nom des fichiers , terminés par 0. 
	........:

	END


@ENDNODE


@NODE doc "Doc"


                             @{b}MagicSchematic@{ub}		 
                               Version 1.02



	Un fichier Schématic est sauvé comme suit:


	(variable en LONG , sauf indication)

      - "EXPO"
	VERSION
	LIBN
	espace de la grid  (1/100mm)	*
	zoom				*
	offset plan x	(1/100mm)	* en INT 32 bit
	offset plan y	(1/100mm)	*

	
		Début de la structure.

		- Chaque objet est défini par LONG "OBJT" ,cette structure rassemble les différent pointeurs. ( Leng = daSIZE)

				LONG	"OBJT"

				APTR	dasucc		; Pointer to next (successor)
				APTR	dapred		; Pointer to previous (predecessor)
				UBYTE	datype		; 
				BYTE	dapri		; prioity, for sorting use here for num ordinal num for this pad
				WORD	daname_num	; it this the num for this device ( ex IC "3" )
				APTR	daparent	; parent of this objet NULL if no parent
				APTR	dachildren	; children of this objet NULL if no children
				APTR	dadraw		; APTR to sub-structure , draw objet
				APTR	dapad		; APTR to sub-structure , Number Pin Structure
				APTR	datxt		; APTR to sub-structure , Text objet
				LONG	dapox		; FUTURE USE
				LONG	daposy		; FUTURE USE 
				LONG	dainclxy	; FUTURE USE
				LONG	dainclxy1	; FUTURE USE

			- Sont défini 1 , 2 , ou 3 structure suivant, dans l'ordre! (s'il n'existe pas une des sub-structure, le
			  hunk respecif n'apparait pas dans le fichier, et donc le pointeur crrespondant dans la structure
			  "OBJT" doit être NULL.

			  Structure "PADD" , représente la list des positions pour les pins existant (Leng = da_numpinSIZE) 

				Hunk: "PADD"
 
					LONG	da_numpinp		; layer where your draw your objet
					LONG	da_numpinparent		; parent for this sub-structure
					LONG	da_numpinchildren   	; children for this sub-structure
					LONG	da_numpintot		; NOT USE
					LONG	da_numpinpadID		; NOT USE
					STRUCT	da_numpinlist,2080	; List des positions pour les pins. ( INT32 ,posx,poy)
								suit 520 INT LONG pour les position x et y de la pin du device.
								offset 0 = Pin n° 0 , LONG (posx), LONG	(posy)  Pin 0 n'est pas utilisée
							offset (1 * 8 )  = Pin n° 1 , LONG (posx), LONG	(posy) 
							offset (2 * 8 )  = Pin n° 2 , LONG (posx), LONG	(posy) 
								etc,etc...
							offset (255 * 8 )  = Pin n° 255 , LONG (posx), LONG (posy)   
							  Note: La première pin trouvé dont la position x = 0 , signifie la fin
								de la liste.

					STRUCT  da_numpinequal,512	; FUTURE USE
					STRUCT  da_numpinpad,256	; FUTURE USE




			  Structure "DRAW" , représente la list des objet "dessin" (Leng = da_draw_SIZE) 

				Hunk: "DRAW"

					APTR	da_draw_ext	; structure suivante. 
					LONG	da_draw_ID	; Type of objet
					LONG	da_draw_pred 	; structure précédente
					LONG	da_draw_ptr	; FUTURE USE 
					LONG	da_draw_x	; 
					LONG	da_draw_y	; 
					LONG	da_draw_x1	; 
					LONG	da_draw_y1	; 
					LONG	da_draw_offx	; }
					LONG	da_draw_offy	; } Use for "triangle" , arc

				Le hunk qui suit détermine si ont a affaire à une autre structure draw. Dans ce cas on trouve le hunk "DRAW".




			  Structure "TEXT" , représente la list des objet "texte" (Leng = da_txt_SIZE) 

				Hunk: "TEXT"

					APTR	da_txt_last	; is NULL if is this the last structure text
					APTR	da_txt_txt	; Pointeur to string 16 byte if tx_ic or 40 byte if tx_txt
					WORD	da_txt_type	; tx_ic or tx_txt
					WORD	da_txt_size	; Size in pixel
					LONG	da_txt_posx	;
					LONG	da_txt_posy	;

			  	Le hunk qui suit détermine si ont a affaire à une autre structure text. Dans ce cas on trouve le hunk "TEXT".


	Check si c'est la fin du fichier, si cela est faux, on retourne au début de la structure, et ont relit les fichiers défini précédement.





	Les fichiers sauvés dans les library sont identiques.




;****************************************************************
;
; 	STRUCTURE FICHIER ECHANGE MEMORY
;
;****************************************************************
 STRUCTURE dan_exch,0
	LONG exch_ID
	LONG exch_BaseSch
	LONG exch_BasePcb
	LONG exch_WinSch
	LONG exch_WinPcb
	LONG exch_datalistSch
	LONG exch_datalistPcb

	LONG exch_res1
	LONG exch_res2
	LONG exch_res3
	LONG exch_res4

	LABEL exch_SIZEOF


;****************************************************************
;
; 	STRUCTURE FICHIER PREF
;
;****************************************************************


 STRUCTURE fichier,0
 APTR daw_name1		; top for the Stack
 APTR daw_name2
 LONG daw_version	; $0010 for this version v1.0 
 LONG daw_mbID		; "MABO"	flag ,this is is magicbord
 LONG daw_id
 LONG daw_sclarg
 LONG daw_schaut
 LONG daw_scprof	; si ID = 0 => la fenetre s'ouvre sur l'écran workbench
			; esle ID du nouvel écran

 STRUCT daw_namedir,256	;name of the last file 
 STRUCT daw_namefile,256	;name of the last file 
 STRUCT daw_namecomp,256	;name of the last file 

 STRUCT daw_name_printer,256	;name of the last file 

 STRUCT daw_bakdir,256	;name of the last file 

 LONG daw_bakdir_over

 LONG daw_dpi
 LONG daw_device

 LONG daw_lang		;language	Not USED
 LONG daw_zoom		;zoom
 LONG daw_offx
 LONG daw_offy

 LONG daw_grid
 LONG daw_snap
 LONG daw_quart
 LONG daw_ruller
 LONG daw_showpin
 LONG daw_snaplineSch
 LONG daw_Iline

 LONG daw_font_txt
 LONG daw_font_txt1
 LONG daw_font_txt2

 LONG daw_font_lib

 LONG daw_pt_width


 LONG daw_colorgrid
 LONG daw_colorfond

 LABEL daw_SIZEOF




;**************************************************************
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;*********************** structure mémoire for objet *********
   STRUCTURE	da,0	; List Node
	APTR	dasucc		; Pointer to next (successor)
	APTR	dapred		; Pointer to previous (predecessor)
	UBYTE	datype
	BYTE	dapri		; prioity, for sorting use here for num ordinal num for this pad
	WORD	daname_num	;it this the num for this device
	APTR	daparent	; parent of this objet NULL if no children
	APTR	dachildren	; children of this objet NULL if no children
	APTR	dadraw	; layer where your draw your objet
	APTR	dapad	; layer where your draw your objet
	APTR	datxt	; layer where your draw your objet
	LONG	daposx		; coord en qui inclut l'objet
	LONG	daposy	
	LONG	dainclxy	;danamedevice
	LONG	dainclxy1	;
	LABEL	daSIZE	; Note: word aligned

   STRUCTURE	da_txt,0
	APTR	da_txt_last	;is NULL if is this the las extention
	APTR	da_txt_txt	; Pointeur to string 16 byte if tx_ic or 40 byte if tx_txt
	WORD	da_txt_type	;tx_ic/tx_txt
	WORD	da_txt_size	; Size in pixel
	LONG	da_txt_posx
	LONG	da_txt_posy
	LABEL	da_txt_SIZE


TEXT_SIZE_NOR_BOLD	equ $0100

tx_ic	EQU	$0002
tx_txt	EQU	$0004

;;;;;;;;; tx_.. : This WORD is divided on 2 parts: BYTE ( Angle) + BYTE ( size )


;		 $00.. = 0°: $01.. = 90° : $02.. = 180 : Note max size = 255

tx_angle0 EQU $00
tx_angle90 EQU $01
tx_angle180 EQU $02
tx_angle270 EQU $03

tx_angleI0 EQU $10
tx_angleI90 EQU $11
tx_angleI180 EQU $12
tx_angleI270 EQU $13



;AFTER THIS STRUCURE YOUR HAVE ALWAY 16 OR 40 BYTE FOR THE TEXT DATA !!!!!!!!!!!!!!!!!!!

;	 WHEN DA_draw_TYPE = db_liSch this structure is use for linked this line
;	so , the id_txt = 

;	NOT FORGET the pointer dadraw is use for drawing liSch in same time



   STRUCTURE	da_draw,0
	APTR	da_draw_ext
	LONG	da_draw_ID	; the first byte is with of the line for schematic only
	LONG	da_draw_pred 
	LONG	da_draw_ptr	;pointe to dad_ptr structure
	LONG	da_draw_x
	LONG	da_draw_y
	LONG	da_draw_x1
	LONG	da_draw_y1
	LONG	da_draw_offx
	LONG	da_draw_offy
	LABEL 	da_draw_SIZE


db_liSch	EQU	$00000101	; id for line for conected device symbole in net list

db_pinSch	EQU	$00000102	; id for line to pad conected device symbole in net list
db_conSch	EQU	$00000103	; id for node for conected list linesch in net list

db_lib		EQU	$00000400	; id for redraw lib
db_export	EQU	$00000401	; id for redraw lib
db_libmove 	EQU	$00000402	; id for redraw lib
db_liberase 	EQU	$00000403	; id for redraw lib
db_libmovesel 	EQU	$00000404	; id for redraw lib
db_placelibtxt 	EQU	$00000405	; id for redraw lib
db_placenamelib EQU	$00000406	; id for redraw lib
db_moveliSch	EQU	$00000407	; id for redraw lib
db_eraseliSch	EQU	$00000408	; id for redraw lib
db_setnumpin	EQU	$00000409	; id for redraw lib




db_li		EQU	$00000001	; id for line
db_box		EQU	$00000002	; id for box
db_boxf		EQU	$00000003	; id for box filled
db_multili 	EQU	$00000004	; id for multi lines
db_multilif 	EQU	$00000005	; id for multi lines
db_poly 	EQU	$00000006	; id for polygon 
db_polyf 	EQU	$00000007	; id for polygon 
db_circle	EQU	$00000008	; id for circle 
db_circlef 	EQU	$00000009	; id for cerclefilled
db_ellipse 	EQU	$0000000A	; id for ellipse
db_ellipsef 	EQU	$0000000B	; id for ellipsefilled
db_tri	 	EQU	$0000000C	; id for triangle
db_trif	 	EQU	$0000000D	; id for triangle filled
db_arc	 	EQU	$0000000E	; id for arc
db_arcf	 	EQU	$0000000F	; id for arc filled
db_txt	 	EQU	$00000010	; id for text
db_li2		EQU	$00000011	; id for line



   STRUCTURE	da_numpin,0
	LONG	da_numpinp		;  FUTURE USE
	LONG	da_numpinparent		; FUTURE USE 
	LONG	da_numpinchildren	; FUTURE USE 
	LONG	da_numpintot		; FUTURE USE 
	LONG	da_numpinpadID		; SET numpinstruc
	STRUCT	da_numpinlist,2080	; numero of this pin
	STRUCT  da_numpinequal,512	; FUTURE USE 
	STRUCT  da_numpinpad,256	; FUTURE USE 
	LABEL	da_numpinSIZE		; 



numpinstruc	equ $00000080	; structure numero pin












@ENDNODE

