Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  Extension  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucle
Type de données élémentaires
Référence d'instructions et de fonctions
Déballage et branchement d'un Commodore 64
Mise en oeuvre
Écrire des programmes BASIC simples
Variables et opérateurs
Créer du son
Principes de base
Débuter avec le BASIC
Bonjour
BeckerBASIC
SIMONS' BASIC
C64 Forever
VICE
Référence des messages d'erreurs
RAM de Commodore 64
Codes d'affichage de la table de caractères du Commodore 64
Référence des codes de jetons d'instructions
Préface
Notes légal
Dictionnaire
Recherche

Voici un tableau de référence global de l'utilisation de la mémoire des micro-ordinateurs Commodore 64 :

Adresse Longueur Description
0000h à 008Fh 0 à 143 144 octets Ces adresses de page zéro sont utilisée par le BASIC uniquement. Par conséquent, un programme entièrement écrit en langage machine n'interagit pas avec BASIC peut utiliser librement cette zone.
0000h 0 1 octet Cet octet contient le registre de direction des données d'entrée/sortie d'une puce 6510.
0001h 1 1 octet Cet octet contient le registre d'adresse de bloc d'une puce 6510.
0002h 1 1 octet Cet octet n'est pas utilisé.
0003h à 0004h 3 à 4 2 octets (1 mot) Ce mot contient une adresse de routine pour convertir un nombre de virgule flottante en entier signé.
0005h à 0006h 5 à 6 2 octets (1 mot) Ce mot contient une adresse de routine pour convertir un nombre entier en virgule flottante.
0007h 7 1 octet Cet octet permet d'indiquer un caractère de recherche pour la numérisation de saisie de texte de BASIC.
0008h 8 1 octet Cet octet contient un caractère de recherche pour la fin d'une instruction ou d'un guillemet.
0009h 9 1 octet Cet octet permet d'indiquer la position de la colonne du curseur avant le dernier TAB ou SPC.
000Ah 10 1 octet Ce octet contient un drapeau de choix LOAD ou VERIFY.
000Bh 11 1 octet Cet octet contient l'index dans le tampon d'entrée de texte et du nombre d'indices de tableau.
000Ch 12 1 octet Cet octet contient des drapeaux pour les routines localisant ou construisant un tableau.
000Dh 13 1 octet Cet octet contient un drapeau de type de données (chaîne de caractères ou numérique).
000Eh 14 1 octet Cet octet contient un type de données numériques (entier ou virgule flottante).
000Fh 15 1 octet Cet octet contient un drapeau pour LIST, le ramasse-miettes et les jetons de programme.
0010h 16 1 octet Cet octet contient une référence en indice à un tableau ou à un appel de fonction défini par l'utilisateur (FN).
0011h 17 1 octet Cet octet contient un drapeau pour indiquer s'il s'agit d'une des entrées pour «GET», «READ» ou «INPUT».
0012h 18 1 octet Cet octet contient un signe du résultat de la fonction TAN ou SIN.
0013h 19 1 octet Cet octet contient le numéro du canal d'entrée/sortie actuel (fichier logique CMD).
0014h à 0015h 20 à 21 2 octets (1 mot) Ce mot contient la valeur du numéro de ligne sous forme d'entier.
0016h 22 1 octet Cet octet contient un pointeur vers le prochain espace disponible dans la pile de chaînes de caractères temporaire.
0090h à 00FFh 144 à 255 112 octets Ces adresses sont utilisés comme zone d'entreposage de zéro page pour le noyau. L'utilisateur doit prendre en compte l'effet que la modification d'un emplacement aura sur le fonctionnement des fonctions du noyau avant d'effectuer de telles modifications. À la mise sous tension, ces adresses d'emplacements mémoires sont d'abord remplie de zéros, puis initialisée à partir des valeurs entreposées dans la ROM si nécessaire.
0100h à 01FFh 256 à 511 256 octets Ces adresses contiennent la région de la pile du microprocesseur.
0200h à 0258h 512 à 600 88 octets Ces adresses contiennent le tampon d'entrée de l'éditeur de ligne BASIC.
028Fh à 0290h 655 à 656 2 octets (1 mot) FastLoad: Ce mot est seulement utilisé pour faire le travail C = (Run/Stop).
02A7h à 02FFh 679 à 767 89 octets FastLoad: Ces octets sont utilisé par le moniteur.
0302h à 0303h 770 à 771 2 octets (1 mot) FastLoad: Ce mot est un vecteur pour le "wedge".
0330h à 0331h 816 à 817 2 octets (1 mot) FastLoad: Ce mot est un vecteur pour le chargement rapide.
0400h à 07E7h 1024 à 2023 1024 octets Ce tampon est exploiter par le contrôleur vidéo pour l'affichage des caractères à l'écran.
07F8h à 07FFh 2040 à 2047 8 octets Ce tampon est exploiter par le contrôleur vidéo pour l'affichage des caractères programmable.
D000h à D00Fh 53248 à 53263 16 octets Ces adresses contient les 8 couples des coordonnée (X,Y) animations (Sprite).
D010h 53264 1 octet Le bit 7 fixe la précision de la coordonnée X (0=Normal: 0 à 39 ou 1=0 à 255).
D015h 53269 1 octet Cet octet permet d'afficher les animations (Sprites) :
Bits Description
0 Ce bit active l'animation (sprite) 0
1 Ce bit active l'animation (sprite) 1
2 Ce bit active l'animation (sprite) 2
3 Ce bit active l'animation (sprite) 3
4 Ce bit active l'animation (sprite) 4
5 Ce bit active l'animation (sprite) 5
6 Ce bit active l'animation (sprite) 6
7 Ce bit active l'animation (sprite) 7
D018h 53272 1 octet Sous l'influence de l'interpréteur BASIC, si sa valeur est 21 fait passer l'édition en mode majuscules, tandis que 23 fait passer en mode minuscules.
D020h 53280 1 octet Cet octet permet de fixer la couleur du cadre de l'écran.
D021h 53281 1 octet Cet octet permet de fixer la couleur de fond de l'écran.
D027h à D02Eh 53287 à 53294 8 octets Chacun de ses 8 octets correspondant respectivement au 8 animations (sprite) dans l'ordre 0, 1, 2, 3, 4, 5, 6 et 7 s'associe une couleur de l'animation.
D400h 54272 1 octet Cet octet permet de contrôler la fréquence de la voix 1 (partie basse)
D401h 54273 1 octet Cet octet permet de contrôler la fréquence de la voix 1 (partie haute)
D404h 54276 1 octet Cet octet fixe le registre de commande de la voix 1
D405h 54277 1 octet Cet octet règle le régime d'attaque et de décroissance de la voix 1
D406h 54278 1 octet Cet octet règle de régime de stabilisation et d'extinction de la voix 1
D407h 54279 1 octet Cet octet permet de contrôler la fréquence de la voix 2 (partie basse)
D408h 54280 1 octet Cet octet permet de contrôler la fréquence de la voix 2 (partie haute)
D40Bh 54283 1 octet Cet octet fixe le registre de commande de la voix 2
D40Ch 54284 1 octet Cet octet règle le régime d'attaque et de décroissance de la voix 2
D40Dh 54285 1 octet Cet octet règle de régime de stabilisation et d'extinction de la voix 2
D40Eh 54286 1 octet Cet octet permet de contrôler la fréquence de la voix 3 (partie basse)
D40Fh 54287 1 octet Cet octet permet de contrôler la fréquence de la voix 3 (partie haute)
D412h 54290 1 octet Cet octet fixe le registre de commande de la voix 3
D413h 54291 1 octet Cet octet règle le régime d'attaque et de décroissance de la voix 3
D414h 54292 1 octet Cet octet règle de régime de stabilisation et d'extinction de la voix 3
D415h 54293 1 octet Cet octet permet de couper fréquence basse (0 à 7).
D416h 54294 1 octet Cet octet permet de couper fréquence haute (0 à 255).
D417h 54295 1 octet Cet octet permet d'indiquer l'attribut sonore A:
Bits Description
0 Ce bit permet d'indiquer le filtre pour la voix 1
1 Ce bit permet d'indiquer le filtre pour la voix 2
2 Ce bit permet d'indiquer le filtre pour la voix 3
3 Ce bit n'est pas utilisé.
4 à 7 Ces bits permettent d'indiquer le niveau de résonance.
D418h 54296 1 octet Cet octet permet d'indiquer l'attribut sonore B:
Bits Description
0 à 3 Ces bits permet d'indiquer le volume
4 Ce bit permet d'indiquer le passe-bas
5 Ce bit permet d'indiquer la bande passante
6 Ce bit permet d'indiquer la passe-haut
7 Ce bit n'est pas utilisé.


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Lundi, le 12 décembre 2016