ORG #A000
CALL unlock_ASIC ;CALL &A000
CALL aff_Couleur ;CALL &A003
RET
.unlock_Asic :
DI
LD A,17
LD HL,ASIC
boucle: LD B,&BD
OUTI
DEC A
JR NZ,boucle
; Connexion page Asic (&4000-&7fff)
LD BC,&7FB8
OUT (C),C
EI
RET
ASIC: DB 255,0,255,119,179,81,168,212,98,57,156,70,43,21,138,205,238
; transfert des couleurs dans l'asic
.aff_Couleur :
DI
LD HL,&B7F9 ; Bloc événement
CALL &BCDD ; Désactiver le bloc événement du REFRESH des couleurs (Merci a BDCIron pour l'astuce)
;le mode (changement de mode sans CLS)
ld a,(&FFDD)
CALL &BD1C
; Valeur pour le border
LD A,(&FFDE)
LD (&6420),A
LD A,(&FFDF)
LD (&6421),A
; Les valeurs pour les encres
LD HL,&FFE0
LD DE,#6400 ;debut adresse couleur bank asic
LD BC,#0020 ;transfert les 32 valeurs (valeurs 16 bits pour CPC+ RVB)
LDIR
EI
RET
NOTICE TEXTE n° 2 (1.76 Ko)
1 'Kukulcan 2015
2 'Incrustation Couleur v0.2
10 OPENOUT "D":MEMORY &8800:CLOSEOUT:GOSUB 370
20 LOAD"KUKULCAN.ASM":CALL &A000:'unlock asic + activer asic
30 MODE 1:BORDER 0:INK 0,0:INK 1,26:PEN 1
40 INPUT "Nom de l'image (.SCR .PAL)",file$
50 IF file$="" THEN ùDIR,"*.SCR":GOTO 40
60 MODE 0:LOAD file$+".SCR",&C000
70 LOAD file$+".PAL",&8809
80 '*** NETTOYAGE ZONE NON VISIBLE DANS IMAGE - 384 octets ***
90 FOR i=&C7D0 TO &C7FF:POKE i,0:NEXT
100 FOR i=&CFD0 TO &CFFF:POKE i,0:NEXT
110 FOR i=&D7D0 TO &D7FF:POKE i,0:NEXT
120 FOR i=&DFD0 TO &DFFF:POKE i,0:NEXT
130 FOR i=&E7D0 TO &E7FF:POKE i,0:NEXT
140 FOR i=&EFD0 TO &EFFF:POKE i,0:NEXT
150 FOR i=&F7D0 TO &F7FF:POKE i,0:NEXT
160 FOR i=&FFD0 TO &FFFF:POKE i,0:NEXT
170 '*** DECODAGE DES ENCRES DANS .PAL et INSCRIPTION DANS L'IMAGE ***
180 FOR i=0 TO 15
190 rouge=couleur(PEEK(&880C+(i*12)))
200 bleu=couleur(PEEK(&880D+(i*12)))
210 vert=couleur(PEEK(&880E+(i*12)))
220 RB=bleu+(rouge*16)
230 V=vert
240 POKE &FFE0+(i*2),RB
250 POKE &FFE1+(i*2),V
260 NEXT i
270 '*** LA BORDURE = encre 0 ***
280 RB=couleur(PEEK(&880D))+(couleur(PEEK(&880C))*16):V=couleur(PEEK(&880E))
290 POKE &FFDE,RB
300 POKE &FFDF,V
310 '*** MODE ***
320 POKE &FFDD,PEEK(&8809)
330 '*** SAUVEGARDE DE L'IMAGE ***
340 SAVE file$+".+++",B,&C000,&4000
350 CALL &A003:'affichage des vraies couleurs
360 CALL &BB06:GOTO 30
370 '*** ConvImgCpc - DECODAGE DES ENCRES DU PAL POUR CPC+ ***
380 DIM couleur(128)
390 couleur(&4B)=0
400 couleur(&43)=1
410 couleur(&4A)=2
420 couleur(&5B)=3
430 couleur(&59)=4
440 couleur(&5A)=5
450 couleur(&53)=6
460 couleur(&42)=7
470 couleur(&52)=8
480 couleur(&4F)=9
490 couleur(&47)=10
500 couleur(&4E)=11
510 couleur(&5F)=12
520 couleur(&40)=13
530 couleur(&5E)=14
540 couleur(&57)=15
550 RETURN