Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Requérir ici son Graal à la communauté, attention "oldies only" évidemment, sinon ça va dans le "Passage"
(Attention: concerne uniquement le matériel de collection).

Modérateurs : Papy.G, fneck, Carl

lightbeing
Messages : 49
Inscription : 11 déc. 2021 16:05
Localisation : Région parisienne

Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par lightbeing »

Bonjour à tous,

J'évoque ici avec vous un projet un peu fou mais qui me tient à coeur.

Je souhaite en effet faire éditer un livre du Commodore 64 sur la programmation en assembleur et langage machine.

Il y a un an, je me suis lancé dans l'apprentissage de la programmation du 6502 appliquée au Commodore 64. J'ai cherché des ouvrages en français et je suis arrivé au triste constat qu'il y en avait très peu de "bons" écrits par des francophones sur ce sujet. Beaucoup de livres sur le BASIC mais très peu sur le langage machine et l'assembleur.

Les meilleurs livres sont - de mon point de vue - écrits en anglais avec parfois et très rarement des traductions en français qui ont leurs défauts. Perso, je n'aime pas la version française du programmer's reference guide. Le livre du 64 contient beaucoup d'informations intéressantes mais il part dans tous les sens et s'adresse à des personnes connaissant bien le Commodore 64 et ayant de bonnes notions de programmation (en LM).

Mon idée est créer un livre accessible au plus grand nombre avec une partie sur les bases (les définitions, les systèmes de valeur, les instructions et registres du 6502, l’utilisation des outils de programmation, le code auto-modifiable) et une partie plus technique propre aux adresses particulières (ROM et interruptions) du Commodore 64, tout en étant le plus complet possible à l'image des livres sortis aux Etats-Unis. Et pourquoi pas aborder la programmation sur les IDE.

J'ai bien avancé dans l'écriture et plus j'avance, plus je me rends compte qu'en abordant ce sujet, il faut rentrer dans le détail pour être clair et exhaustif. Le livre sera long... Probablement au delà de 300-400 pages.

Si un investissement personnel dans ce projet vous intéresse, faites moi signe... Je suis également preneur de tous conseils.
Avatar de l’utilisateur
Kristof
Messages : 363
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par Kristof »

C'est un sujet très vaste en effet. J'ai comme livre de chevet la bilbe Amiga et c'est un enorme bouquin (et certains considere qu'il est pas complet).
Il y a la technique d'un coté, et ce qu'on veut en faire.
Par exemple pour des utilitaires, pour des jeux, pour des demos. C'est autant de choses differentes.

A l'epoque il y avait quand même des bouquins sur l'assembleur non ? De memoire, et par rapport a ce que j'ai dans ma bibliotheque, pas de gros bouquin en effet.

Courage a toi en tout cas.
Avatar de l’utilisateur
jeff34
Messages : 2142
Inscription : 01 nov. 2019 11:15
Localisation : Montpellier

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par jeff34 »

