# FireBee

Le FireBee$^,$ est un nouvel ordinateur grand public produit (sans bénéfice!) depuis 2014 par Medusa system (en Suisse) aidé de dizaines de bénévoles. Cet ordinateur prend la suite des ordinateurs de la gamme Atari ST.
Il s'agit d'un ordinateur à technologie RISC, à base de Motorola ColdFire 5474e à 266 MHz (400 MIPS), ayant, en plus de tous les ports d'origine de l'ensemble des Atari, les ports modernes (USB, Ethernet) entièrement gérés par le ColdFire qui est un microcontrôleur.
On peut situer cet ordinateur dans la catégorie des RISC PC à processeur STrongArm mais avec un processeur compatible motorola 68k, le système TOS (et dérivés) et l'architecture des Atari ST.
De base, l'ordinateur est livré avec 60 Go d'espace disque avec plusieurs systèmes d'exploitation pré-installés : FireTOS (équivalent au TOS 4.04 des Falcon 030), EmuTOS qui est un TOS étendu capable de gérer les périphériques modernes (et compatible avec la grande majorité des émulateurs Atari ST ainsi que, sous certaines conditions, avec l'Amiga) et FreeMiNT qui est un noyau Unix existant depuis plus de 25 ans transformant cet ordinateur en un système moderne multitâche sur lequel les logiciels Un*x peuvent être portés (que ça soit en environnement graphique GEM, propre au TOS, ou en environnement X-Window, pour lequel il existe également un portage sous GEM).
En plus de ces 2 systèmes, vous pouvez installer Linux grâce à 2 distributions. La première est µCLinux, un noyau propre aux micro-contrôleurs ColdFire ne possédant pas de MMU : cette version de Linux a disparu avec le noyau 2.6 de Linux pour être intégrée dans le projet Linux principal. La deuxième distribution est celle de Debian, dont des Ataristes chevronnés ont pu adapter le noyau m68k pour être complètement compatible avec le ColdFire. La dernière version Debian (non officielle, contrairement aux précédentes) supportant les m68k étant la Debian Etch. Cela permet au FireBee de disposer d'une distribution Linux relativement moderne (noyau 3.x) avec des logiciels relativement récents.
Du fait de la très forte compatibilité du Coldfire avec la famille de processeurs 68k, de nombreux logiciels (ceux qui ont été programmés proprement, sans utiliser certaines rares instructions des 68k non recommandées) et jeux de la gamme Atari ST sont utilisables sous le Firebee (on peut citer les quelque 96 logiciels d'infographie existant sur la gamme Atari ST). À noter cependant que les logiciels utilisant le DSP du Falcon030 ne pourront pas fonctionner : même si le CF 5474 possède une unité EMAC, qui est une unité équivalente au DSP, celle-ci n'est pas compatible (et on peut noter qu'à 266 MHz cette unité traite les données beaucoup plus rapidement que le DSP à 32 MHz).
Le FireBee, au delà de cette forte compatibilité, apporte aux ordinateurs TOS une vraie puissance de traitement. Là où sur un Atari Falcon 030, auparavant, les rendus d'image raytracing, d'images jpeg, de vidéos, certains jeux GEM (tournant à 1 image toutes les 2s), étaient très lents, on a, avec le Firebee une vitesse de traitement vraiment confortable (sous certaines réserves). Le fait d'avoir de la RAM type PC au lieu de la ST-Ram n'y est pas étrangère mais c'est surtout grâce aux 400 MIPS (plus de 100 fois la vitesse du processeur 68030 du Falcon donnée à 3,84 MIPS), de la mémoire cache du processeur et qu'il ne faille pas re-tramer les images true color, qu'on a ce confort d'utilisation. De plus, la carte graphique est implémentée dans un FPGA et permet des résolutions d'écran allant jusqu'à 1900x1200 en 24 millions de couleurs (à condition que vous ayez l'écran adapté).
Du côté de l'adaptation de logiciels Linux, le FireBee contient les dernières versions des outils GCC. De plus, vous pouvez tout à loisir utiliser un des nombreux langages de programmation ayant existé sur la gamme Atari ST : BASIC (GFA, Omikron, STOS, 1000D), Assembleurs (68k et pas DSP), Langage C (Lattice C, Pure C, GCC, AHCC), langage Pascal (Alice Pascal, HS Pascal (sorti en 1990 et compatible Turbo Pascal 5) et enfin Pure Pascal (Compatible Turbo Pascal 7 et Pascal Objet)), FORTH, LISP Prolog... ainsi que Perl.

## Les raisons du projet

Les ordinateurs familiaux Atari 16 et 32 bits (ST, TT et Falcon) étaient très populaires dans les années 1980 et pendant la première moitié des années 1990. Atari s'est retiré du marché de l'informatique à partir de 1993, et définitivement en 1995-1996 lors de sa fusion avec JTS et de l'abandon du support de la plate-forme. Les systèmes qu'Atari avait construits étaient laissés de plus en plus loin en arrière au fur et à mesure que des systèmes nouveaux et plus performants faisaient leur apparition. Les rares utilisateurs qui restaient voulaient davantage de puissance de calcul pour développer des applications TOS plus abouties, ouvrant la voie à un certain nombre de "clones" comme le Milan, basé sur un 68040 et l'Hades, basé sur un 68060, les deux étant considérablement plus puissants que les TT et Falcon basés sur le 68030 et que les ST/STe à base de 68000. Ces machines supportent les bus ISA et PCI, lesquels rendent possible l'utilisation de cartes graphiques et réseaux conçues pour les PC (chose qu'aucune machine originale Atari ne pouvait faire). De plus, elles pouvaient être mises dans des boîtiers de type tour, permettant l'usage de lecteurs de CD internes.
Un nouveau clone nommé Phoenix n'est jamais arrivé sur le marché dans sa forme définitive. Cependant, le puissant CPU 68060 rev. 6 qu'il devait utiliser a servi à une nouvelle carte accélératrice pour le Falcon, les séries CT60/CT63, grâce auxquelles, pour la première fois, la plate-forme Atari a bénéficié d'un CPU cadencé à plus de 100 MHz. L'utilisation d'un bus à haute vitesse et de RAM PC133 a également contribué à une grande amélioration des performances et à augmenter de manière significative la limite de mémoire que le Falcon pouvait intégrer, passant de 14 Mio à 512 Mio avec une CT60.
Ces systèmes n'ont pas été produits en masse et sont maintenant difficiles à trouver. Alors que la carte CT60/CT63 nécessite un Falcon “donneur”, et qu'elle n'est pas encore aussi puissante que pourrait l'être un potentiel système ACP, ce dernier propose une conception entièrement nouvelle, passant d'un CPU 68K au nouveau ColdFire, plus puissant que le plus rapide des processeurs 68K bien qu'il dispose d'un jeu d'instructions très similaire (mais pas entièrement compatible). Il sera également possible d'intégrer de nombreux ports d'E/S qui ne peuvent être ajoutés sur la plate-forme Atari qu'avec des modifications matérielles coûteuses.
Une autre raison d'avoir une machine moderne est la très grande logithèque (plusieurs milliers de jeux et des centaines d'applications) des Atari ST/STE et Falcon. Parmi ces logiciels certains d'entre eux (comme Papyrus Office, Apex Media, Digital Lab,...) sont dotés de fonction n'existant pas dans d'autres systèmes. De plus, le manque de puissance pour certains traitements (jpeg, mpeg, 3D) dans la gamme ST même sur Atari Falcon 030 nécessitait d'avoir une nouvelle machine pour avoir une utilisation confortable sans ralentissement notable.

## Spécifications

Les spécifications de l'ACP ont beaucoup changé au cours du temps pour tenir compte des avancées technologiques et de l'évolution des coûts. Néanmoins, la liste suivante pourrait correspondre à la version finale, selon la page d'accueil de l'Atari Coldfire Project:
* Processeurs :
** Coldfire MCF5474, 264 MHz, 400 MIPS
** Altera Cyclone III, un FPGA, permettant de faire tourner la plupart des processeurs des machines Atari : 6850 (contrôleurs clavier et MIDI), YM2149 (son), 68901 (entrées-sorties), VIDEL (puce graphique du Falcon)
* RAM: DDR, 512 Mo - + 128 Mo RAM spéciale et vidéo intégrées, Débit : 1 Gbit/s
* Flash: 8 Mo intégrés pour les systèmes d'exploitation
* Ports d'interface compatibles Atari :
** IDE TT/Falcon,
** Lecteur de disquettes ST/TT
** SCSI TT (mais plus rapide)
** ACSI
** Port ROM : connecteur 2×2 mm
** Parallèle, port imprimante
** Série ST/TT
** Midi
** Son ST, YM2149 en plus de AC'97
** Vidéo ST/TT/Falcon
** Clavier Atari avec souris
* Autres ports :
** Ethernet 10/100, 1 Port
** USB 2.0 Host (ISP1563), 5 Ports
** Compact-Flash, 1 Port
** SD-Card, 1 Port
** Codec stéréo AC'97 avec sortie son DMA et échantillonnage en entrée à 48 kHz
** Connecteurs audio : entrée ligne, sortie ligne, Mic (Mono), DVD/CD interne
** Nouveaux modes vidéos, environ 2 MégaPixels, true color
** Port PS2 Mouse/Keyboard
* Alimenté par batterie (si souhaité)
* Connecteurs PCI 33 MHz en fond de panier passif
* Contrôleur d'alimentation avec horloge temps réel, PIC18F4520
* Slot d'extension : 60Pol (DSPI 33 megabaud, série sync ou async à environ 33 megabaud, E/S 26 bit à environ 133 MHz, bus I²C)
* RAM statique asynchrone de 512 ko pour le DSP ou pour des extensions similaires déjà prévues à l'avenir : DSP Falcon intégré au FPGA
* Format : Carte 90 × 260 × 20 mm
* Consommation électrique de la carte complète : 3 à 5 watts

## Systèmes d'exploitation

Dans la ROM de 8Mo, le FireBee dispose des logiciels préinstallés suivants :
* BaS (BasicSystem)
* config FPGA
* FireTOS
* EmuTOS
Il existe une configuration avec un environnement FreeMiNT et une interface graphique déjà prêts à l'emploi avec des applications qui ont été portées pour fonctionner sur ColdFire, le tout pouvant être commandé sur une carte CompactFlash avec l'appareil.
µClinux a également été porté sur FireBee.

## Compatibilité

Plusieurs stratégies permettent de concilier les différences d'opcodes et de jeux d'instructions entre le ColdFire et le 68K :
* FireTOS intègre une émulation 68K basée sur le gestionnaire d'exception de l'instruction illegal et sur CF68KLib
* Le programme 68Kemu (basé sur l'émulateur 68k Musashi) peut lancer des programmes 68K avec EmuTOS
* La plupart des logiciels constituant le système d'exploitation et le bureau de base ont été portés et compilés pour le ColdFire, le reste est en mesure d'être émulé
* Plusieurs paquets logiciels commerciaux et shareware pour Atari ont également été soit portés sur ColdFire, soit placés en open source afin de pouvoir être portés sur FireBee
Le FPGA du FireBee n'intègre pas pour l'instant de DSP ce qui implique que tous les programmes spécifiques à l'Atari Falcon qui nécessitent le DSP ne vont pas fonctionner. De nombreux jeux et démos Falcon l'utilisent pour jouer de la musique en tâche de fond.

## Outils de développement

* Les compilateurs C GCC, VBCC et AHCC (compatible Pure C) et leurs bibliothèques prennent totalement en charge le ColdFire
* Le désassembleur Digger supporte le ColdFire
* Les éditeurs RSC comme ResourceMaster fonctionnent sur Firebee
* Le GFA Basic a été modifié pour fonctionner avec FireTOS
* La bibliothèque SDL et ses dépendances LDG (spécifique à Atari) ont été portées sur ColdFire/FireBee