Entretien avec Alekmaul Ă  propos de PVCollib

Posté par  (site web personnel) . ÉditĂ© par BAud, BenoĂźt Sibaud et bobble bubble. ModĂ©rĂ© par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
26
14
août
2023
Jeu

Alekmaul dĂ©veloppe un SDK pour crĂ©er des jeux pour la console ColecoVision, cet entretien prĂ©sente les raisons qui l’ont amenĂ© Ă  s’intĂ©resser Ă  cette console.

NDM: cette dĂ©pĂȘche peut ĂȘtre vue comme un DLC du premier entretien avec Alekmaul.

ColecoVision

Sommaire

Comment en ĂȘtes-vous venu Ă  vous intĂ©resser Ă  la ColecoVision?

La Colecovision est la console de ma jeunesse, je n’avais hĂ©las pas les moyens de me la payer mais un copain en avait une. On a jouĂ© pas mal de fois Ă  Donkey Kong et Zaxxon dessus.

Quand j’ai vu que des choses existaient sur Colecovision avec les travaux d’Amy Purple (Daniel Bienvenu Ă  l’époque), j’ai dĂ©cidĂ© de regarder comment je pourrais m’en inspirer pour dĂ©velopper des jeux et ainsi faire revivre cette Ă©tincelle que j’avais eu quand j’y jouĂ© il y a maintenant trĂšs longtemps.

Ainsi est né mon SDK pour Colecovision : PVCollib.

Qu’est-ce que cette console a de particulier ?

Elle posséde trÚs peu de mémoire et faut faire avec !

32Kio pour les programmes (mĂȘme si on fait des versions avec plus de mĂ©moire maintenant avec les notions de bank switching) et surtout moins d’1Kio de RAM ! Et lĂ , c’est sportif mais on y arrive ;)

Comment fonctionne le processeur graphique (TMS9918) ?

Il fonctionne comme le processeur de la SNES mais avec un seul plan et une palette de couleurs qui ne peut pas ĂȘtre modifiĂ©e. On a aussi le droit Ă  des sprites mais en une seule couleur.

C’est le mĂȘme processeur graphique sur les ordinateurs de type MSX1 et sur le TI99-4A.

Comment fonctionne la puce sonore (SN76489) ?

On programme des ports d’entrĂ©e / sortie pour faire du son.

L’avantage de la Coleco est d’avoir un BIOS (programme interne Ă  la machine) qui aide Ă  gĂ©rer le son en envoyant des commandes plus facilement via l’appel de fonctions en assembleur. Ca Ă©vite de programmer les entrĂ©es sorties Ă  chaque fois.

Quelle est votre manette préférée ?

La manette standard, bien difficile à prendre en main et à faire fonctionner, surtout pour changer de direction :D !

Manette standard

NDM : la manette "Super Action Controller" semble pourtant plus ergonomique.

Manette Super Action Controller

Les émulateurs ColecoVision sont-ils bons ?

Oui, ils sont bons mais ne possÚdent pas de mode aidant les développeurs. On peut citer BlueMSX qui est le plus connu, CoolCV de mon ami NanoChess aussi.

Le peu d’aide pour les dĂ©veloppeurs et le fait qu’aucun Ă©mulateur ne prend en charge le processeur graphique supplĂ©mentaire F18A embarquĂ© dans le Phoenix (machine Ă  base de FPGA permettant de faire comme si on avait une vraie Colecovision) ont fait que j’ai dĂ©veloppĂ© mon propre Ă©mulateur que j’utilise tout le temps : E.mult T.wo. J’ai laissĂ© tomber les autres. Je vĂ©rifie quelques fois sur BlueMSX quand E.mult T.wo ne fonctionne pas sur certains points (il est pas mal buggĂ© encore ^^).

Quels sont vos jeux commerciaux préférés sur cette console ?

Je dirais Zaxxon et Donkey Kong.

Quels sont vos jeux "homebrew" préférés sur cette console ?

