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 » Scroll plein ecran en rasters
» Coding Src's » Rasters BIG TUBE
» Coding Src's » Rasterprogrammierung in Assembler (CPC Amstrad International)
» Coding Src's » Rasters en cascade
» Coding » Logon System ACPC n°37 - Histoire de rasters
» Coding » AMSLIVE n°01 - Rasters
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.73-desktop
Page créée en 516 millisecondes et consultée 2215 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.