org $30000	;EMPLACEMENT EN MEMOIRE
load $30000	;DE NOTRE PROGRAMME

BEGIN:
JMP START
;=====================================================================
EXECBASE=4
OPENLIBRARY=-408
CLOSELIBRARY=-414
SUPERSTATE=-150
USERSTATE=-156	
FORBID=-132
PERMIT=-138
ADDINTSERVER=-168
REMINTSERVER=-174
Open=-30
Close=-36
Read=-42

;=====================================================================
BLTCON0=$DFF040		
BLTCON1=$DFF042
BLTAFWM=$DFF044
BLTALWM=$DFF046
BLTCPTH=$DFF048
BLTCPTL=$DFF04A
BLTBPTH=$DFF04C
BLTBPTL=$DFF04E
BLTAPTH=$DFF050
BLTAPTL=$DFF052
BLTDPTH=$DFF054
BLTDPTL=$DFF056
BLTSIZE=$DFF058
BLTCMOD=$DFF060
BLTBMOD=$DFF062
BLTAMOD=$DFF064
BLTDMOD=$DFF066
BLTCDAT=$DFF070
BLTBDAT=$DFF072
BLTADAT=$DFF074
DMACONR=$DFF002
;==================================
PLAN=$40000
;==================================
START:    
MOVEM.L D0-D7/A0-A6,-(A7)	;SAUVE REGISTRES
MOVE.L EXECBASE,A6		;CHARGE ADRESSE EXECBASE DANS A6
JSR FORBID(A6)    		;SAUTE SOUS PROGRAMME: INTERDIT MULTITACHE
JSR OPENLIB  			;SAUTE SOUS PROGRAMME: OUVERTURE LIBRAIRIES

LEA PLAN,A0			;EFFACE ECRAN
MOVE.W #[20*3*130],D0
CLEAR_ECRAN:
MOVE.W #0,(A0)+
DBF D0,CLEAR_ECRAN

BSR.L SETCOPPER			;SAUTE SOUS PROGRAMME: MET EN PLACE LISTE COPPER
BSR.s NEWIRQ3			;SAUTE SOUS PROGRAMME: MET EN PLACE ROUTINE D'INTERRRUPTION

WAIT:
CMP.B #$40,$DFF006		;ATTENDANT 64 IEME LIGNE RASTER
BNE.S WAIT			;SINON RETOURNE A WAIT

BSR.L	EFFACE			;EFFACE D'ABORD L'ECRAN
BSR.L	BARRES			;MAINTENANT ON PEUT AFFICHER NOS BARRES

BTST	#6,$BFE001		;ATTENDANT PRESSION SUR BOUTON GAUCHE SOURIS
BNE.S	WAIT			;SINON RETOURNE A WAIT
 				;SI OUI  FIN
END: 				;FIN:	
BSR.s STOPIRQ3        		;SAUTE SOUS PROGRAMME: STOPPE INTERRUPTION
BSR.L CLRCOPPER       		;SAUTE SOUS PROGRAMME: RESTAURE ANCIENNE LISTE COPPER
BSR.L CLOSELIB        		;SAUTE SOUS PROGRAMME: FERME LIBRAIRIES 
MOVE.L EXECBASE,A6		;CHARGE ADRESSE EXECBASE DANS A6
JSR PERMIT(A6)      		;AUTORISE MULTITACHE
                      
MOVEM.L (A7)+,D0-D7/A0-A6	;RESTAURE REGISTRES
RTS
;========================
NEWIRQ3:			;MET EN PLACE NOTRE ROUTINE 
MOVE.L	EXECBASE,A6		;D'INTERRUPTION
lea	irqstr,a1
move.l	#5,d0
jsr	addintserver(a6)
move.l	d0,irq
beq.s	irqerror
rts
irqerror:
rts
;==========================
STOPIRQ3:			;RESTAURE ANCIENNE ROUTINE
movem.l	a0-a6/d0-d7,-(sp)	;D'INTERRUPTION
	tst.l	irq
	beq.s	irqoff1
	move.l	execbase,a6
	lea	irqstr,a1
	move.l	#32,d0
	jsr	remintserver(a6)
irqoff1:movem.l	(sp)+,a0-a6/d0-d7
	rts
