anim boing ball Anciens projets Amiga anim boing ball

 

anim boing ball Old Amiga projects anim boing ball



puce En C

puce Using C

  • AWeb Open-source 68k OS4 MOS
     Depuis le mois de juin 2002, Yvon Rozijn, l'auteur original d'AWeb (un navigateur Amiga), a mis les sources de son programme en Open-Source. Je me suis littéralement jeté dessus et j'ai réussi une recompilation complète du programme (en version complète donc, pas comme celle de l'OS 3.5 ou 3.9 !). Je dois bien avoué que du coup cela est bien mieux : il existe un tas d'options inaccessibles depuis les versions bridées livrées avec l'OS...
    Bref, comme vous vous en doutez, je n'ai pas été le seul à être intéressé, une équipe de développeurs de nationnalités multiples échangeant sur comp.sys.amiga.programmer se sont regroupés pour former la 'AWeb Open-Source Team'. Aussi, même si cela m'aurait fait plaisir de distribuer ma propre version d'AWeb, j'ai préféré me joindre à cette équipe de programmeurs afin déviter un fractionnement inutile de la communauté Amiga (qui l'est déjà bien suffisamment, mais je ne ferais pas de polémique...). D'ailleurs cette équipe a été nommé par Yvon comme celle qui est 'officielle', depuis elle a fait évoluer AWeb en lui ajoutant de nouvelles fonctions telles que le meilleur support de certains tags HTML, corrections de bugs etc. Vous pouvez vous rendre sur le site (officiel donc ;-) d'AWeb Open-Source qui se trouve à l'adresse http://aweb.sunsite.dk.
    En parallèle, il existe une liste de diffusion : aweb@sunsite.dk, pour vous inscrire rien de plus simple il vous suffit d'envoyer un mail vide sans texte ni sujet à l'adresse aweb-subscribe@sunsite.dk.
    Je suis également en train d'effectuer des recherches pour offrir un plugin Shockwave basé sur le programme SWFPlayer lui-même basé sur la libFlash d'Olivier Debon... Mais pour le moment, ce n'est pas vraiment gagné :-(
  • AWeb Open-source 68k OS4 MOS
     Since June 2002, Yvon Rozijn, original author of Aweb (an Amiga Web Browser), commited the source code to Open-Source. I literally pounced on it and managed a total recompilation (in unlimited version, not like the one in OS 3.5 or 3.9 !). I must say that it's really better like this : there a bunch of options innaccessible to the limited editions released with OS...
    As you may guess I wasn't the only one to be interested : a group of developper from different contries were discuting on comp.sys.amiga.programmer and formed the 'AWeb Open-Source Team'. Thus even if I would have been glad to distribute my own AWeb version, I choosed to join this programmers group to avoid unneeded split of Amiga community (which is already enough splitted, but I won't turn into controversy...). Moreover this group was nominated 'official' by Yvon itself, and sicne then released several versions including new functionnalities and bug corrections. You can go to the AWeb Open-Source website (the official ;-) found at http://aweb.sunsite.dk.
    A mailing list was set up : aweb@sunsite.dk, to subscribe it's really simple : write an empty mail without text nor subject to aweb-subscribe@sunsite.dk.
    I'm also in the process of doing research to offer a Shockwave plugin based upon SWFPlayer, based in turn on the libFlash library by Olivier Debon... But for now that's not done yet :-(
  • GenesisReport 68k
     GenesisReport était destiné à remplacer le programme (horrible) de rapport fourni avec la pile Genesis de l'OS 3.9. J'en suis resté à la phase de reverse sur le format du fichier généré (pratiquement terminé), la deuxième phase était de réaliser un module capable de manipuler un tel fichier et d'en extraire facilement les informations voulues (recherche par nom d'utilisateur, temps total pour un utilisateur, etc.). Enfin, la troisième phase aurait consisté à fournir à ce module fraîchement pondu une jolie interface graphique en Reaction (pour ceux qui ne connaissent pas c'est le nouveau standard officiel d'interface depuis l'OS 3.5 et basé sur l'utilisation de BOOPSI... En fait il s'agit de ClassAct renommé par H&P, ni plus ni moins !)
    Ensuite aurait du suivre la phase optionnelle (mais qui personnellement m'aurait été bien utile ;-) concernant la gestion des coûts de connexions tels qu'ils existaient d'ailleurs dans la version MUI, mais qui avait été supprimée :-(( Bien entendu cette fonction aurait du être beaucoup plus intuitive à utiliser (oui parce que heu je ne sais pas vous, mais moi je trouve qu'il faut au moins avoir bac+4 pour arriver à l'utiliser celle de MUI ;-))) et disposer de plein d'options vachement pratiques telles que l'avertissement en cas de dépassement d'un certain temps de connexion (sympa lorsque l'on a un forfait :-), avertissement si l'on se connecte en dehors de certaines heures (toujours pratique si l'on dispose d'un forfait, même si je ne sais pas si de tels forfaits existent encore ;-), etc.
    Si vous voulez, je peux vous fournir les sources dans l'état dans lesquels je les avais laissés, pour cela cliquez sur ce lien.
  • GenesisReport 68k
     GenesisReport was destined to replace the (ugly) report application that came with the OS 3.9 Genesis stack. I did not go further the phase of reverse engineering the generated file format (almost done). The second phase should have been to produce a module able to manipulate this file et extract from it the needed informations (search by username, total time for a specific user, etc.). Then the third phase would have consist in providing this newly developped module with a sexy graphical user interface using Reaction (for those that don't know it, it's the new officiel standard for GUI since OS 3.5, based upon heavy use of BOOPSI... In fact it's ClassAct renamed by H&P !)
    Then there should have been the optionnal phase (by which personnaly would been of great use to me ;-) about the connection cost handling as they existed in the MUI version; but that were removed :-( (Of course this function would have been way more intuitive to use (because I don't know you, but on my part I find you almost need a 4th grade to use the MUI one ;-)) and would have provided many really practical options like given connection time overrun warning (cool when you have an Internet time rate), etc.
    I you are interested, I can provide you with the source code like I leave it, for this, just click on this link.

puce En C++

puce Using C++

  • Master2D 68k
     Master2D est un programme que je devais réaliser dans le cadre d'un TP de Maîtrise, et qui était développé sous DOS et Watcom C++. Pour des raisons évidentes de facilité de développement (je n'ai pas de PC chez moi, et n'en aurait jamais ;-) j'avais décidé de le porter sur mon Miga afin de pouvoir travailler chez moi, et arriver à la fac en disant à mon binôme (que je salut au passage : "salut Laurent") "tiens, au fait, pendant que tu te reposais, moi j'ai bossé, voilà ce que j'ai fait !". En fait, la seule chose que j'ai eu à porter, ce sont quelques primitives de dessin de Watcom, le reste étant complètement indépendant du système (comme mon binôme et moi aimons à le faire).
     L'intérêt du programme est assez limité, vu que le but de ce TP d'imagerie était de se familiariser avec les algorithmes utilisés en imagerie tels que les concepts de fenêtre/clôture, courbes de Bézier, etc... Nous avions même développé une ébauche d'interface graphique pour les besoins de la cause.
    Pour les curieux voilà un peu à quoi ressemblait l'interface graphique que nous avions entièrement réalisée nous même (oui, ça vaut pas un MUI ou un ClassAct, je sais ;-)
  • Master2D 68k
     Master2D is a soft I had to provide in the as port of a due work during my master's degree studies and that had to be developped under DOS, using Watcom C++. For obvious reasons of development facility (I had no PC at home, and will never had one ;-) I decided to port it to my Miggie in order to allow me to work at home and arrive at university saying to my partner "Ho, while you were resting, I work a bit, here is what I did !". In fact the only thing that needed to be ported was some Watcom's drawing primitives, remainding parts being completely system independant (as my partner and me liked to do it).
     Interest of this program is almost limited, as this work was targeted in training ourselves with imagery common algorithms like viewport/rastport, Bézier curves, etc... We even developped a simple GUI system to supply our needs.
    For curious here is how the graphical interface, we developped from scratch, looked like (yes, I know this does not worth an MUI or a Reaction ;-)
preview
  • Logo de Qt 68k
     A un moment mon gros projet a été d'essayer de porter la magnifique bibliothèque de composants graphiques Qt de Troll Tech que j'utilisais régulièrement dans mes projets sous Unix ou Linux. Maintenant trè connue du monde Linux de part son utilisation dans l'environnement KDE, elle n'en était qu'à ses débuts, j'affectionne particulièrement cette bibliothèque notamment pour sa gestion des signaux, qui permettent d'après moi une réelle réutilisation des composants.
     Le but de mon portage était d'après les sources de la version libre pour X11, d'arriver à la recompiler sous AmigaOS afin qu'elle tourne sans utiliser l'un des nombreux serveur X disponibles pour AmigaOS (Amiwin, DaggeX, etc.) en tant que réelle application AmigaOS. Pour cela, j'utilisais EGCS, ainsi que la librairie libX11 de Terje Pedersen qui émule X11 au dessus de MUI (cf Aminet /dev/c/libx11).
     Au moment où j'ai arrêté, j'avais effectivement réussi à obtenir une bibliothèque linkable avec mes programmes, malheureusement, je suis resté bloqué par la non exhaustivité des fonctions émulées par la libX11 de Terje et il me fallait les écrire, cependant je n'en avais pas le temps mes études de DESS me prenant tout mon temps libre, puis la motivation a ensuite disparue :-[
  • Qt's logo 68k
     At one time my big project was to try to port the marvellous graphical library Qt by Troll Tech that I was using regularly in my Linux/Unix projects. Now well known in the Linux world by its use in the KDE environment, it was its begining at this time. I particularly love this library notably for its signals handling, that enables, in my opinion, a real component reusability.
     My port aim was that using the X11 free version source code, to manage to recompile it for AmigaOS in order to run without need of one of the numerous X server available to Amiga (Amiwin, DaggeX, etc.) like a real AmigaOS application. To acheive this I used EGCS (at that time GCC wasn't supporting very well latest C++ constructions) ad the libX11 library by Terje Pedersen that was emulating X11 system on top of MUI (cf Aminet /dev/c/libx11).
     When I stopped, I had effectively managed to obtain a library statically linkable with my programs, unfortunately, I was stuck by non completeness of X11 functions provided by Terje's libX11, I had to write them, however I didn't had time : my studies was taking all my free time et after motivation was gone :-[

puce En Amos

puce Using Amos

  • IntroWB 68k
     Un petit programme que j'avais écrit afin de pouvoir afficher, au boot de mon Amiga, une image tout en jouant une musique. L'image, ainsi que la musique pouvaient être changées à volonté, il suffisait de remplacer les fichiers existants par d'autres.
     La première restriction de ce programme est qu'il ne détecte pas la fin du chargement du WB, et donc le temps pendant lequel il s'exécute est déterminé "en dur" dans le programme, à l'époque, pour moi, cela signifiait 27 secondes (un bête Amiga 500 et son 68000 d'origine). Une autre restriction est que le format audio doit être un format de Amos (banque d'instruments Amos), et le fichier image doit être un IFF dans des résolutions inférieures ou égales à 32 couleurs.
  • IntroWB 68k
     A small program I wrote to be able to display - during my Amiga boot - a picture while playing some music. It was possible to change picture and music ad libitum, one just had to replace existing files by new ones.
     First restiction of this program was that it wasn't detecting the end of Workbench loading, thus its runtime length was hardcoded in the program, at this time this meant, for me, almost 27 seconds (on a plain Amiga 500 and its standard 68000). fin du chargement du WB, et donc le temps pendant lequel il s'exécute est déterminé "en dur" dans le programme, à l'époque, pour moi, cela signifiait 27 secondes (un bête Amiga 500 et son 68000 d'origine). Another restriction was the audio format that had to be an Amos format (Amos sound bank), and the picture that had to be an IFF file with lat most 32 colors.
  • IntroWB Pref 68k
     Plus tard j'ai écrit un programme permettant de configurer IntroWB depuis le WB (sisi, c'est possible facilement depuis AMOS, sans utiliser les offsets des fonctions... GuiExtension sur la Minette) mais bon ce n'était que pour me faire la main, pour rigoler quoi !
  • IntroWB Pref 68k
     Some time after I wrote a program to be able to configure IntroWB from the Workbench (yes, it's doable easily in AMOS, without using functions offsets... See GuiExtension on Aminet) but it was to train myself, just to have fun !
  • Pac-Mad 68k
     Un autre jeu, tout aussi classique, mais sur lequel j'avais passé beaucoup plus de temps. On disposait de plusieurs vies, et un seul fantôme se déplacait dans le "labyrinthe" qu'il fallait terminer le plus rapidement possible. Il existait un certain nombre de parcours différents avant d'arriver à la fin du jeu, chacun étant parsemé de bonus (ou malus :-) plus ou moins originaux (trappes, lanceur de pac-ball, etc.)
     C'est certainement le projet AMOS, sur lequel j'ai passé le plus de temps, j'avais même envisagé à une époque de définir plusieurs sortes de "mondes" dans lequels apparaîtraient des bonus spécifiques à chacun... Comme d'habitude ("coommme d'habituudeeeee...") cela n'est resté qu'un projet ;-)
    Voici quelques captures d'écran
  • Pac-Mad 68k
     Another game, almost as classic, but on which I spent really more time. Player had several lives, a single ghost was haunting the "maze" that one had to finish in as less time as possible. There was a certain number of different levels to walk throught before finishing the game, each one was scattered with bonus (or malus :-) more or less original (trapdoors, pac-ball thrower, etc.).
     It's certainly the AMOS project I spent the more time, I even think at one time to create serveral worlds, each one with its own specific bonus. As usual it only sayed a project ;-)
    Here are some screenshots
L'intro | Intro Ecran principal (en HAM6) | Main screen (using HAM6) Exemple de niveau | Sample level La barre d'information | Information bar L'écran des scores | Highscore screen Autre exemple de niveau | Another sample level
  • Solitaire 68k
     Dans un moment de détresse ludique ;-), j'avais écrit ce petit jeu que tout le monde connaît et qui consiste à enlever des pions d'un socle (généralement en bois) en les déplaçant de leur position initiale vers une autre libre des quatre points cardinaux adjacents (en fait par adjacent, il faut entendre à deux positions de la position actuelle). Ce faisant on passe par dessus un pion que l'on retire du plateau, le but étant de laisser le moins de pion possible (les plus attentifs auront sans doute noté que le meilleur score possible est de finir avec seulement un pion).
     Pour pimenter un peu ce jeu assez classique, on disposait de plusieurs plateaux plus ou moins fantaisistes mais beaucoup plus difficiles à terminer.
    Voici deux captures d'écran
  • Solitaire 68k
     During a gaming distress ;-), I wrote this small game that everybody knows and which consist in removing pawns from a board (generally wood pieces) moving them from their initial place to an empty adjacent slot in one of the four cardinal points (in fact by adjacent understand two position away from the current one). Doing this you must transit above another pawn that you will then be allowed to get out of the board. The aim is to leave as less pawn as possible on the board (most attentives would have noted that the best score acheivable is to end with one remaining pawn).
     To add some spice a little to this classical game, one had to choice between several board configuration more or less fanciful but a lot more difficult to end.
    Here are two screenshots
Ecran principal | Main screen Tableau de jeu | Game screen
  • Hawkmoon© Oriflam 68k
     Adepte des jeux de rôles, j'avais commencé (et jamais fini :-( un programme qui permettait de créer des personnages pour jouer au jeu de rôle Hawkmoon. A l'heure actuelle, il permet de créer de manière aléatoire un personnage complet, mais offre également la possibilité de créer un personnage dans un mode semi-aléatoire permettant de choisir soi-même certains traits du dit personnage. Le programme disposait d'une aide en ligne assez complète, mais non exhaustive qui permettait d'avoir de plus amples détails sur certains points (cela correspondait à une version "light" du manuel).
     Le principal inconvénient de ce programme est qu'il est en Amos et ne s'intègre donc pas au système de l'Amiga, il dispose d'une interface graphique qui me paraissait (à moi) assez intuitive, mais qui ne l'est certainement pas pour le commun des mortels ;-)
  • Hawkmoon© Oriflam 68k
     As a role player I started (and never finished :-( a program to create characters to a play role game named Hawkmoon. Currently it's able to create in a random way a complete character, but it also offers the possibility to choose manually some of the characteristics in a semi random mode. The program has an online help barely complete (but not exhaustive) giving some more details on some points (it was a sort of a light manual).
     The main drawback of this program is that it's written using AMOS and thus does not integrate to Amiga OS, it also provides a graphical interface that seemed (to me) quite intuitive, but which certainly isn't for most part of human being ;-)
  • Auto-Stat 68k
     Auto-Stat est un programme que j'avais développé pour mes prôpres besoins et qui me donnait la possibilité de gérer ma voiture. Il offre notamment la possibilité de dessiner des graphes de consommation totale, consommation kilométrique, autonomie, frais d'essence, selon plusieurs types de représentation (histogramme, courbe, point); il dispose aussi d'un journal des pleins d'essence.
     Le plus contraignant était de saisir à chaque plein d'essence la valeur du compteur kilomètrique, le volume et le montant du plein, à partir de là, il calcule toutes les données dont il a besoin.
    Comme toujours, il utilise mes fonctions de GUI (réutilisabilité, quand tu nous tiens...;-) qui font de lui un programme qui me convenait... Cependant, pour vous rassurer, je ne l'ai utilisé que pendant un an, car au bout d'un moment, j'ai découvert des programmes tout faits qui faisaient bien mieux que celui-ci.
    Voici quelques captures d'écran
  • Auto-Stat 68k
     Auto-Stat was a program I developped to suit my own needs and that enabled me to handle my car. It gave the opportunity to draw graphs about total consumption, kilometric consumption, autonomy, fuel costs... using several representation (histograms, curve, points), and also offered a refuel log.
     Most restrictive thing was to input at each refuel the kilometer, fuel volume and cost of the refuel. From this informations program calculates all the other data that it needs.
    As usual it was using my GUI functions (reusability when you possess us...;-) that made it a programm that suited my needs. But to reassure you I only used it for one year, after some time I discovered already written programms that was doing lot more and better than this one.
    Here are some screenshots
Menu principal Ecran des statistiques | Statistic screen Exemple de statistiques cumulées | Combined statistic sample Exemple de statistiques histogrammes | Histogram sample Exemple de boîte de dialogue | Dialog sample

Dernière Mise à jour : le 5 décembre 2006, Heure: 22:50:38