je n'ai qu'un seul mot à dire :"WHAOUUUUU !!!"
Quel courage je considère pour ma part, ce replongé dans l'assembleur à notre époque est tout simplement impressionnant. Il faut être sacrément motivé et surtout passionné !
J'ai tant pratiqué l'assembleur étant jeune (celui de l'Apple II) que personnellement, je n'y mettrai plus les pieds aujourd'hui :( Peut être par manque de temps aussi ...

En tous cas, comme Christophe, je te souhaite plein de courage de cette belle aventure !

Jeff
Avatar de l’utilisateur
dvallet
Messages : 110
Inscription : 10 août 2013 09:52
Localisation : Nord de la France

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par dvallet »

Bonne idée,

Ne connaissant pas le C64, je serais tenté par l'expérience de l'écriture partagée avec une contribution relative, mon temps libre est compté.
Cela me permettrait d'acquérir les bases de cette machine.
La réalisation du livre à plusieurs ne me parait cependant pas facile :

- comment comptes tu réaliser le partage et la modification facilement
- quel logiciel utilises tu pour mettre en page le livre.

Didier
Alias DidierV, CEO Mag
Fan d'Oric et de Micro-Ordinateurs 8bits
Notator
Messages : 1284
Inscription : 09 août 2015 20:13

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par Notator »

lightbeing a écrit : 22 déc. 2021 12:46 Mon idée est créer un livre accessible au plus grand nombre avec une partie sur les bases (les définitions, les systèmes de valeur, les instructions et registres du 6502, l’utilisation des outils de programmation, le code auto-modifiable) et une partie plus technique propre aux adresses particulières (ROM et interruptions) du Commodore 64, tout en étant le plus complet possible à l'image des livres sortis aux Etats-Unis. Et pourquoi pas aborder la programmation sur les IDE.
D'autant que le C64 est animé par un 6510, variante du 6502 équipée d'un port i/o, et donc comporte des instructions supplémentaires par rapport au 6502, comme tu le sais bien, puisque tu as étudié la doc du C64...
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
lightbeing
Messages : 49
Inscription : 11 déc. 2021 16:05
Localisation : Région parisienne

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par lightbeing »

Notator a écrit : 25 déc. 2021 07:54 (...)
Selon la littérature anglo-saxonne, les instructions (opcodes en anglais) sont celles du 6502 donc identiques.
En revanche, le 6510 dans sa version propre au C64, a permis l'ajout d'un port E/S (I/O en anglais) permet de contrôler la cartographie mémoire de l'ordinateur avec un interrupteur de bancs (bank switching) ainsi que 3 des 4 lignes de signal du lecteur Datassette (le moteur électrique, la détection d'une touche pressée et l'écriture, la 4e ligne relative à la lecture relève d'une autre E/S).
Les points sont abordés dans le bouquin mais on est déjà à un autre niveau de programmation.
lightbeing
Messages : 49
Inscription : 11 déc. 2021 16:05
Localisation : Région parisienne

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par lightbeing »

dvallet a écrit : 25 déc. 2021 07:42 Bonne idée,

Ne connaissant pas le C64, je serais tenté par l'expérience de l'écriture partagée avec une contribution relative, mon temps libre est compté.
Cela me permettrait d'acquérir les bases de cette machine.
La réalisation du livre à plusieurs ne me parait cependant pas facile :

- comment comptes tu réaliser le partage et la modification facilement
- quel logiciel utilises tu pour mettre en page le livre.

Didier
Merci Didier. Pour l'instant j'avance seul et quel boulot car plus j'avance, plus je me rends compte qu'il y a de choses à dire. En même temps j'apprends énormément et je m'amuse.
L'écriture à plusieurs n'est pas facile. Effectivement.
Pour l'instant je cherche un seul co-auteur et si je ne le trouve pas, je ferai tout seul.
Je travaille sous word.
lightbeing
Messages : 49
Inscription : 11 déc. 2021 16:05
Localisation : Région parisienne

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par lightbeing »

Kristof a écrit : 23 déc. 2021 23:48 C'est un sujet très vaste en effet. J'ai comme livre de chevet la bilbe Amiga et c'est un enorme bouquin (et certains considere qu'il est pas complet).
Il y a la technique d'un coté, et ce qu'on veut en faire.
Par exemple pour des utilitaires, pour des jeux, pour des demos. C'est autant de choses differentes.

A l'epoque il y avait quand même des bouquins sur l'assembleur non ? De memoire, et par rapport a ce que j'ai dans ma bibliotheque, pas de gros bouquin en effet.

Courage a toi en tout cas.
Merci ! Pas de gros bouquin effectivement. Le C64 n'a jamais trouvé en France le succès rencontré dans les autres pays du monde... l'exception culturelle française :-)
Je suppose qu'au Québec, ce sont les ouvrages de l'éditeur Compute! qui ont remporté la mise.
Notator
Messages : 1284
Inscription : 09 août 2015 20:13

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par Notator »

lightbeing a écrit : 25 déc. 2021 15:31 Selon la littérature anglo-saxonne, les instructions (opcodes en anglais) sont celles du 6502 donc identiques.
En revanche, le 6510 dans sa version propre au C64, a permis l'ajout d'un port E/S (I/O en anglais) permet de contrôler la cartographie mémoire de l'ordinateur avec un interrupteur de bancs (bank switching) ainsi que 3 des 4 lignes de signal du lecteur Datassette (le moteur électrique, la détection d'une touche pressée et l'écriture, la 4e ligne relative à la lecture relève d'une autre E/S).
Les points sont abordés dans le bouquin mais on est déjà à un autre niveau de programmation.
Naturellement, les instructions communes au 6510 et au 6502 sont identiques, mais il en faut bien de supplémentaires pour pouvoir contrôler le port du 6510.
C'est important de les traiter dans un livre consacré à la programmation du C64 en Assembleur, car c'est une des spécificités propres au C64, par rapport à un ouvrage qui traite de n'importe quel autre système à base de 6502.
Une autre spécificité du C64 indispensable à un ouvrage de programmation qui lui est consacré, c'est d'établir l'inventaire des routines systèmes dont il dispose.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
lightbeing
Messages : 49
Inscription : 11 déc. 2021 16:05
Localisation : Région parisienne

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par lightbeing »

Notator a écrit : 25 déc. 2021 16:00 (...)
Selon la documentation officielle du 6510, ce terme "instruction" désigne ce qu'on appelle aussi les opcodes qui sont identiques pour le 6502 et 6510.

Perso je distingue les instructions des "commandes" qui ont vocation à affecter tel ou tel registre (ou interrupteur) dédié. Selon la documentation officielle, il s'agit ici du registre de sortie supplémentaire qui se commande via l'adresse 0001.

Les routines systèmes seront abordées comme indiqué dans mon message initial mais elles sont nombreuses et complexes. Il faut savoir qu'aux Etats-Unis ou en Allemagne, elles font l'objet de livres dédiés uniquement à celles-ci de 500 pages. Elles ne peuvent donc être que survolées sauf à faire un deuxième tome. En tout elles seront mieux traitées qu'elles ne le sont dans les bouquins français des années 80.

L'une des difficultés dans la rédaction d'un livre est le langage. Et très franchement quand on creuse le sujet, on se rend compte qu'il y a la terminologie officielle et une pratique. En me plongeant dans une discussion entre programmeurs invétérés du 6502, je me suis rendu compte à quel point un simple terme pouvait soulever bien des débats.

Ainsi "Word", qui est parfois traduit par "mot" ou "double-mot" en français informatique, désigne pour beaucoup une valeur 16 bits par opposition à "Byte" (octet) mais dans certains cas, il désigne une valeur tenant dans un simple octet. L'expression double-mot contient l'idée de 2x8=16bits.

Pour ceux qui veulent lire la source:
http://archive.6502.org/datasheets/mos_6510_mpu.pdf
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par jasz »

Très bonne idée pour tous ceux qui souhaitent se lancer dans la programmation du C64 :)

Mais je te rattrape sur un point:
Un byte = 1 octet
Un word = 2 octets
Un double word ou long word = 4 octets (2x2) ;)

Bon courage malgré tout car ce n'est pas une chose aisée de regrouper toutes ces informations et d'en sortir quelque chose de pertinent 8)
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13232
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par Carl »

Si besoin, je peux te partager ces documents...
asm doc.jpg
asm doc.jpg (564.24 Kio) Consulté 2816 fois
Carl
Avatar de l’utilisateur
6502man
Messages : 12242
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par 6502man »

Ah j'aurais tellement aimer collaborer sur ce projet, mais malheureusement je ne peut pas m'y engager car je n'en ai pas le temps, cela ce remarque par ma très faible présence sur le forum (:(-):)

Ayant à la grande époque programmé sur C64 notamment des intros et démos, mais passé à bien d'autres machines en programmation depuis :wink:
Cela reste ma machine de référence et l'Oric ma machine de coeur et oui toutes deux basées sur un 6502 (6510 pour le C64) :lol:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
lightbeing
Messages : 49
Inscription : 11 déc. 2021 16:05
Localisation : Région parisienne

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par lightbeing »

Carl a écrit : 26 déc. 2021 14:46 Si besoin, je peux te partager ces documents...
Merci. Impressionnant !

Bon je ne cache pas que le travail d'écriture qui consiste à compiler tout le savoir du LM C64 dans un ouvrage en Français est trèèèèèèès long.
franfran
Messages : 198
Inscription : 28 déc. 2019 16:00

Re: Recherche co-auteur Commodore 64 pour livre sur le langage machine et l'assembleur

Message par franfran »

Bravo pour le projet. Etant moi-même rédacteur en chef et auteur je sais combien c'est parfois un travail long et pénible.

Persévérance et constance :-)
Répondre