connect
 

Description:
Daniel Bienvenu
Thématiques:

coleco
colecovision
2009
vision
cv
projet
music
musique
chiptune
minigame
game

[+]

Abonnement aux flux
Flux rss
NewColeco Projects Blog

18 mar
2010

Algorithme de compression DAN0

PDF (english) 2010-03-19 : Compression Algorithms DAN0 by Daniel Bienvenu.pdf
C file with pictures in Marcel's RLE format (see PDF) : samples_pictures.zip
DAN0 (Z80 asm routines to decompress DAN0 data) : dan0asm.zip

Bonjour,

Plusieurs algorithmes  de compression existent. Certains sont déjà disponibles pour faire des projets de jeux ColecoVision, comme Run Length Encoding (RLE) dans la librairie Coleco de Marcel de Kogel que j'utilise régulièrement, Huffman Encoding dans les librairies de PkK, et bien d'autres dont ceux venants de la scène MSX et Commodore : BitBuster , PLetter, PuCrunch. Le plus connu et le plus efficace est sans doute PuCruch, mais il demande des ressources que la console ColecoVision ne peut offrir.

Il y a peu de temps, j'ai travaillé sur un nouvel algorithme de compression tout en ayant en tête de minimiser les ressources tout en offrant une bonne qualité de compression. Ce nouvel algorithme peut être vu comme une amélioration de Run Length Encoding (RLE). Mon objectif premier était de voir s'il était possible d'obtenir mieux malgré le peu de données que l'on peut entrer dans un projet ColecoVision, sans utiliser de mémoire vive, ni trop de temps processeur.

La compression RLE dans la librairie Coleco de Marcel de Kogel fonctionne bien, mais permet d'encoder  "répétition d'une fois le prochain octet", ce qui est inutile compte tenu de la possibilité d'encoder "écrire le prochai octet". Parce que c'est un algorithm très simple, il offre donc une routine très petite et très rapide. Heureusement, nous avons l'habitude de dessiner des écrans titres professionnels qui comportent suffisamment de zones avec répétitions, par example de larges espaces vides, permettant l'achèvement d'une bonne compression avec RLE. Même si ce type de compression ne convient à tous les cas de données graphiques à compresser pour un projet ColecoVision, elle demeure utile.

Donc, J'ai pensé à un algorithme hybride permettant d'achever le même genre de compression que RLE tout en offrant une possible amélioration de compression, et ce, dans un temps raisonnable.

J'ai écrit une routine compacte en codes assembleur Z80 basé sur ma proposition du nouvel algorithme de compression que j'ai surnommé DAN0, ainsi qu'une documentation en version PDF que vous pouvez consulter ici.

Je n'ai pas encore fait de tests exhaustifs dans des situations réelles. Cependant, la routine de décompression fonctionne à merveille. Il ne manque que les outils de compression.

Le pire scénario suite aux tests sera de constater que l'algorithme n'offre guère plus qu'un simple RLE. Le meilleur scénario que pourrait être une amélioration de compression allant jusqu'à 20%.

Détails de la version pour project ColecoVision en langage C.
(cette version nécessite des instructions supplémentaires POP et PUSH pour la lecture des paramètres de la fonction avant de les utiliser.)

Espace ROM (cartouche de jeu) nécessaire : between 100 and 130 bytes.
Espace RAM (mémoire dans la console) nécessaire : 0 (si l'on exclut l'usage normal de la pile)
Registre(s) utilisé(s) : les paires AF, AF', DE, HL, BC.
Registre(s) sauvé(s) : Aucun.

Exemple :
ColecoVision Ms Space Fury (jeu) par Daniel Bienvenu, 2001, Taille 12 kilo-octets.

(Valeurs en octets incluant la taille de la routine de décompression)

RLE : 3436 (28.0%) <- taille et méthode de compression utilisées en 2001
DAN0 : 2825 (23.0%)
DAN0[alt] : 2749 (22.4%) <- nouvelle taille grâce à la nouvelle méthode de compression proposée.

Le nouvel algorithm a permis de sauver presque 1 kilo-octet à comparer à l'algorithm RLE. Super! :-)

15 mar
2010

Flash ColecoVision Player Demo

Bonjour à tous,


Ceci est un projet que je ne pensais pas possible en 2007-2008. Mais depuis que ActionScript 3 et Flex 3 sont sortis, il est possible de concevoir une application Flash qui génère des sons dynamiquement, sans passer par une méthode non conventionnelle. J'ai écrit ce projet dans un premier temps pour tester l'efficacité et la simplicité de la librairie son (to test flash sound library),  et dans un deuxième temps pour obtenir un outil "multi-plateforme" grâce à Adobe Flash Player version 9+ greffon (plugin) ou non (standalone).