irqstr:
	dc.l	0,0
	dc.b	2,-127
	dc.l	0,irqdat,interrupt
irqdat:	dc.l	0,0,0,0
irq:	dc.l	0
;============================
interrupt:			;NOTRE ROUTINE D'INTERRUPTION	
movem.l	a0-a6/d0-d7,-(sp)

	
movem.l	(sp)+,a0-a6/d0-d7
rts
;============================
OPENLIB:  			;OUVERTURE DE LA LIBRAIRIE GRAPHIQUE
move.l execbase,a6      	;MET ADRESSE EXECBASE DANS A6
lea gfxname,a1			;MET NOM DE LA LIBRAIRIE DANS A1
move.l #$0,d0           	;MET 0 DANS D0
jsr openlibrary(a6)		;OUVRE LIBRAIRIE
tst d0				;TESTE D0
beq.s error			;SI = A 0   VA A ERROR = SORTIE
move.l d0,gfxbase       	;SI NON, MET ADRESSE D0 DANS GFXBASE
add.l #$32,d0			;AJOUTE $32 A CETTE ADRESSE
move.l d0,coppertr      	;MET D0=ADRESSE ACTUELLE LISTE COPPER
rts				;DANS COPPERTR
even
gfxname: dc.b 'graphics.library',0 	;NOM DE LA LIBRAIRIE
even
gfxbase: dc.l 0				;POINTEUR POUR LA GRAPHICS LIBRARY
coppertr: dc.l 0			;POINTEUR POUR ADRESSE LISTE COPPER
;====================
CLOSELIB: 			;FERMETURE LIBRAIRIE
move.l execbase,a6      	;MET ADRESSE EXECBASE DANS A6
move.l gfxbase,a1		;MET NOM DE LA LIBRAIRIE DANS A1
jsr closelibrary(a6)		;FERME LIBRAIRIE
rts
;====================
ERROR:				;SI ERREUR
illegal				;SORTIE
rts
;====================
SETCOPPER:			;MET EN PLACE NOTRE LISTE COPPER
move.l coppertr,a0		;MET ADRESSE ACTUEL COPPER DANS A0
move.l (a0),oldcopper		;MET CONTENU DANS OLDCOPPER
move.l #newcopper,(a0)		;MET NOTRE LISTE COPPER DANS A0
move.w #$81c0,$dff096		;ACTIVE LISTE COPPER
rts		
oldcopper: dc.l 0
;====================
CLRCOPPER:			;RESTAURE ANCIENNE LISTE COPPER
move.l coppertr,a0		;MET ANCIENNE ADRESSE DANS A0
move.l oldcopper,(a0)		;MET CONTENU DANS A0
move.w #$80a0,$dff096		;REACTIVE ANCIENNE COPPER
rts
;====================
WAIT_BLITTER:			;ROUTINE POUR ATTENDRE QUE LE BLITTER
BTST #14,DMACONR		;EST FINI SON PRECEDENT TRAVAIL
BNE.S WAIT_BLITTER
RTS
;===================
;EFFACE L'ECRAN DES BARRES 
EFFACE:	
LEA PLAN,A0
MOVE.W #20*3,D0
CLS:
MOVE.W #0,(A0)+
DBF D0,CLS
RTS
;==================
; ROUTINE DES RASTERS VERTICAUX 

BARRES:	LEA	PLAN,A3		;POINTE A3 SUR PLAN 
	LEA	BLOCKRASTER,A4	;POINTE A4 SUR BLOCK
	LEA	TABLE,A5	;POINTE A5 SUR TABLE DES X
	MOVE.W	4(A4),D0	;MET VITESSE DANS D0

	MOVEQ	#119,D7		;120 BARRES
BOUCLE:	MOVE.W	(A5,D0.W),D6	;AJOUTE D0 (VITESSE) A LA TABLE
	MOVE.W	D6,D5		;MET D6 DANS D5
	LSR.W	#3,D6		;= DIVU #8,D6 MAIS EN + RAPIDE
	MOVE.L	A3,A2		;POINTE PLAN SUR A2
	ADD.W	D6,A2		;AJOUTE POSITION X A PLAN
	AND.W	#$F,D5		;D5 NE DOIT PAS DEPASSER $000F
	ROR.W	#4,D5		;ROTATION DE 4 BITS
	MOVE.W	D5,D6		;MET D5 = SHIFTING DANS D5 
	OR.W	#$FE2,D6	;MINTERN A $FE2	(ABCD) + SHIFTING
	SWAP	D6		;INVERSE D6 POUR PLACER SHIFTING
	MOVE.W	D5,D6		;DANS D6 = BLTCON0 + BLTCON1
