Ces 2 sources ce compile sans problème sous l'assembleur de WinAPE, elles indépendantent l'une de l'autre bien sur.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; https://cpcrulez.fr ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG #A000 LD A,#02 ; CALL #BC0E ; mode 2 BOUCLE DI ; arret des interruptions LD B,#F5 ; FRAME IN A,(C) ;synchronisation avec le balayage RRA ;) JR NC,FRAME ; ; ADRESSE D'EXECUTION DE LA MUSIQUE ; CALL #8FF3 call &2240 LD HL,VOIE1 ;HL pointe sur VOIE1 LD C,#08 ; correspond a la voie A CALL TEST INC HL LD C,#09 ; voie B CALL TEST INC HL LD C,#0A ; voie C CALL TEST LD HL,#FFA3 ; adresse d'effacement de la voie A CALL EFFACE LD HL,#FFA7 ; adresse d'effacement de la voie B CALL EFFACE LD HL,#FFAB ; adresse d'effacement de la voie C CALL EFFACE LD A,(VOIE1) LD HL,#FFA3 ; adresse d'affichage de la voie A CALL AFFICHE LD A,(VOIE2) LD HL,#FFA7 ; adresse d'affichage de la voie B CALL AFFICHE LD A,(VOIE3) LD HL,#FFAB ; adresse d'affichage de la voie C CALL AFFICHE CALL #BB09 ;test touche espace RET C ;si C=1 RET JP BOUCLE ; sinon on boucle EFFACE LD B,32 EFF1 PUSH BC LD (HL),#00 INC HL LD (HL),#00 CALL RBC29 POP BC DJNZ EFF1 RET AFFICHE OR A RET Z ADD A,A LD B,A AFF1 PUSH BC LD (HL),#FF INC HL LD (HL),#FF CALL RBC29 POP BC DJNZ AFF1 RET TEST LD B,#F4 OUT (C),C LD BC,#F6C0 OUT (C),C LD BC,#F600 OUT (C),C LD BC,#F792 OUT (C),C LD BC,#F640 OUT (C),C LD BC,#F400 IN A,(C) LD (HL),A LD BC,#F782 OUT (C),C LD BC,#F600 OUT (C),C RET RBC29 LD BC,#DFFF ADD HL,BC LD A,H CP #C0 RET P LD BC,#3FB0 ADD HL,BC RET VOIE1 DEFB #0 VOIE2 DEFB #0 VOIE3 DEFB #0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; https://cpcrulez.fr ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG #A000 LD A,#02 CALL #BC0E BOUCLE DI LD B,#F5 FRAME IN A,(C) RRA JR NC,FRAME ; ADRESSE D'EXECUTION DE LA MUSIQUE CALL #8FF3 call &2240 LD HL,VOIE1 LD C,#08 CALL TEST INC HL LD C,#09 CALL TEST INC HL LD C,#0A CALL TEST LD HL,#C780 CALL EFFACE LD HL,#C730 CALL EFFACE LD HL,#C6E0 CALL EFFACE LD A,(VOIE1) LD HL,#C6E0 CALL AFFICHE LD A,(VOIE2) LD HL,#C730 CALL AFFICHE LD A,(VOIE3) LD HL,#C780 CALL AFFICHE CALL #BB09 RET C JP BOUCLE EFFACE LD B,32 EFF1 PUSH BC PUSH HL LD BC,#0800 LD (HL),#00 ADD HL,BC LD (HL),#00 ADD HL,BC LD (HL),#00 ADD HL,BC LD (HL),#00 POP HL INC HL INC HL POP BC DJNZ EFF1 RET AFFICHE OR A RET Z ADD A,A LD B,A AFF1 PUSH BC PUSH HL LD BC,#0800 LD (HL),#FF ADD HL,BC LD (HL),#FF ADD HL,BC LD (HL),#FF ADD HL,BC LD (HL),#FF POP HL INC HL INC HL POP BC DJNZ AFF1 RET TEST LD B,#F4 OUT (C),C LD BC,#F6C0 OUT (C),C LD BC,#F600 OUT (C),C LD BC,#F792 OUT (C),C LD BC,#F640 OUT (C),C LD BC,#F400 IN A,(C) LD (HL),A LD BC,#F782 OUT (C),C LD BC,#F600 OUT (C),C RET VOIE1 DEFB #0 VOIE2 DEFB #0 VOIE3 DEFB #0https://CPCrulez.fr
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser... |
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 098 millisecondes et consultée 1716 foisL'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. |
|
|