Version 2010-03-15, hifi, bin + source : CVSoundGen20100315.zip

Source : ActionScript 3.0
Compilateur / compiler : Flex 4

La zone texte sert à fournir des codes que vous voulez tester avant de les inclure dans vos projets Coleco. Les sons doivent effectivement supporter le format de son utilisé par le bios Coleco.


Exemples / Examples


; explosion
snd_explosion
:
.db 0x02,0x05,0x47,0x1f,0x4f,0x10

; classic colecovision zaxxon shot
snd_zaxxon_shot
:
.db 0x43,0x97,0x20,0x08,0x11,0x2d,0x18,0x11,0x50


Légende
; commentaire
étiquette:
.données hex,hex,hex,hex ; valeurs hex seulement [ de 00 à FF ]

Legend
; comment
label:
.data hex,hex,hex,hex ; hex values only [ from 00 to FF ]


14 fév
2010

Coleco Saint-Valentin 2002

ROM (WITH ALIEN HEAD) + EDITOR : generic.zip
ROM (WITHOUT ALIEN HEAD) : GENERIC_NO_ALIEN.zip
ROM VALENTINES (EXAMPLES) : VALENTINES_EXAMPLES.ZIP

ENGLISH : The editor is written in VisualBASIC 5, so to run it properly under new Windows you need to find the missing DLL file (your version of Windows will normally tells you which file is missing). You can either place it in the same folder as the editor OR place it in the WINDOWS/SYSTEM folder to be runnable with all VisualBASIC 5 applications (like many of my previous tools running under windows like I.C.V.G.M.).

FRANCAIS : L'éditeur est écrit en VisualBASIC 5, alors pour l'exécuter avec un nouveau Windows vous aurez besoin de trouver le fichier DLL manquant (votre Windows devrait normalement vous dire quel fichier est manquant). Placez le fichier DLL dans le même répertoire que l'éditeur ou dans WINDOWS/SYSTEM pour être utilisable par toutes les applications en VisualBASIC 5 (comme mes premiers outils sous Windows comme I.C.V.G.M.)

VIDEO SAMPLE

AMUSEZ-VOUS! ENJOY!
Joyeuse Saint-Valentin! Happy Valentine's day!

02 déc
2009

Editeur Graphic I.C.V.G.M.

FRN : Depuis 1997, J'ai essayé de faire des outils pour éditer des graphiques, d'abord sous DOS, puis sous Windows. C'est depuis que j'ai rendu mes premiers jeux ColecoVision disponible que mes outils ont connu un grand intérêt. Étant donné que mon site web Coleco est mort (fini le Geocities gratuit), on m'a écrit pour savoir où trouver mes outils à présent. Afin de répondre à la demande générale d'au moins une personne, re-voici mon éditeur graphique ICVGM, cette fois-ci dans sa version la plus complete possible incluant les versions DOS et Windows. Je ne supporte plus le développement de cet outil graphique, mais je continue à l'utiliser pour mes propres projets.

ENG : Since 1997, I've tried to make tools to edit graphics, first under DOS, then under Windows. It's after I've released my first ColecoVision games that my tools raised in popularity. Because my Coleco web site is dead (No more free Geocities), I'm getting messages about where to find my tools now. Well, to answer this question, I've decided to quickly upload my graphic tool ICVGM, but this time in its more complete form including the DOS and Windows versions. I'm no longer supporting the development of this graphic tool, but I'm still using it for my own projects.

ICVGM (DOS + WINDOWS) : ICVGM_COMPLETE.zip

29 jui
2009

ColecoVision - Musique originale 1

Vers le milieu des années 1990, j'ai beaucoup joué du synthétiseur pour le plaisir. Un jour, j'ai décidé de me mettre au défi de composer une musique en n'utilisant que les touches noires du clavier. Après une heure, j'ai composé une musique originale au delà de mes espérances.

En 2009, pour la réunion annuelle ADAMCon, j'ai fait une présentation sur comment je code de la musique pour mes projets CoelcoVision. Pour illustrer chacune des étapes, j'ai encodé pour l'occasion la super musique que j'avais composée il y a plus de 15 ans déjà. Vous trouverez ici un lien vers mon canal Youtube et un fichier en format MP3 afin de vous permettre de la télécharger dans vos bidules de poche et vos ordinateurs.

Laissez-moi un commentaire pour me dire ce que vous en pensez!

MP3 : CV_MYMUSIC.mp3

