NOTICE TEXTE n° 1 (3.82 Ko) ![](images/icones/download.gif)
;Kukulcan 2016
ORG #A000
; MODE 0
XOR A
CALL &BC0E
;BORDER 26
LD BC,&1A1A
CALL &BC38
;les 16 encres a 26
XOR A
loopencre
LD BC,&1A1A
PUSH AF
CALL &BC32
POP AF
INC A
CP 16
JR NZ,loopencre
;CRTC decalage registre 7
LD BC,&BC07
OUT (C),C
LD BC,&BD20
OUT (C),C
;Chargement image en &C000
LD B,12
LD HL,NomImage
CALL &BC77
LD HL,&C000
CALL &BC83
CALL &BC7A
CALL UNLOCK_ASIC
CALL REFRESH_OFF
CALL ASIC_ON
;Chargement sprites hard (16)
LD B,12
LD HL,NomImageSpr
CALL &BC77
LD HL,&4000
CALL &BC83
CALL &BC7A
;positionnement des sprites hard
;QU
LD HL,&00AA -20
LD (&6000),HL ;X
LD HL,&0044
LD (&6002),HL ;Y
LD A,%00001101
LD (&6004),A ;ZOOM
;OI
LD HL,&00AA + 44
LD (&6008),HL ;X
LD HL,&0044
LD (&600A),HL ;Y
LD A,%00001101
LD (&600C),A ;ZOOM
;DE
LD HL,&00AA + 115
LD (&6010),HL ;X
LD HL,&0044
LD (&6012),HL ;Y
LD A,%00001101
LD (&6014),A ;ZOOM
;NE
LD HL,&00AA + 198
LD (&6018),HL ;X
LD HL,&0044
LD (&601A),HL ;Y
LD A,%00001101
LD (&601C),A ;ZOOM
;UF
LD HL,&00AA + 264
LD (&6020),HL ;X
LD HL,&0044
LD (&6022),HL ;Y
LD A,%00001101
LD (&6024),A ;ZOOM
;DO
LD HL,&00AA + 344
LD (&6028),HL ;X
LD HL,&0044
LD (&602A),HL ;Y
LD A,%00001101
LD (&602C),A ;ZOOM
;C?
LD HL,&00AA + 408
LD (&6030),HL ;X
LD HL,&0044
LD (&6032),HL ;Y
LD A,%00001101
LD (&6034),A ;ZOOM
;2016
LD HL,&0230
LD (&6038),HL ;X
LD HL,&008A
LD (&603A),HL ;Y
LD A,%00001101
LD (&603C),A ;ZOOM
;R
LD HL,&0000 + 220
LD (&6040),HL ;X
LD HL,&0000
LD (&6042),HL ;Y
LD A,%00001010
LD (&6044),A ;ZOOM
;E
LD HL,&0000 + 220 + 40
LD (&6048),HL ;X
LD HL,&0000
LD (&604A),HL ;Y
LD A,%00001010
LD (&604C),A ;ZOOM
;S
LD HL,&0000 + 220 + 80
LD (&6050),HL ;X
LD HL,&0000
LD (&6052),HL ;Y
LD A,%00001010
LD (&6054),A ;ZOOM
;E
LD HL,&0000 + 220 + 120
LD (&6058),HL ;X
LD HL,&0000
LD (&605A),HL ;Y
LD A,%00001010
LD (&605C),A ;ZOOM
;T
LD HL,&0000 + 220 + 160
LD (&6060),HL ;X
LD HL,&0000
LD (&6062),HL ;Y
LD A,%00001010
LD (&6064),A ;ZOOM
;#
LD HL,&0000 + 220 + 160 + 40 + 40
LD (&6068),HL ;X
LD HL,&0000
LD (&606A),HL ;Y
LD A,%00001011
LD (&606C),A ;ZOOM
;2
LD HL,&0000 + 220 + 160 + 40 + 80
LD (&6070),HL ;X
LD HL,&0000
LD (&6072),HL ;Y
LD A,%00001011
LD (&6074),A ;ZOOM
;8
LD HL,&0000 + 220 + 160 + 40 + 120
LD (&6078),HL ;X
LD HL,&0000
LD (&607A),HL ;Y
LD A,%00001011
LD (&607C),A ;ZOOM
;chargement de la palette pour les sprites hard
LD HL,PaletteSpr
LD DE,&6422
LD BC,30
LDIR
;charger la palette pour le bugs bunny
CALL TRANSFERT_COULEUR
; BORDER en 2 couleurs
DI
LD HL,&c9FB
LD (&0038),HL
EI
boucle_infini:
LD B,&F5
balayage:
IN A,(C)
RRA
JR NC,balayage
;encre 1 - vert pour la carotte
LD HL,&0A80
LD (&6402),HL
;border blanc
LD HL,&0FFF
LD (&6420),HL
HALT
HALT
HALT
HALT
HALT
;encre 1 - vert pour l'herbe
LD HL,&0A70
LD (&6402),HL
;border vert identique a l'herbe
LD HL,&0A70
LD (&6420),HL
JR boucle_infini
.UNLOCK_ASIC :
DI
LD A,17
LD HL,Sequence_Asic_unlock
.asic_loop:
LD B,&BD
OUTI
DEC A
JR NZ,asic_loop
EI
RET
.Sequence_Asic_unlock:
DB 255, 0, 255, 119, 179, 81, 168, 212, 98, 57, 156, 70, 43, 21, 138, 205, 238
.NomImage
DEFB "BUNNY .+++"
.NomImageSpr
DEFB "BUNNY .SPR"
.PaletteSpr
DB &F0,&03,&5E,&08,&0B,&02,&08,&00,&7E,&0A,&3E,&05,&4E,&07,&F0,&07,&2D,&04,&F0,&0C,&F0,&09,&3E,&06,&F0,&05,&F0,&01,&00,&00
;Desactiver le bloc evenement du REFRESH des couleurs (Reviendra avec un changement de MODE)
.REFRESH_OFF
LD HL,&B7F9 ; Bloc evenement
CALL &BCDD
RET
; Connexion page Asic (&4000-&7fff)
.ASIC_ON
LD BC,&7FB8
OUT (C),C
RET
.TRANSFERT_COULEUR
DI
;MODE sans CLS
LD A,(&FFDD)
CALL &BD1C
;BORDER
LD A,(&FFDE)
LD (&6420),A
LD A,(&FFDF)
LD (&6421),A
;16 couleurs = 32 octets
LD HL,&FFE0
LD DE,&6400
LD BC,32
LDIR
EI
RET