Sydney Hunter de Nanochess est vraiment bien. J’aime pas les conversions par dĂ©compilation des jeux MSX ou SG-1000 par contre. Et il y en a pas mal sur Coleco hĂ©las 


Sydney Hunter

Pourquoi crĂ©er un SDK aujourd’hui pour un si vieux systĂšme ?

Car on n'est jamais mieux servi que par soi-mĂȘme et y’avait pas de SDK Ă  proprement parler !

Il n’y a que des morceaux de bibliothĂšques, sans vraiment de choses permettant de dissocier ce qu’il fallait pour coder les graphismes, le son, les manettes. Sans dissociation de la compilation, du linkage, il n'y avait rien aussi quand j’ai dĂ©butĂ© pour gĂ©rer le bank switching, j’ai fais mes propres outils (disponibles dans pvcollib).

Ça a Ă©tĂ© la raison de rĂ©aliser PVCollib, qui fonctionne comme PVSneslib. ça m’aide si je dois voir comment porter un jeu entre ces 2 plates-formes.

Est-ce que vous participez vous mĂȘme Ă  la crĂ©ation de jeux ?

Oui, j’ai fait pas mal de jeux sur cette console dont un Bomberman : RobeeBlaster ;) J’ai aussi rĂ©alisĂ© une adaptation du jeu d’arcade Bagman qui fonctionne vraiment bien.

Quelles ont été les difficultés pour créer PVCollib?

Y’en a pas eu de trop, aprĂšs avoir Ă©tudiĂ© la console, le kit est arrivĂ© assez vite. J’ai mis un peu plus de temps Ă  crĂ©er les outils et surtout E.mult T.wo qui en est Ă  sa "je sais plus combien" de version :D !

Est-ce que PVcollib gÚre les divers périphériques de la ColecoVision ?

Oui, PVCollib gĂšre le volant par exemple. Il gĂšre aussi le F18A, processeur graphique additionnel.

Quels conseils donneriez-vous Ă  quelqu’un qui veut se lancer dans le dĂ©veloppement ColecoVision ?

Comme sur SNES, copier/coller de ma rĂ©ponse ;) La difficultĂ© supplĂ©mentaire est le peu de RAM disponible. Il faut vraiment se faire des noeuds au cerveau pour tenir dans moins d’1K de RAM.

Je suis assez fier de mon Bomberman, RobeeBalster qui permet avec si peu de RAM d’avoir un mode Story et un mode Battle à 2 !

J’avais mĂȘme prĂ©vu le mode Ă  4 mais c’était pas terrible avec uniquement 2 manettes sur Colecovision, cette derniĂšre n’ayant pas de multitap ou autre accessoire de ce genre (enfin, Ă  ma connaissance). On utilisait des cĂąbles en Y pour doubler chaque manette :D !

Quels sont les outils pour créer/préparer des graphismes utilisable par PVcollib ?

Comme sur SNES, GraphicGale pour la conception des graphiques et un outil pour transformer les graphiques au format Coleco.

J’ai aussi un outil interne qui me permet d’optimiser les graphiques et les compresser comme je veux, les rĂ©pĂ©ter d’un Ă©cran Ă  l’autre. Il n’est pas "assez souple" pour ĂȘtre partagĂ© Ă  d’autres dĂ©veloppeurs, j’aurais trop de questions tellement il est peu intuitif !

Quels sont les outils pour créer/préparer des musiques et des sons utilisable par PVcollib ?