VIDEO : http://www.youtube.com/watch?v=6Em788LcA6M

14 jun
2009

ColecoVision GhostBlaster

DETAILS

Ce projet a commencé à germer dans ma tête en début d'année lorsque Sylvain de Chantal, membre fondateur du club des collectionneurs de jeux vidéo du Québec (CCJVQ), m'a demandé de concevoir un jeu vidéo pour souligner le 10e anniversaire du club et que j'avais carte blanche. J'ai longuement pensé à ce que je pourrais bien faire et je me suis souvenu d'un moteur de jeu que je voulais coder il y a quelques années où tout l'écran se déplaçait et où l'usage de la mémoire vidéo libre permettait de plus grands tableaux. Profitant de l'occasion, j'ai commencé à coder ce projet après avoir calculé et recalculé ce qu'impliquait le mouvement de caméra. Et voilà le résultat!


CONCEPT

Vous parcourrez 10 tableaux (pour souligner les 10 ans de CCJVQ) où vous devez trouver la sortie tout en éliminant les fantômes qui hantent ces lieux. Quand tout est terminé c'est la fête! (récompense pour avoir joué)


ROMS

Vous trouverez ici les différentes versions en format binaire de ce projet. Ces prototypes sont écrits rapidement grâce à mes outils de développements et mon expérience en programmation pour cette console depuis déjà 10 ans.

DAY 1 : ccjvq01.zip

DAY 2 : ccjvq02.zip

DAY 3 : ccjvq03.zip , ccjvq03b.zip

DAY 4 : ccjvq04.zip , ccjvq04b.zip

DAY 5 : ccjvq05.zipccjvq05b.zip

DAY 6 : ccjvq06.zip

DAY 7 : ccjvq07.zip , ccjvq_level5.zip

DAY 8-11 : ...

DAY 12 : ccjvq12.zip  ( version finale, pour cartouche et émulateur )

DAY 13 : Code source disponible

DAY 14 : ccjvq14.zip ( version PAL, pour cartouche et émulateur)

Source : cvghostblastersrc.zip

Level Builder (Java JAR) : GhostBlasterLevelEditor.zip
Level Builder (Windows EXE) : ghostblasterlevelbuilder_w32.zip
Lien BASE64 : decodeur BASE64 en ligne


VIDEOS


J'ai décidé de laisser une trace de mes étapes en format vidéo... un vidéo pour chaque jour utilisé pour ce projet.

PLAYLIST

DAY 1 , DAY 2 , DAY 3 , DAY 4 , DAY 5 , DAY 6 , DAY 7 , DAY 8 part 1 , DAY 8 part 2 , DAY 9


REVUES (REVIEWS)

MaximumRD , markvergeer


INSTRUCTIONS

Instruction Manual (english) by Mike Dullum : GHOSTBLASTER Manual PDFs.zip


BOÎTES (BOXES)

Crapahute : http://colecoboxart.com/coleco_ghostblaster.htm


IMAGES (PICTURES)









MON SOUHAIT

Je souhaite que ce projet soit bien reçu par les membres du club et les fans de la console ColecoVision.

27 avr
2009

ColecoVision Insane Pickin' Sticks VIII

ROM : CV_PickinSticks_bin.zip
SOURCE : CV_PickinSticks_src.zip



Ce projet a commencé durant la nuit du 25 avril pour se terminer dans la nuit du 26 avril, avec quelques minutes supplémentaires le 27 avril pour corriger un bug et ajuster les paramètres.

ETAPE 1 : Pour ce projet j'ai d'abord utilisé mon outil graphique ICVGM afin de dessiner le gazon 32x32 pixels (un bloc 2x2 caractères), et puis j'ai recopié ces tuiles pour en superposer les dessins de branches soit 6 dessins différents de 32x16 pixels (bloc 2x1 caractères).

ETAPE 2 : Ensuite je me suis demandé si je pouvais utiliser mon tout dernier outil graphique afin de dessiner au moins une animation de marche en sprites. Les deux images obtenues sont composées de 9 sprites chacun et sont disposés de manière à éviter le problème de la limite visuelle de 4 sprites sur une même ligne horizontale.

ETAPE 3 : J'ai écouté et ré-écouté le vidéo pour composer sur papier la musique avec l'aide de mon outil CV-Notes pour obtenir les codes des fréquences. J'ai utilisé mon outil OS7 Sound Bank pour entendre le résultat et ajuster les différentes notes ainsi que l'ajout des notes spéciales à fréquence changeante rapide.

ETAPE 4 : J'ai informé Rachel Morris de mon intention de programmer le jeu en format Coleco et je lui ai posé mes dernières questions.

