CODINGSOURCES ★ CODING Source &018 - RASTER QUI REBONDIT ★

Raster qui RebonditCoding Sources
Ce source ce compile sans problème sous l'assembleur de WinAPE.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; https://cpcrulez.fr
;;
;; Raster qui rebondit
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG #1000 ;
;
LD ix,tab ; IX pointe sur tab
LD iy,att ; IY pointe sur att
DI
LD hl,(#38) ; Stocke (#38)
LD (inter+1),hl
LD hl,#c9fb ; Vire interrupts
LD (#38),hl
EI
loop ; Boucle principale
LD b,#f5 ; Synchronisation avec écran
vsync IN a,(c)
RRA
JP nc,vsync
;
LD bc,#7f9d ; Remet compteur interrupt a 0
OUT (c),c
HALT ; attent un p'tit peu
;NOP
LD a,(cont)
INC a
LD (cont),a
CP 57 ; Teste si fin de att
JP z,change ; Si oui --> Change
XOR a
NOP
JP suite ; Je sais,c'est debile,mais bon...
suite
LD a,(cont)
LD (pl0+2),a
pl0 LD a,(iy+0) ; lit att qui est point par iy
LD b,a
lp00
DEFS 34,0 ; 1 = 34 nops d'attente , 2=68 nops...
DJNZ lp00
;
LD b,40 ; Rapete 40 fois (40 donnees)
lp1 PUSH bc
LD a,b ; Met b-1 dans b
DEC a
LD (pl1+2),a ; met a dans pl1+2 Ld a,(ix+a)
pl1 LD a,(ix+0)
LD bc,#7f00 ; Fond
OUT (c),c
OUT (c),a
LD c,#10 ; Border
OUT (c),c
OUT (c),a
DEFS 22,0 ; NOP pour Synchro
POP bc
DJNZ lp1
;
key LD bc,#f40e ; Teste la barre Espace
OUT (c),c
LD bc,#f6c0
OUT (c),c
XOR a
OUT (c),a
LD bc,#f792
OUT (c),c
LD bc,#f645
OUT (c),c
LD b,#f4
IN a,(c)
LD bc,#f782
OUT (c),c
LD bc,#f600
OUT (c),c
RLA
JP c,loop ; Boucle si non
inter LD hl,0 ; Fin (remet Interupts)
LD (#38),hl
RET
;
; Donnes
;
cont DEFB 0 ; Compteur pour le rebond
;
tab ; Table des couleurs pour le Raster
DEFB #54,#4c,#5c,#4c,#4c
DEFB #4e,#4c,#4e,#4e,#4a
DEFB #4e,#4a,#4a,#43,#43
DEFB #43,#43,#4b,#43,#4b
DEFB #4b,#43,#4b,#43,#43
DEFB #43,#43,#4a,#4a,#4e
DEFB #4a,#4e,#4e,#4c,#4e
DEFB #4c,#4c,#5c,#4c,#5c
;
change ; Remet cont a 0
XOR a
LD (cont),a
JP suite
;
att ; Table des attentes
DEFS 3,1
DEFS 3,2
DEFS 3,4
DEFS 3,8
DEFS 3,16
DEFS 3,32
DEFS 3,64
DEFS 3,128
DEFS 3,200
DEFS 3,0
DEFS 3,200
DEFS 3,128
DEFS 3,64
DEFS 3,32
DEFS 3,16
DEFS 3,8
DEFS 3,4
DEFS 3,2
DEFS 3,1

https://CPCrulez.fr

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

Lien(s):
» Coding Src's » Hollywood scroll
» Coding Src's » CPCRetroDev 2016 Sources pack collection
» Coding Src's » Increasing workspace (Computing with the Amstrad)
» Coding Src's » Graphic - 3-D Cube on Amstrad
» Coding Src's » Zellautomat (CPC Amstrad International)
» Coding Src's » End Demo (Logon System)
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 740 millisecondes et consultée 1931 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.