WAITBLT1:
	BTST	#14,DMACONR		;ATTEND LE BLITTER
	BNE.S	WAITBLT1

	MOVE.L	D6,BLTCON0		;MET D6 DANS BLTCON0 ET 1
	MOVE.L	#$FFFF0000,BLTAFWM	;MASQUE LA MOITIE DU BOB
	MOVE.W	#0,BLTAMOD		;MODULO SOURCE A
	MOVE.W	#40-4,BLTDMOD		;MODULO DESTINATION D
	MOVE.W	#40-4,BLTCMOD		;MODULO SOURCE C
	MOVE.W	#0,BLTBMOD		;MODULO SOURCE B
	
	MOVE.L	#SOURCEBOB,BLTAPTH	;SOURCE A
	MOVE.L	#SOURCEMASK,BLTBPTH	;SOURCE B
	MOVE.L	A2,BLTCPTH		;SOURCE C
	MOVE.L	A2,BLTDPTH		;DESTINATION D
	MOVE.W	#[3*3*64]+2,BLTSIZE	;3*3 LIGNES SUR 4 MOTS(32 PIXELS)

WAITBLT4:				;ATTENDS BLITTER
	BTST	#14,DMACONR
	BNE.S	WAITBLT4

	MOVE.L	#$09F00000,BLTCON0	;COPIE LA BARRE QUELQUES LIGNES

	MOVE.L	#$FFFFFFFF,BLTAFWM	;MASQUE
	MOVE.W	#4,BLTAMOD		;MODULO SOURCE A 
	MOVE.W  #4,BLTDMOD		;MODULO DESTINATION D
	MOVE.L	A3,BLTAPTH		;DESTINATION

	ADD.L	#3*40,A3		;3 LIGNES PLUS BAS
	MOVE.L	A3,BLTDPTH		;SOURCE

	MOVE.W	#[3*64]+[[40-4]/2],BLTSIZE  ;3 LIGNES SUR 44 MOTS
	
	ADD.W	(A4),D0		;COPIE LA BARRE+L'ECART
	AND.W	#$7FE,D0
	DBF	D7,BOUCLE
	MOVE.W	2(A4),D0	;ANIME!
	ADD.W	D0,4(A4)
	AND.W	#$7FE,4(A4)	;CES 5 LIGNES EVITENT DES COMPARAISONS
	AND.W	#$7FE,2(A4)	;SUR LA TABLE
	AND.W	#$7FE,(A4)	;(ET C'EST PLUS RAPIDE!)
	RTS

; SECTION DES VARIABLES 
; LES 2 PREMIERES VALEURS DONNENT L'ECART ENTRE LES BARRES 
; ET LA VITESSE DE DEPLACEMENT 
; VOUS POUVEZ EVIDEMMENT LES CHANGER A VOLONTE!!! 
; ESSAYEZ PAR EXEMPLE 1010 POUR L'ECART

BLOCKRASTER:
	DC.W	2020	;ECART ENTRE LES BARRES
	DC.W	10	;VITESSE
	DC.W	10