ETAPE 5 : Une fois la positive réponse reçue, j'ai commencé à coder. J'ai commencé par la musique, puis le gazon, puis l'ajout et retrait de branches, puis l'affichage d'un sprite, puis les mouvements du joueur, puis la détection de collision, puis l'usage des vrai sprites, puis l'ajout du pointage, puis l'ajout des messages humoristiques, puis enfin réorganisation et nettoyage du code pour l'optimization à 4K.

Tout cela s'est passé en environ 24 heures.

ETAPE 6 : Amélioration de la détection de collision. Débogage. Ajustement des paramètres afin de rendre le jeu encore plus rapide et amusant.

22 mar
2009

Outil Graphique - CV Graphics Toolkit


CV Graphics Toolkit, 2009-04-05, Win32 (EXE) : cvgraphictoolkit_w32.zip

CV Graphics Toolkit, 2009-04-05, Java (JAR) : cvgraphictoolkit_jar.zip

Ancienne version
CV PAINT 2, 2009-03-25, Win32 EXE : cvpaint2.zip


CV PAINT 2


Editeur de pixels pour écran bitmap

Basé sur TMS9918 et TMS9928

Résolution : 256x192, 15 couleurs, mode écran graphique 2 (alias bitmap)

- Usage du format Coleco ADAM PowerPaint (.PP)
- Importation format ZX Spectrum (.SCR, .MLT)
- Importation format MSX (.GRP)
- Copier et Coller l'image écran
- Conversion en langage C pour intégrer à vos projets

Cet outil (en développement) permet de dessiner dans un mode d'écran supporté par les puces vidéo TMS9918 et TMS9928, dont fait parti Colecovision, TI99/4a, MSX-1, Memotech 512, etc.

J'ai commencé à programmer cet outil dans le but ultime qu'il remplace mon outil actuel nommé CVPAINT afin de correspondre un peu mieux aux besoins et à la nouvelle version du kit de développement basé sur le compilateur SDCC au lieu de Hi-Tech C.

Après quelques essais, vous finirez par comprendre comme ça fonctionne. Je peux vous dire que des fois tenir la touche SHIFT fait quelque chose de différent lorsque vous dessinez. Cliquer avec bouton de gauche dans la palette de couleur change la couleur de l'encre (forecolor) et cliquer avec bouton de droite dans la palette change la couleur du papier (backcolor).

Amusez-vous!

CV SPRITES 2


Éditeur de sprites

Basé sur TMS9918 et TMS9928

Résolution (une seule supportée) : 16x16 pixels par sprite

- Importation d'un fond d'écran Coleco ADAM PowerPaint (.PP)
- Importation de données ICVGM (.DAT) pour fond d'écran et sprites
- Usage de son propre format pour les sprites (.PPSPR)
- Ajout, Coloration et Disposition des sprites à l'écran
- Conversion en langage C pour intégrer à vos projets

Cet outil (en développement) permet de dessiner et disposer des sprites 16x16 basé sur le standard TMS9918 et TMS9928, dont fait parti Colecovision, TI99/4a, MSX-1, Memotech 512, etc. La limite de 4 sprites sur une même ligne est bien simulée.

À utiliser avec prudence!

12 mar
2009

ColecoVision Space Harrier

MP3 : CV_SPACE_HARRIER_WITH_VOICE.mp3

YOUTUBE : http://www.youtube.com/watch?v=na1kNPrOHVo

Il m'a fallu 3 jours pour coder cette musique au format ColecoVision, note par note, écoute et ré-écoute de la même musique encore et toujours... une chance que j'aime cette musique.

Bonne écoute!

05 mar
2009

ColecoVision Smooth Criminal

ROM : result.zip
SRC : smoothc_src.zip
MP3 (Extended Version) : ColecoVision - Smooth Criminal.mp3

Lien vers video comparaison entre vrai machine et emulation

Ce projet a été fait suite à une remarque concernant mon projet "thank you" sur Youtube utilisant la musique "Never Gonna Give You Up". Certains croyaient que la musique était "Smooth Criminal" et j'ai voulu leur montrer à quoi ressemble cette musique en format ColecoVision.

J'en ai aussi profité pour utiliser la nouvelle musique et la faire jouer dans différents émulateurs... et ainsi voir une horrible vérité, que les nouveaux émulateurs ColecoVision pour PC sont moins bons que certains anciens émulateurs. :(

Merci de votre attention!

<< | 0 | 1 | >>
lache tes com dev fr scrutator irc bot
created by Jerome Wax based on LT version 0.3.2 - dev-fr.org 0.4 install