Toujours eu envie d'apprendre l'assembleur Z80 et réaliser des programmes sur votre Amstrad CPC?
Vous êtes au bon endroit!
Ce site est en développement intensif, n'hésitez pas à remonter toute remarque ou suggestion d'article sur le discord Praline
Présentation de l'Amstrad CPC/Plus
-
Les différents composants de l'ordinateur
-
Fonctionnement d'un Amstrad au démarrage
-
Organisation de la mémoire d'un CPC au démarrage
-
Comparaison d'affichages de caractères (système VS hardware)
-
Comparaison de chargements disquettes (système VS hardware) et conclusion
-
Principes généraux d'un programme
Présentation de l'Assembleur Z80
-
Introduction au langage machine
-
Description des registres du Z80
-
Convention de lecture pour le jeu d'instructions
Jeu d'instructions du Z80
- Chargement de données, écritures mémoire (LD)
- Échange de registres ou mémoire (EX, EXX)
- Comparaison (CP, SBC, CPI, CPIR, CPD, CPDR)
- Sauts non conditionnels (JR, JP, CALL, RET, RST)
- Sauts conditionnels (JR, JP, DJNZ, CALL, RET, RST)
- Sauvegarde et restoration des registres dans la pile (PUSH and POP)
- Manipulation de bits (SET, RES, BIT)
- Décalage et rotations de bits (SRL, SRA, RR, RRA, RRC, RRCA, SLL, SLA, RL, RLA, RLC, RLCA, RLD, RRD)
- Opérateurs logiques (AND, OR, XOR, CPL, NEG, SCF, CCF)
- Instruction d'ajustement pour nombres BCD (DAA)
- Opérations mathématiques (INC, DEC, ADD, SUB, ADC, SBC)
- Opérations de copie mémoire (LDI, LDIR, LDD, LDDR)
- Ports entrée/sortie (OUT, OUTI, OTIR, OUTD, OTDR, IN, INI, INIR, IND, INDR)
- Gestion des interruptions (DI, EI, IM, HALT, RETI, RETN, LD I,A)
- Instruction qui ne fait rien (NOP)
Préparer son environnement de travail
-
Comment assembler un programme pour Amstrad CPC?
-
Comment utiliser notre programme dans ACE?
Premiers programmes (briques indispensables)
-
Déplacer des données dans la mémoire
-
Multiplier des valeurs
-
Structure de l'écran du CPC / Afficher un point
-
Changer le mode graphique / Amélioration de la routine de point
-
Changer les couleurs, chargement d'une palette
-
Afficher un sprite soft
-
Déplacer notre sprite soft
-
Se synchroniser avec le balayage, pourquoi?
-
Animer notre sprite (afficher une séquence de sprites)
-
Se synchroniser avec les interruptions (multi-mode et rasters)
-
Accéder au clavier
Fusion de quelques briques élémentaires
-
Le jeu du Télécran partie 1 (assemblage de briques)
-
Le jeu du Télécran partie 2 (corrections des défauts)
-
Le jeu du Télécran partie 3 (gestion des diagonales)
-
Du Télécran au jeu TRON
Premiers programmes avec la gamme Amstrad Plus et GX-4000
-
Utiliser la palette de 4096 couleurs
-
Les interruptions à la ligne (RasterInt)
Des outils pour importer VOS données
-
Convertisseur PNG vers écran, sprites soft, sprites hard
Programmation avancée, routines utiles
-
Super instructions
-
Optimisations en vrac
-
Routines de multiplication
-
Routines de division
-
Routines en vrac (Neg 16 bits, Cp 16 bits, valeurs absolues, ...)
-
Routines de gestion de chaines de caractères
Annexe hardware de la machine
-
Clavier / Schéma de référence du PPI
-
Connexions ROM / Couleurs / Mémoire étendue
-
Fonctionnalités étendues de la gamme Plus
Du lien, des liens
-
Liens vers sites de programmation, émulateurs, etc.