; TABLE DU DEPLACEMENT SUR X 
TABLE:	DC.W	$0080,$0080,$0081,$0082,$0083,$0083,$0084,$0085
	DC.W	$0086,$0087,$0087,$0088,$0089,$008A,$008A,$008B
	DC.W	$008C,$008D,$008E,$008E,$008F,$0090,$0091,$0091
	DC.W	$0092,$0093,$0094,$0095,$0095,$0096,$0097,$0098
	DC.W	$0098,$0099,$009A,$009B,$009B,$009C,$009D,$009E
	DC.W	$009E,$009F,$00A0,$00A1,$00A2,$00A2,$00A3,$00A4
	DC.W	$00A5,$00A5,$00A6,$00A7,$00A7,$00A8,$00A9,$00AA
	DC.W	$00AA,$00AB,$00AC,$00AD,$00AD,$00AE,$00AF,$00B0
	DC.W	$00B0,$00B1,$00B2,$00B2,$00B3,$00B4,$00B5,$00B5
	DC.W	$00B6,$00B7,$00B7,$00B8,$00B9,$00BA,$00BA,$00BB
	DC.W	$00BC,$00BC,$00BD,$00BE,$00BE,$00BF,$00C0,$00C0
	DC.W	$00C1,$00C2,$00C2,$00C3,$00C4,$00C4,$00C5,$00C6
	DC.W	$00C6,$00C7,$00C8,$00C8,$00C9,$00Ca,$00CA,$00CB
	DC.W	$00CB,$00CC,$00CD,$00CD,$00CE,$00CF,$00CF,$00D0
	DC.W	$00D0,$00D1,$00D2,$00D2,$00D3,$00D3,$00D4,$00D5
	DC.W	$00D5,$00D6,$00D6,$00D7,$00D7,$00D8,$00D9,$00D9
	DC.W	$00DA,$00DA,$00DB,$00DB,$00DC,$00DC,$00DD,$00DD
	DC.W	$00DE,$00DE,$00DF,$00E0,$00E0,$00E1,$00E1,$00E2
	DC.W	$00E2,$00E3,$00E3,$00E4,$00E4,$00E4,$00E5,$00E5
	DC.W	$00E6,$00E6,$00E7,$00E7,$00E8,$00E8,$00E9,$00E9
	DC.W	$00EA,$00EA,$00EA,$00EB,$00EB,$00EC,$00EC,$00EC
	DC.W	$00ED,$00ED,$00EE,$00EE,$00EE,$00EF,$00EF,$00F0
	DC.W	$00F0,$00F0,$00F1,$00F1,$00F1,$00F2,$00F2,$00F2
	DC.W	$00F3,$00F3,$00F3,$00F4,$00F4,$00F4,$00F5,$00F5
	DC.W	$00F5,$00F6,$00F6,$00F6,$00F6,$00F7,$00F7,$00F7
	DC.W	$00F8,$00F8,$00F8,$00F8,$00F9,$00F9,$00F9,$00F9
	DC.W	$00FA,$00FA,$00FA,$00FA,$00FA,$00FB,$00FB,$00FB
	DC.W	$00FB,$00FB,$00FC,$00FC,$00FC,$00FC,$00FC,$00FC
	DC.W	$00FD,$00FD,$00FD,$00FD,$00FD,$00FD,$00FD,$00FE
	DC.W	$00FE,$00FE,$00FE,$00FE,$00FE,$00FE,$00FE,$00FE
	DC.W	$00FE,$00FE,$00FF,$00FF,$00FF,$00FF,$00FF,$00FF
	DC.W	$00FF,$00FF,$00FF,$00FF,$00FF,$00FF,$00FF,$00FF
	DC.W	$00FF,$00FF,$00FF,$00FF,$00FF,$00FF,$00FF,$00FF
	DC.W	$00FF,$00FF,$00FF,$00FF,$00FF,$00FF,$00FF,$00FE
	DC.W	$00FE,$00FE,$00FE,$00FE,$00FE,$00FE,$00FE,$00FE
	DC.W	$00FE,$00FE,$00FD,$00FD,$00FD,$00FD,$00FD,$00FD
	DC.W	$00FD,$00FC,$00FC,$00FC,$00FC,$00FC,$00FC,$00FB
	DC.W	$00FB,$00FB,$00FB,$00FB,$00FA,$00FA,$00FA,$00FA
	DC.W	$00FA,$00F9,$00F9,$00F9,$00F9,$00F8,$00F8,$00F8
	DC.W	$00F8,$00F7,$00F7,$00F7,$00F6,$00F6,$00F6,$00F6
	DC.W	$00F5,$00F5,$00F5,$00F4,$00F4,$00F4,$00F3,$00F3
	DC.W	$00F3,$00F2,$00F2,$00F2,$00F1,$00F1,$00F1,$00F0
	DC.W	$00F0,$00F0,$00EF,$00EF,$00EE,$00EE,$00EE,$00ED
	DC.W	$00ED,$00EC,$00EC,$00EC,$00EB,$00EB,$00EA,$00EA
	DC.W	$00EA,$00E9,$00E9,$00E8,$00E8,$00E7,$00E7,$00E6
	DC.W	$00E6,$00E5,$00E5,$00E4,$00E4,$00E4,$00E3,$00E3
	DC.W	$00E2,$00E2,$00E1,$00E1,$00E0,$00E0,$00DF,$00DE
	DC.W	$00DE,$00DD,$00DD,$00DC,$00DC,$00DB,$00DB,$00DA
	DC.W	$00DA,$00D9,$00D9,$00D8,$00D7,$00D7,$00D6,$00D6
	DC.W	$00D5,$00D5,$00D4,$00D3,$00D3,$00D2,$00D2,$00D1
	DC.W	$00D0,$00D0,$00CF,$00CF,$00CE,$00CD,$00CD,$00CD
	DC.W	$00CB,$00CB,$00CA,$00CA,$00C9,$00C8,$00C8,$00C7
	DC.W	$00C6,$00C6,$00C5,$00C4,$00C4,$00C3,$00C2,$00C2
	DC.W	$00C1,$00C0,$00C0,$00BF,$00BE,$00BE,$00BD,$00BC
	DC.W	$00BC,$00BB,$00BA,$00BA,$00B9,$00B8,$00B7,$00B7
	DC.W	$00B6,$00B5,$00B5,$00B4,$00B3,$00B2,$00B2,$00B1
	DC.W	$00B0,$00B0,$00AF,$00AE,$00AD,$00AD,$00AC,$00AB
	DC.W	$00AA,$00AA,$00A9,$00A8,$00A7,$00A7,$00A6,$00A5
	DC.W	$00A5,$00A4,$00A3,$00A2,$00A2,$00A1,$00A0,$009F
	DC.W	$009E,$009E,$009D,$009C,$009B,$009B,$009A,$0099
	DC.W	$0098,$0098,$0097,$0096,$0095,$0095,$0094,$0093
	DC.W	$0092,$0091,$0091,$0090,$008F,$008E,$008E,$008D
	DC.W	$008C,$008B,$008A,$008A,$0089,$0088,$0087,$0087
	DC.W	$0086,$0085,$0084,$0083,$0083,$0082,$0081,$0080
	DC.W	$007F,$007F,$007E,$007D,$007C,$007C,$007B,$007A
	DC.W	$0079,$0078,$0078,$0077,$0076,$0075,$0075,$0074
	DC.W	$0073,$0072,$0071,$0071,$0070,$006F,$006E,$006E
	DC.W	$006D,$006C,$006B,$006A,$006A,$0069,$0068,$0067
	DC.W	$0067,$0066,$0065,$0064,$0064,$0063,$0062,$0061
	DC.W	$0061,$0060,$005F,$005E,$005D,$005D,$005C,$005B
	DC.W	$005A,$005A,$0059,$0058,$0058,$0057,$0056,$0055
	DC.W	$0055,$0054,$0053,$0052,$0052,$0051,$0050,$004F
	DC.W	$004F,$004E,$004D,$004D,$004C,$004B,$004A,$004A
	DC.W	$0049,$0048,$0048,$0047,$0046,$0045,$0045,$0044
	DC.W	$0043,$0043,$0042,$0041,$0041,$0040,$003F,$003F
	DC.W	$003E,$003D,$003D,$003C,$003B,$003B,$003A,$0039
	DC.W	$0039,$0038,$0037,$0037,$0036,$0035,$0035,$0034
	DC.W	$0034,$0033,$0032,$0032,$0031,$0030,$0030,$002F
	DC.W	$002F,$002E,$002D,$002D,$002C,$002C,$002B,$002A
	DC.W	$002A,$0029,$0029,$0028,$0028,$0027,$0026,$0026
	DC.W	$0025,$0025,$0024,$0024,$0023,$0023,$0022,$0022
	DC.W	$0021,$0021,$0020,$001F,$001F,$001E,$001E,$001D
	DC.W	$001D,$001C,$001C,$001B,$001B,$001B,$001A,$001A
	DC.W	$0019,$0019,$0018,$0018,$0017,$0017,$0016,$0016
	DC.W	$0015,$0015,$0015,$0014,$0014,$0013,$0013,$0013
	DC.W	$0012,$0012,$0011,$0011,$0011,$0010,$0010,$000F
	DC.W	$000F,$000F,$000E,$000E,$000E,$000D,$000D,$000D
	DC.W	$000C,$000C,$000C,$000B,$000B,$000B,$000A,$000A
	DC.W	$000A,$0009,$0009,$0009,$0009,$0008,$0008,$0008
	DC.W	$0007,$0007,$0007,$0007,$0006,$0006,$0006,$0006
	DC.W	$0005,$0005,$0005,$0005,$0005,$0004,$0004,$0004
	DC.W	$0004,$0004,$0003,$0003,$0003,$0003,$0003,$0003
	DC.W	$0002,$0002,$0002,$0002,$0002,$0002,$0002,$0001
	DC.W	$0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
	DC.W	$0001,$0001,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0001
	DC.W	$0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
	DC.W	$0001,$0001,$0002,$0002,$0002,$0002,$0002,$0002
	DC.W	$0002,$0003,$0003,$0003,$0003,$0003,$0003,$0004
	DC.W	$0004,$0004,$0004,$0004,$0005,$0005,$0005,$0005
	DC.W	$0005,$0006,$0006,$0006,$0006,$0007,$0007,$0007
	DC.W	$0007,$0008,$0008,$0008,$0009,$0009,$0009,$0009
	DC.W	$000A,$000A,$000A,$000B,$000B,$000B,$000C,$000C
	DC.W	$000C,$000D,$000D,$000D,$000E,$000E,$000E,$000F
	DC.W	$000F,$000F,$0010,$0010,$0011,$0011,$0011,$0012
	DC.W	$0012,$0013,$0013,$0013,$0014,$0014,$0015,$0015
	DC.W	$0015,$0016,$0016,$0017,$0017,$0018,$0018,$0019
	DC.W	$0019,$001A,$001A,$001B,$001B,$001B,$001C,$001C
	DC.W	$001D,$001D,$001E,$001E,$001F,$001F,$0020,$0021
	DC.W	$0021,$0022,$0022,$0023,$0023,$0024,$0024,$0025
	DC.W	$0025,$0026,$0026,$0027,$0028,$0028,$0029,$0029
	DC.W	$002A,$002A,$002B,$002C,$002C,$002D,$002D,$002E
	DC.W	$002F,$002F,$0030,$0030,$0031,$0032,$0032,$0033
	DC.W	$0034,$0034,$0035,$0035,$0036,$0037,$0037,$0038
	DC.W	$0039,$0039,$003A,$003B,$003B,$003C,$003D,$003D
	DC.W	$003E,$003F,$003F,$0040,$0041,$0041,$0042,$0043
	DC.W	$0043,$0044,$0045,$0045,$0046,$0047,$0048,$0048
	DC.W	$0049,$004A,$004A,$004B,$004C,$004D,$004D,$004E
	DC.W	$004F,$004F,$0050,$0051,$0052,$0052,$0053,$0054
	DC.W	$0055,$0055,$0056,$0057,$0058,$0058,$0059,$005A
	DC.W	$005A,$005B,$005C,$005D,$005D,$005E,$005F,$0060
	DC.W	$0061,$0061,$0062,$0063,$0064,$0064,$0065,$0066
	DC.W	$0067,$0067,$0068,$0069,$006A,$006A,$006B,$006C
	DC.W	$006D,$006E,$006E,$006F,$0070,$0071,$0071,$0072
	DC.W	$0073,$0074,$0075,$0075,$0076,$0077,$0078,$0078
	DC.W	$0079,$007A,$007B,$007C,$007C,$007D,$007E,$007F