LĂ , y’a rien de dispo dans le KIT hĂ©las, il faut les faire Ă  la main et les transformer par quelque chose de lisible par la Colecovision :( On est toujours en attente d’un tracker pour cette console hĂ©las.

Mon outil "peu intuitif" me permet quand mĂȘme de transformer sans trop de dĂ©bat du format MIDI vers le format lisible par la Coleco.

Est-il possible de créer ses propres cartouches ?

Oui, tout à fait. Au Canada Collectorvision en fabrique vraiment beaucoup et a réalisé la plupart de mes jeux.

En France, CĂŽtĂ© Gamers est aussi de la partie, j’ai Ă©ditĂ© 2 jeux avec eux.

Comment s’accommoder des faibles ressources ?

Il faut faire avec, optimiser et optimiser. Par rapport à la taille des programmes, c’est surtout les graphiques qui prennent de la place.

On a donc des compressions assez puissantes pour réduire tout cela et le décompresser dans la mémoire vidéo de la Coleco.

On utilise par exemple du Pletter (algorithme générique) ou encore du DANx (DAN1 à DAN3, réalisés par Amy Purple).

N. D. M. : exemple de Pletter et comparatif d'algorithmes

Pour la RAM, on gĂšre au plus juste les 8 bits d’un octets ou alors on utilise aussi en complĂ©ment de la mĂ©moire vidĂ©o pour pallier le peu de RAM en stockant des donnĂ©es dans des zones non affichĂ©es Ă  l’écran.

Aller plus loin

  • # Nostalgie...

    Posté par  (site web personnel) . Évalué à 7.

    Incroyable
 Seulement 1 Ko de RAM. Dans mes souvenirs la Coleco Ă©tait un grand progrĂšs par rapport Ă  l'Atari VCS (https://fr.wikipedia.org/wiki/Atari_2600). Ah ben oui, l'Atari n'avait que 128 octets de RAM


    Il faut dire que les programmes Ă©taient en ROM, donc probablement que la RAM ne servait qu'Ă  stocker les variables (score, position des sprites, etc.)

    A l'époque pas besoin de graphismes HD 3D, on s'amusait énormément avec quelques gros pixels !

    C'est fou que des gens continuent de travailler avec ces machines. Bravo !

  • # Tracker

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Il existe https://github.com/tildearrow/furnace comme tracker, il sait faire de la musique utidisant la puce son de la Colecovision, qu'est-ce qui empĂȘche de l'utiliser?

    • [^] # Re: Tracker

      Posté par  . Évalué à 2.

      Merci , je me posais la mĂȘme question. La question subsidiaire c'est de savoir est-ce qu'on sait mesurer la qualitĂ© du son en sortie entre la puce original et son Ă©mulation ?

    • [^] # Re: Tracker

      Posté par  . Évalué à 1.

      Pour les admins, l'image du jeu Sydney hunter de Nanochess est celui de la version Intellivision et non Coleco à mon avis ;)

      Pour furnace, il faut que je vois s'il utilise les fonctions du BIOS de la Colecovision ou uniquement de la génération via le SN76489 (ce qui fonctionne aussi mais prend plus de place).
      Merci du lien en tout cas !

  • # les sprites permis par le TMS9918

    Posté par  . Évalué à 2.

    Si ma mĂ©moire n'est pas trop dĂ©faillante, sur TI99-4A les sprites Ă©taient peut-ĂȘtre bien monochromes, mais on pouvait avoir plusieurs sprites de couleur diffĂ©rente Ă  l'Ă©cran. C'est pareil sur Coleco ?

  • # Encore moins (ou encore plus) : Yeno/Epoch Super Cassette Vision 128 octets

    Posté par  . Évalué à 2.

    Alors la Super Cassette Vision de Yeno (France) ou Epoch (Japon) c’est encore moins juste 128 octets. Et pourtant de trĂšs bon jeux comme le premier jeu vidĂ©o Dragon Ball :
    https://youtu.be/5e8Xbx5JG7Q

    Et quelques hombrew / démos bluffantes :
    https://youtu.be/fA2eKN_WMUo

    La description sur Wikipédia en:
    https://en.wikipedia.org/wiki/Super_Cassette_Vision

Suivre le flux des commentaires

Note : les commentaires appartiennent Ă  celles et ceux qui les ont postĂ©s. Nous n’en sommes pas responsables.