;--------------------------------------------------------------------------
;	Maîy przykîadzik moûliwoôci NEW_ASS
;
;	by Arco / The ValidatoR
;
;--------------------------------------------------------------------------

	include		'df1:s/initlibra'	;doîâczamy waûny plik
						;bez tego nic nie pójdzie
				

	unpackiff	pic,mem,0,0		;depackujemy rysunek w IFF
						;w zarezerwowanym obszarze
						;pamiëci

	screenopen	1,#320,#256,#5,#mem,0	;otwieramy ekran
	move.l		#16,kolor		;îadujemy label (zmiennâ)
						;'kolor' wartoôciâ 16
	pen		1,kolor			;i ustalamy kolor pióra
						;graficznego wîaônie na 16-ty

	move.l		#1,ziutek		;-
	longztxt	#txt1,dlugosc		; |
						; |
	move.l		dlugosc,d0		; | tu trochë klasyczengo 
	move.l		#8,d1			; | asemblera w obliczeniach
	mulu		d0,d1			;  - na centrowanie tekstu
	move.l		#320,d0			; |
	sub.l		d1,d0			; |
	move.l		#2,d1			; |
	divu		d1,d0			; |
	move.l		d0,XX			;-  w zmiennej XX mamy 
						;wyliczonâ odpowiedniâ wartoôê
						;wspóîrzëdnej X dla zmiennej
						;'txt1'
		
;------------------------------------------------
	add.l		#3,kolor		;zmieniamy kolor pióra
	pen		1,kolor			;teraz kolor 15+3=18

	for		1,drukuj1,dlugosc	;rozpoczynamy pëtlë wykonywanâ
						;tyle, jaka jest dîugoôê
						;zmiennej tekstowej 'txt1'
drukuj1:
	grlocate	1,XX,#160		;ustawienie kursora graficznego
						;wedîug pozycji X=XX i pozycji
						;Y=160
	print		1,ziutek,#txt1		;i drukujemy pokolei nastëpne
						;litery zmiennej 'txt1'
	add.l		#1,ziutek
	wait		3			;czeka ok.3/50 sekundy

	next		1			

	;operacje wykonamy jeszcze 3 razy dla nastëpnych 
	;zmiennych tekstowych

;------------------------------------------------

	move.l		#1,ziutek
	longztxt	#txt2,dlugosc
	
	move.l		dlugosc,d0	;   Centrowanie
	move.l		#8,d1		;
	mulu		d0,d1		;     tekstu
	move.l		#320,d0		;
	sub.l		d1,d0		;
	move.l		#2,d1		;
	divu		d1,d0		;
	move.l		d0,XX		;
		
;------------------------------------------------
	add.l		#3,kolor
	pen		1,kolor
	for		1,drukuj2,dlugosc

drukuj2:	
	grlocate	1,XX,#170
	print		1,ziutek,#txt2
	add.l		#1,ziutek
	wait		3

	next		1
;------------------------------------------------

	move.l		#1,ziutek
	longztxt	#txt3,dlugosc
	
	move.l		dlugosc,d0	;   Centrowanie
	move.l		#8,d1		;
	mulu		d0,d1		;     tekstu
	move.l		#320,d0		;
	sub.l		d1,d0		;
	move.l		#2,d1		;
	divu		d1,d0		;
	move.l		d0,XX		;
		
;------------------------------------------------
	add.l		#3,kolor
	pen		1,kolor
	for		1,drukuj3,dlugosc
	
drukuj3:
	grlocate	1,XX,#180
	print		1,ziutek,#txt3
	add.l		#1,ziutek
	wait		3

	next		1
;------------------------------------------------

	move.l		#1,ziutek
	longztxt	#txt4,dlugosc
	
	move.l		dlugosc,d0	;   Centrowanie
	move.l		#8,d1		;
	mulu		d0,d1		;     tekstu
	move.l		#320,d0		;
	sub.l		d1,d0		;
	move.l		#2,d1		;
	divu		d1,d0		;
	move.l		d0,XX		;
		
;------------------------------------------------
	add.l		#3,kolor
	pen		1,kolor
	for		1,drukuj4,dlugosc
	
drukuj4:
	grlocate	1,XX,#190
	print		1,ziutek,#txt4
	add.l		#1,ziutek
	wait		3

	next		1
;------------------------------------------------


	srmb					;czekamy na wciôniëcie RMB
	
end	edit					;i koniec programu


pic:	incbin		'df0:rysunek.iff'	;bierzemy rysunek z dysku

mem:	ab		5*10240			;rezerwacja pamiëci na 5
						;bitplanów w lowres'ie

txt1:	ztxt		'The Validator presents:'		;poszczególne
txt2:	ztxt		'First Example in our new product'	;zmienne
txt3:	ztxt		'called NEW_ASS. It is very'		;tekstowe
txt4:	ztxt		'nice, isn't it? Enjoy Show!'		;

ziutek:			l 			;
dlugosc:		l 			;oraz inne zmienne
XX:			l 			;uûywane w programie
kolor:			l			;
;-------------------------------------------------
	inclink		'ram:libra.library'	;korzystamy zawsze z gîównej
						;biblioteki