;====================
EVEN				;NOTRE LISTE COPPER
NEWCOPPER:   
	DC.W	$008E,$3681	;DIMENSIONS DE L'ECRAN
	DC.W	$0090,$36D1	;256 LIGNES

	DC.W	$0092,$0038,$0094,$00D0

	;POINTEURS ADRESSE DES PLANS DE L'IMAGE

	DC.W $00E0,PLAN+[40*0]/65536			
	DC.W $00E2,PLAN+[40*0] & 65535 
	DC.W $00E4,PLAN+[40*1]/65536
	DC.W $00E6,PLAN+[40*1] & 65535
	DC.W $00E8,PLAN+[40*2]/65536  
	DC.W $00EA,PLAN+[40*2] & 65535


	;REGISTRE POUR CHOISIR RESOLUTION	

	DC.W	$0100,$3200		;3 PLANS+MODE COULEURS

	DC.W	$0102,$0000

	;PRIORITE DES PLANS ET SPRITES - INUTILISE ICI

	DC.W 	$0104,$0000

	;MODULOS DES PLANS

	DC.W	$0108,2*40	;MODULOS PLANS PAIRS
	DC.W 	$010A,2*40	;MODULOS PLANS IMPAIRS

	;POINTEURS DES SPRITES - MIS A 0 SI PAS DE SPRITES

	DC.W	$0120,$0000,$0122,$0000
	DC.W	$0124,$0000,$0126,$0000
	DC.W	$0128,$0000,$012A,$0000	;PAS DE SPRITES
	DC.W	$012C,$0000,$012E,$0000
	DC.W	$0130,$0000,$0132,$0000
	DC.W	$0134,$0000,$0136,$0000
	DC.W	$0138,$0000,$013A,$0000
	DC.W	$013C,$0000,$013E,$0000

	;REGISTRES DES COULEURS

	DC.W	$0180,$0000	;COULEUR 00
	DC.W	$0182,$0FFF	;COULEUR 01
	DC.W	$0184,$0DDF	;COULEUR 02
	DC.W	$0186,$0BBF	;COULEUR 03
	DC.W	$0188,$099F	;COULEUR 04
	DC.W	$018A,$077F	;COULEUR 05
	DC.W	$018C,$055F	;COULEUR 06
	DC.W	$018E,$033F	;COULEUR 07

	DC.W	$0190,$0	;COULEUR 08
	DC.W	$0192,$0	;COULEUR 09
	DC.W	$0194,$0	;COULEUR 10
	DC.W	$0196,$0	;COULEUR 11
	DC.W	$0198,$0	;COULEUR 12
	DC.W	$019A,$0	;COULEUR 13
	DC.W	$019C,$0	;COULEUR 14
	DC.W	$019E,$0	;COULEUR 15
	DC.W	$01A0,$0	;COULEUR 16	;LES COULEURS DE 16 A 31 SONT
	DC.W	$01A2,$0	;COULEUR 17	;AUSSI CELLES DES SPRITES
	DC.W	$01A4,$0	;COULEUR 18
	DC.W	$01A6,$0	;COULEUR 19	;LES COULEURS 16 A 31 NE SONT
	DC.W	$01A8,$0	;COULEUR 20	;PAS UTILISEES DANS LE MODE
	DC.W	$01AA,$0	;COULEUR 21	;HOLD AND MODIFY (HAM)
	DC.W	$01AC,$0	;COULEUR 22
	DC.W	$01AE,$0	;COULEUR 23
	DC.W	$01B0,$0	;COULEUR 24
	DC.W	$01B2,$0	;COULEUR 25
	DC.W	$01B4,$0	;COULEUR 26
	DC.W	$01B6,$0	;COULEUR 27
	DC.W	$01B8,$0	;COULEUR 28
	DC.W	$01BA,$0	;COULEUR 29
	DC.W	$01BC,$0	;COULEUR 30
	DC.W	$01BE,$0	;COULEUR 31

	;FIXE LES MODULOS A - 40 POUR REPETER LE DESSIN

	DC.W	$ae01,$FFFE
	DC.W	$0108,-40,$010A,-40


	;INSTRUCTIONS POUR AVOIR UN ECRAN PAL (256 LIGNES DE HAUT)

	DC.W $FFDF,$FFFE
	DC.W $0100,$0000

DC.L $FFFFFFFE ;FIN LISTE COPPER
EVEN
SOURCEBOB:
	DC.L	$A9950000	;1ER MOT=DONNEES DU BOB
	DC.L	$CE730000	;IDEM 2EME LIGNE DU BOB
	DC.L	$F00F0000	;ET 3EME LIGNE DU BOB

; -- MASQUE DU BOB
SOURCEMASK:
	DC.L	$FFFF0000
	DC.L	$FFFF0000
	DC.L	$FFFF0000
FINDEMO:
