CODINGSOURCES ★ CODING Source &025 - Rasters ★

Animation de rasters en overscanCoding Sources
Ce source ce compile sans problème sous l'assembleur de WinAPE.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; https://cpcrulez.fr
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org &1000
call &0BD19 ; synchro vbl
ld a, (byte_235)
ld (byte_129), a
dec a
ld (byte_07A), a
ld hl, (word_232)
ld ix, loc_0D6+1
call sub_145
ld hl, (word_232)
inc hl
ld ix, loc_0D3+1
call sub_145
ld hl, (word_232)
ld bc, &4F
add hl, bc
ld (word_15D), hl
ld iy, &9800
xor a
ld (byte_159), a
loc_034: ld a, (byte_159)
xor &0FF
ld (byte_159), a
jr z, loc_05B
loc_03E: ld a, (iy+&0)
inc iy
cp &0FF
jr nz, loc_04D
ld iy, &9800
jr loc_03E
loc_04D: ld l, a
ld h, &0
add hl, hl
add hl, hl
add hl, hl
add hl, hl
ld bc, &9000
add hl, bc
ld (word_15B), hl
loc_05B: ld hl, (word_15B)
ld de, (word_15D)
ld b, &8
loc_064: ld a, (hl)
ld (de), a
inc hl
ld a, d
add a, &8
ld d, a
djnz loc_064
ld (word_15B), hl
ld a, (byte_234)
ld hl, loc_15F
ld de, loc_160
db &1
byte_07A: db &0BA
nop
ld (hl), a
ldir
push iy
ld a, (byte_236)
ld (byte_15A), a
ld bc, loc_300
ld ix, loc_237
ld iy, loc_260
loc_092: ld a, (ix+&0)
inc a
ld (ix+&0),a
inc ix
ld l, a
ld h, &0
add hl, bc
ld l, (hl)
ld h, &0
ld de, loc_15F
add hl, de
ld a, (iy+&0)
ld d, (iy+&1)
ld e, (iy+&2)
inc iy
inc iy
inc iy
ld (hl), a
inc hl
ld (hl), d
inc hl
ld (hl), e
inc hl
ld (hl), d
inc hl
ld (hl), a
ld hl, byte_15A
dec (hl)
jr nz, loc_092
pop iy
ld a, &2F
call &0BB1E ; une touche ???
jr nz, loc_143
call &0BD19 ; synchro vbl
di
ld b, &0
loc_0D3: ld hl, &0C781
loc_0D6: ld de, &0C780
ld c, &4F
ldir
ld hl, &0CF81
ld de, &0CF80
ld c, &4F
ldir
ld hl, &0D781
ld de, &0D780
ld c, &4F
ldir
ld hl, &0DF81
ld de, &0DF80
ld c, &4F
ldir
ld hl, &0E781
ld de, &0E780
ld c, &4F
ldir
ld hl, &0EF81
ld de, &0EF80
ld c, &4F
ldir
ld hl, &0F781
ld de, &0F780
ld c, &4F
ldir
ld hl, &0FF81
ld de, &0FF80
ld c, &4F
ldir
ld bc, &7F10
ld d, &20
db &1E
byte_129: db &0BB
ld hl, loc_15F
loc_12D: ld a, (hl)
out (c), c
out (c), a
out (c), d
out (c), a
ld a, (byte_231)
loc_139: dec a
jr nz, loc_139
inc hl
dec e
jr nz, loc_12D
jp loc_034
loc_143: ei
ret
sub_145: ld b, &8
ld de, &0A
loc_14A: ld (ix+&0), l
ld (ix+&1), h
ld a, h
add a, &8
ld h, a
add ix, de
djnz loc_14A
ret
;
byte_159: db &0
byte_15A: db &0
word_15B: dw &9420
word_15D: dw &0C7CF
loc_15F: db &54
loc_160: db &54,&54,&54,&54,&54,&54,&54,&54,&54,&54,&54,&54
db &54,&54,&54,&54,&54,&54,&54,&54,&54,&54,&54
db &54,&54,&54,&54,&54,&54,&54,&54,&54,&54,&54
db &54,&5D,&4F,&4B,&4F,&5D,&54,&5D,&5F,&4B,&5F
db &5D,&54,&54,&54,&54,&54,&55,&57,&4B,&57,&55
db &54,&54,&54,&54,&54,&54,&54,&56,&57,&5B,&57
db &56,&54,&54,&54,&54,&54,&54,&54,&54,&54,&54
db &46,&42,&4B,&42,&46,&54,&54,&54,&54,&54,&54
db &54,&54,&54,&54,&54,&54,&54,&56,&42,&4A,&42
db &56,&54,&54,&54,&54,&54,&54,&54,&54,&54,&54
db &54,&54,&54,&56,&5A,&43,&5A,&56,&54,&54,&54
db &54,&54,&54,&54,&54,&54,&54,&54,&54,&5E,&4E
db &4A,&4E,&5E,&54,&54,&54,&54,&54,&54,&54,&54
db &54,&54,&54,&54,&5C,&4E,&4A,&4E,&5C,&54,&54
db &54,&54,&54,&54,&54,&54,&5C,&4C,&47,&4C,&5C
db &54,&54,&54,&54,&54,&54,&54,&54,&54,&54,&54
db &54,&54,&54,&54,&54,&54,&54,&54,&54,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&2F
byte_231: db &0A
word_232: dw &0C780
byte_234: db &54
byte_235: db &0BB
byte_236: db &0A
loc_237: db &24,&28,&2C,&30,&34,&38,&3C,&40,&44,&48,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0
loc_260: db &5C,&4C,&47,&5C,&4E,&4A,&5E,&4E,&4A,&56,&5A,&43
db &56,&42,&4A,&46,&42,&4B,&56,&57,&5B,&55,&57
db &4B,&5D,&5F,&4B,&5D,&4F,&4B,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0,&0,&0
loc_300: db &5A,&5F,&65,&6A,&6F,&75,&7A,&7F,&84,&89,&8D,&92
db &96,&9A,&9E,&0A1,&0A4,&0A7,&0AA,&0AC,&0AE,&0B0
db &0B1,&0B2,&0B3,&0B3,&0B3,&0B3,&0B2,&0B1,&0B0
db &0AE,&0AC,&0AA,&0A8,&0A5,&0A2,&9F,&9C,&98,&95
db &91,&8D,&89,&84,&80,&7C,&77,&73,&6E,&69,&65
db &61,&5C,&58,&53,&4F,&4B,&47,&44,&40,&3D,&39
db &36,&34,&31,&2E,&2C,&2A,&28,&27,&26,&24,&24
db &23,&23,&22,&22,&22,&23,&23,&24,&25,&26,&27
db &29,&2A,&2C,&2D,&2F,&31,&33,&34,&36,&38,&3A
db &3C,&3E,&40,&42,&44,&46,&48,&49,&4B,&4D,&4E
db &4F,&51,&52,&53,&54,&55,&56,&57,&57,&58,&58
db &59,&59,&59,&59,&59,&5A,&5A,&5A,&5A,&5A,&5A
db &59,&59,&59,&59,&59,&5A,&5A,&5A,&5A,&5A,&5B
db &5B,&5C,&5C,&5D,&5E,&5F,&60,&61,&62,&64,&65
db &66,&68,&6A,&6B,&6D,&6F,&71,&73,&75,&77,&79
db &7B,&7D,&7F,&80,&82,&84,&86,&87,&89,&8A,&8C
db &8D,&8E,&8F,&90,&90,&91,&91,&91,&90,&90,&8F
db &8F,&8D,&8C,&8B,&89,&87,&85,&82,&80,&7D,&7A
db &76,&73,&6F,&6C,&68,&64,&60,&5B,&57,&52,&4E
db &4A,&45,&40,&3C,&37,&33,&2F,&2A,&26,&22,&1E
db &1B,&17,&14,&11,&0E,&0B,&9,&7,&5,&3,&2,&1
db &0,&0,&0,&0,&1,&2,&3,&5,&7,&9,&0C,&0F,&12
db &15,&19,&1D,&21,&26,&2A,&2F,&34,&39,&3E,&44
db &49,&4E,&54,&0,&0,&0,&0,&0,&0,&0,&0,&0
db &0,&0,&0,&0,&0,&0,&0

https://CPCrulez.fr

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Rasters (Dr Felix pour AMS'DEM)
» Coding Src's » Scroll plein ecran en rasters
» Coding Src's » Rasters en cascade
» Coding » Logon System ACPC n°37 - Histoire de rasters
» Coding Src's » Scrolling en rasters (Ramlaid)
» Coding Src's » Graphic - Rasters - CTRC's demo for ACU (Amstrad Computer User)
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 583 millisecondes et consultée 2127 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.