Compilateur C64

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Répondre
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Compilateur C64

Message par frktaunus »

Bonjour a tous,
Que me conseillez vous pour développer en langage machine pour C64 ?
J'ai mangé du monitor de base à l'époque, une plaie!
Je souhaite m'y remettre un peu, mais de façon confortable ;)

Je ne trouve pas d'infos sur ce que permet la Final Cartridge 3, (par exemple nommer les fonctions, et les appeler par le nom, et non pas par adresses (un peu comme dans l'AmigaBasic) ou sur du dev dans un éditeur PC si ca existe (mais comment tester?).

Merci
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Compilateur C64

Message par Carl »

Pour développer sur C64 : C64 Studio
C64 Studio is a .NET based IDE.

The program supports project based C64 assembly or Basic V2. The internal assembler is using the ACME syntax.

In connection with Vice the IDE allows you to debug through your code and watch variables/memory locations, registers and memory.
Any other emulator can be set up as well if it's startable via runtime arguments.

C64 Studio allows you to compile to raw binary, .prg, .t64, .d64 or cartridge format (.bin and .crt for 8k, 16k, MagicDesk)

Additionally to this C64 Studio comes with a charset, sprite and media editor (tape and disk).

An encompassing help documentation is part of the program.
https://www.georg-rottensteiner.de/en/index.html
https://github.com/GeorgRottensteiner/C64Studio
c64studio.jpg
c64studio.jpg (241.82 Kio) Consulté 5597 fois
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Merci CARL, je vais regarder cela.
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
ricco59
Messages : 78
Inscription : 23 mai 2007 22:13
Localisation : Près d'Arras

Re: Compilateur C64

Message par ricco59 »

Hi,

Turbo Rascal se fait de plus en plus remarquer :)

bon dimanche
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Je suis donc en train de tester C64 studio + VICE et c'est pas mal du tout.
mais je ne trouve pas comment surveiller les registres en pas à pas.
j'affiche la vue des registres a droite, mais dès que je lance sous VICE, (en debug), ca reste vide, et comment activer ce pas a pas?
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Bonsoir,
Autre question, dans le source ASM, j'ai inséré une section !bytes,
donc une suite d'octets stockés dans le programme.
Mais, je ne trouve pas comment les exploiter, comme par exemple envoyer ces octets sur l'écran afin d'afficher un message
ou un dessin en petscii
La doc est muette la dessus, et je ne trouve pas sur le net.
Merci pour vos pistes !
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Bonsoir,
je ne trouve pas de forum où poser ma question, ni d'aide en ligne sur ce point
le compilateur bloque sur la ligne LDA car il n'identifie pas la balise "!byte"

je souhaite faire comme en basic avec READ et DATA
Est ce que c'est possible comme cela?
comment on fait référence à cette table d'octet?

Merci pour votre aide

Code : Tout sélectionner

  !for COL = 0 TO 24
          lda !byte + COL 
          sta $0400 + COL
  !end
 
!byte $55,$40,$40,$43,$49,$55,$43,$43,$43,$49,$42,$20,$20,$20,$5d,$42,$20,$20,$20,$5d,$42,$20,$5b,$20,$5d,$42,$20,$5b,$20,$5d,$42,$20,$20,$20,$5d,$42,$20,$20,$20,$5d
!byte $4a,$43,$43,$43,$4b,$4a,$43,$43,$43,$4b
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Zebulon
Messages : 2788
Inscription : 02 nov. 2020 14:03

Re: Compilateur C64

Message par Zebulon »

Bonsoir,

Je ne connais pas la syntaxe de l'assembleur attendue par C64 Studio mais quelque chose me chiffonne dans votre exemple. Supposons que !byte désigne un type de données, il n'y a aucun label indiquant à quelle adresse mémoire se trouvent ces données.

Contrairement au Basic et son mécanisme de READ / DATA qui va lire les données depuis la première ligne de DATA où quelle se trouve (sauf commande RESTORE nnn), en assembleur chaque élément doit posséder une étiquette qui référence sa position en mémoire.

Peut-être devriez-vous examiner un tuto comme celui-ci: http://tnd64.unikat.sk/assemble_it1.html ?
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Super! l'exemple donné sur le lien illustre la syntaxe attendue par le compilateur
Merci beaucoup

Ceci fonctionne

Code : Tout sélectionner

  !for COL = 0 TO 24
          lda MESSAGE + COL 
          sta $0400 + COL
  !end
 
