CODINGSOURCES ★ CODING Source &025 - Rasters ★

Ce source ce compile sans problème sous l'assembleur de WinAPE.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; http://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


http://cpcrulez.fr

[next=coding_src]

CPCrulez[Content Management System] v8.75-desktop/c
Page créée en 060 millisecondes et consultée 969 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.