MESSAGE !byte $55,$40,$40,$43,$49,$55,$43,$43,$43,$49,$42,$20,$20,$20,$5d,$42,$20,$20,$20
J'utilise C64 STUDIO 6.5, mais l'aide en ligne n'est pas a jour. Les copies d'écrans sont différentes et moins "fournies", on voit que le soft est en avance par rapport aux doc. j'ai été voir sur GITHUB, et c'est pareil.
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Petite satisfaction (il ne me faut pas grand chose ;) )
Le but 1er est atteint, ca tourne sur VICE et ca tourne sur le C64 réel (comparé au basic, y'a pas photo).
-
joy.png
joy.png (263.93 Kio) Consulté 4903 fois
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Zebulon
Messages : 2788
Inscription : 02 nov. 2020 14:03

Re: Compilateur C64

Message par Zebulon »

Bonjour.

Il n'y a pas de petites victoires. :)

Je ne connaissais pas C64 Studio. J'étais parti sur CBM Prg Studio. Les "instructions" de boucles sont des macros ou des éléments spécifiques de l'assembleur du C64 Studio ?

J'aurais une petite faveur à demander: serait-il possible d'attacher un zip du projet pour que je puisse tester le C64 Studio ? J'ai déjà VICE.

Merci beaucoup. :wink:
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Voila ma modeste contribution.
Tu dois installer C64 Studio, et le ratacher à VICE, ce qui permet de compiler et tester dans la foulée.
Ici, paramètre VICE pour les joysticks, c'est le but de ce programme que de tester ces derniers.
Les 1res lignes du code ASM définissent la partie basic qui va lancer le LM (par un SYS)

Regarde aussi les liens données dans les messages précédents.

L'aide F1 Help de C64 studio indique les commandes du µP et d'autres infos.
Dans la partie de droite, on peut afficher une calculette hexa bien pratique
bon amusement ;)
-
Pièces jointes
Joy.zip
(3.45 Kio) Téléchargé 127 fois
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Zebulon
Messages : 2788
Inscription : 02 nov. 2020 14:03

Re: Compilateur C64

Message par Zebulon »

Super merci beaucoup. :D

Je vais regarder ça ce weekend. Je ne suis pas accoutumé à l'assembleur du C64 car j'avais programmé avec celui du Z80 sur Amstrad mais la logique est similaire.

Je n'ai pas eu de Commodore 64 et j'ai commencé à m'y intéresser lorsque les versions mini puis maxi sont sorties.

J'ai acheté le livre de Derek Morris (Retro Game Dev: C64 Edition) puis celui de Bruce Bayley (Commodore 64 Exposed) en plus bien sûr de la littérature qu'on trouve sur le net pour me lancer.

C'est à cette occasion que j'ai découvert CBM Prg Studio car le livre de Derek s'appuie dessus.

La difficulté du C64 est qu'il faut beaucoup agir en mémoire là où le CPC expose beaucoup de routines d'assez haut niveau (même si clairement moins performantes).

Tout cela est passionnant et comme je le disais chaque victoire compte. :P
Avatar de l’utilisateur
frktaunus
Messages : 1148
Inscription : 08 mai 2019 11:23
Localisation : LILLE

Re: Compilateur C64

Message par frktaunus »

Je m''y remet tout doucement...
j'avais commencé a faire un "Fort Apocalypse II" à l'été 1986, mais les 2 mois de vacances n'ont pas suffit,
et ca s'est arrêté la. J'ai appris empiriquement avec le bouquin de la ROM désassemblée du C64 .
J'utilisait le Monitor du C128, très "basique", aucun commentaire bien sur, donc tout est illisible une fois qu'on a un peu laissé de temps passer. Alors 35 ans, je te dis pas!
J'avais un écran d'accueil, l'hélico piloté par joystick, des interruptions pour redéfinir des caractères (objets qui bougent) et le scrolling toutes directions de la map (de caractères), le tir qui dégomme des caractères, pas de son. Ca devenait jouable dans une purée de caractères car je n'avais pas dessiné le décor. J'était (je suis) mauvais dans les timings (plein de boucles pour ralentir le programme) et le stockage de la map/décor, qui prenait 1 octet/caractère par élément, donc 1024 pour un écran, une base aussi grande que le Fort apocalypse normal me consommait toute la ram du C128...

Peut être est ce je pourrais remettre en forme ce source en l'important dans le C64 studio.
Mais a la lecture des messages très intéressants de ce forum, je vois que le développement d'un jeu propre n'est pas si facile que cela.
il y a des concepts que je n'avais pas capté à l'époque (et toujours pas maintenant, mais je le sais)
Franck
Est ce que l'on peut enregistrer de la musique classique sur une cassette Metal ?
Avatar de l’utilisateur
Kristof
Messages : 368
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: Compilateur C64

Message par Kristof »

Je dev en C sur C64, c'est plutot pas mal quand on n'est pas trop exigeant sur le type de jeu (avec ccs65).
J'ai pris "Unity 8bits" comme base de depart et coder quelques fonctions dont j'avais besoin.
Répondre