Projets PCI



English


Schéma de Rodolphe...

31 Juillet 2005. Rodolphe Czuba a lancé le projet d'extension PCI pour la CT60, une carte qui utilise un pont PCI PLX 9054 compatible avec le PLX 9080 du MILAN.

Parceque en 2005 le TOS est une sorte d'open firmware graphique, le TOS doit booter avec les principaux périphériques PCI (comme l'écran, la souris et le clavier).
Aussi j'ai planifié deux principaux drivers dans le TOS CT60 PCI :

Les drivers PCI sont chargés avec CT60 Flash Tool au format HEX (S record) au sommet de la flash, aussi les diagnostiques Atari ne sont plus valides quand les drivers PCI sont chargés.
Un troisième driver pour l'IDE semble aussi prévu.


Projet CTPCI, ajouté au TOS :


26 Janvier 2006. Il y a pas mal de travail pour ajouter le support PCI (PCI BIOS, drivers, etc...) dans le TOS, néanmoins depuis quelques mois j'attend apès la CTPCI pour tester le driver Radeon (le principal driver).

Le (X)BIOS PCI est terminée depuis Aout 2005 mais non testé.
Il manque juste le mapping des registres CTPCI (configuration et interruptions en provenance des slots) pour terminer cette partie.
Quelques appels spécifiques XBIOS pour le PLX (comme dma_setbuffer, dma_buffoper, read_mailbox et write_mailbox) sont ajoutés aux fonctions originales du (X)BIOS PCI. Le PLX est aussi le premier périphérique du (X)BIOS PCI aussi il est possible d'installer et d'utiliser ses interruptions et pas seulement les slots PCI.

L'écriture du driver Radeon est terminée depuis Octobre 2005 mais non testée.
En Novembre 2005, une solution fut trouvé pour tester et debugger la partie fVDI et les appels TOS, la version alpha courante fonctionne avec un écran Videl en 65K x 640 x 480 !
Le driver fVDI est dans le TOS mais peut aussi être appelé par la dernière version de fVDI installée dans le dossier AUTO (radeon.sys). L'implémentation de fVDI dans le TOS est réduite à la taille minimale, les appels TOS sont réecrits pour utiliser toujours les variables et structures originales du TOS. Ainsi par exemple les fontes true type ne sont pas implémentés.
Les fonctions accélérés par le hard sont pour l'instant la souris, les copies d'écran, les lignes, les remplissages, et l'écran virtuel. Les fonctions XBIOS installés seulement por le driver TOS mettent à jour les fonctions écran (comme Physbase, Vsetscreen, Vsetmode, Montype, Vgetsize, et Vsetrgb) et le nouveau CT60CONF.CPX peut configurer le choix de l'écran au boot avec 256 ou 65K couleurs en :

Le driver a bien sur aussi des modes 32M couleurs mais le TOS seul ne peut pas utiliser ces modes.
Le driver teste l'organisation des octets du pont maitre (endian) pour le PCI (X)BIOS, aussi le pont maitre ou la carte radeon peuvent permutter les octets (actuellement le (X)BIOS PCI au boot configure le PLX pour permutter les octets, aussi toutes les cartes PCI peuvent fonctionner en format Intel, le bus PCI étant un bus au format Intel).

Le driver USB est en progression, mais en pause actuellement parcequ'il est préférable d'attendre le hard et de terminer le premier driver.


Installation dans la tour :


Nous avons besoin d'espace libre pour installer au maximum les 3 cartes PCI (4 maintenant).
Personnellement j'ai planifié d'utiliser ces 3 cartes :


Les cartes attendent la CTPCI...


Bien avant que la carte mère soit déplacée...


PCI sur la carte d'évaluation M5484LITE :


3 mois sans rien faire faute de hard, et puis Mark Duckworth début Avril me propose cette carte d'évaluation Coldfire, la M5484LITE :-). Elle contient :

Il y a pas mal de travail pour faire tourner le TOS sur un Coldfire, mais c'est l'occasion pour moi d'avancer pour essayer le bios PCI et le driver pour la Radeon. La deuxième raison est bien sur de faire avancer la communautée Atari sur le Projet Coldfire Atari.

Pour le clavier, il fut facile de modifier Eiffel pour l'adapter sur un bus CAN au lieu d'un port série, pour cela j'ai installé sur le FALCON un PIC18F242 (16 bits) à la place du PIC16F876 (14 bits), la version CAN n'éxistant que sur la famille 18F, j'ai utilisé un PIC18F258 pour la M5484LITE.

Pour le TOS, j'ai réécrit le XBIOS pour gérer le port série, l'IKBD via CAN, le MFP via les timers GPT et SLT du Coldfire, la flash pour les paramètres, etc...
La CF68KLIB utilisée est celle d'un 68030, la MMU du Coldfire sert surtout a protéger le TOS copié en SDRAM. Comme sur la CT60 on retrouve de la pseudo STRAM avec le cache en writethrough, et la SDRAM avec le cache en copyback.

3 Juin 2006. Le TOS fonctionne jusqu'au démarrage du GEM, la CompactFlash est détectée mais l'écriture dans ses registres ne fonctionne pas, le bios PCI fonctionne en configuration, le VDI est inutilisable puisqu'il utilise le blitter, il faut donc que la Radeon soit utilisée via fVDI, pour cela il faut une alimentation ATX.
Il y a deux cibles maintenant, le ct60tos.bin et le firetos.hex.


Le debug sur la carte M5484LITE et Eiffel 2.0 version CAN...

28 Juin 2006. Après avoir ajouté X86EMU pour initialiser la carte Sapphire correctement sur le PCI via son VGA Bios, le (X)BIOS fonctionne sur la carte avec une résolution sélectionnée de 1024 x 768 x 65K couleurs et aussi en 256 couleurs.
La prochaine étape consiste a essayer le VDI inclus avec le TOS, la CompactFlash ne fonctionnant toujours pas.


Le boot sur la Sapphire (Radeon 7500) en 1024 x 768 x 65K avec la carte M5484LITE...

18 Aout 2006. Après avoir ajouté un ram-disque de 2 Mo, un chargement TFTP via une liste dans TFTP.INF, ayant pas mal de problèmes avec le GEMDOS sur le Coldfire, j'ai finalement utilisé et utilisé BDOS (en provenance de Emutos). Le desktop fonctionne ci-dessous en 1280 x 1024 x 65K couleurs, il y a encore quelques bugs (par exemple l'état SELECTED dans les menus, des modes graphiques transparents non accélérés, mais cela fonctionne assez bien. J'ai même lancé Aniplayer (sans le son ;-) ). Les modes 256 couleurs fonctionnent également. Pour l'instant je n'ai pas encore essayé fVDI et RADEON.SYS dans le dossier AUTO. Le fVDI utilisé ici est celui inclus au TOS et utilisant ses variables.


Le chargement TFTP et le GEM en 1280 x 1024 x 65K couleurs...

10 Septembre 2006. Passage du ram-disque à 8 Mo. Réecriture des fonctions textes de fVDI en instructions Coldfire. Modification du TOS pour qu'il fonctionne en 16M de couleurs, les icônes couleurs sont affichés en monochrome. CT60CONF.CPX permet de sélectionner les modes vidéo en 256 / 65K / 16M de couleurs pour le boot et/ou le fichier NEWDESK.INF. Kronos et Vdibench donnent de bon résultats pour les textes en 1280 x 1024 x 16M couleurs.

6 Octobre 2006. Ecriture d'un accessoire jpegsnap.acc (aucun ne fonctionnait). Ajout d'un repertoire tftpsend sur le bureau pour envoyer des fichiers vers le serveur TFTP. Petite augmentation des performances SDRAM. Essai de MiNT avec succès (les modifications se trouvent dans le fichier M5484LITE.readme).



Une capture d'écran avec jpegsnap.acc en 1280 x 1024 x 16M avec la carte M5484LITE...

8 Décembre 2006. La CompactFlash fonctionne enfin, le driver intégré au TOS peut gérer 14 partitions sur la CompactFlash. Une émulation IDE est en cours. Les protocoles XHDI et SCSIDRV sont intégrés au TOS.
Modification du modecode vidéo du XBIOS pour obtenir des fréquences différentes (56, 60, 70, 85 Hz). Ecriture d'un CPX pour tester toutes les résolutions vidéo.
Accélération du driver Radeon et du VDI du TOS (basé sur fVDI).
La prochaine étape consiste à écrire un driver Ethernet pour MiNT, essayer NFS, mais surtout intégrer DRM au driver Radeon afin d'avoir l'accélération hardware pour OpenGL.
Pour des informations actualisés chaque semaine, vous pouvez consuler le blog d'Olivier Landemarre :
Categorie Coldfire



Le CPX pour tester les résolutions vidéo et les derniers benchs...

28 Décembre 2006. Maintenant j'ai une deuxième carte graphique, une Sapphire Radeon 9250 128 Mo - 64 bits.
Les fonctions VDI textes (v_gtext, v_justified), lignes (v_pline, v_bar), remplissages (v_bar, v_recfl), et copies (vrt_cpyfm, vro_cpyfm) sont maintenant à la vitesse maximale :-).
Le TOS appelle directement les fonctions accélérés sans passer par fVDI.
Le driver reste compatible avec fVDI sous réserve que la compatibilitée ascendante soit respecté ce qui ne semble plus être le cas depuis fVDI 1.14 (vwk structure).
Les motifs de remplissages utilisateur en couleurs fonctionnent également (vsf_updat), et les rotations de texte aussi (vst_rotation) comme le TOS d'origine. Cela n'est pas supporté actuellement dans fVDI.
Voici un comparatif sous Kronos :

Kronos test Radeon 7500 Radeon 9250
VDI_CIRCLE 3943.662 (op/sec) 3943.662 (op/sec)
VDI_ARC 27164.179 (op/sec) 27164.179 (op/sec)
VDI_BAR 44250.000 (op/sec) 44250.000 (op/sec)
VDI_ELLARC 25200.000 (op/sec) 25200.000 (op/sec)
VDI_ELLIPSE 3582.090 (op/sec) 3582.090 (op/sec)
VDI_ELLPIE 637.168 (op/sec) 637.168 (op/sec)
VDI_PIESLICE 800.000 (op/sec) 802.974 (op/sec)
VDI_RBOX 19085.714 (op/sec) 19085.714 (op/sec)
VDI_PLINE 100756.219 (op/sec) 96280.000 (op/sec)
VDI_FILLAREA 1390.909 (op/sec) 1390.909 (op/sec)
VDI_GTEXT 15000.000 (op/sec) 15020.000 (op/sec)
VDI_JUSTIFIED 5914.191 (op/sec) 5973.333 (op/sec)
VDI_BLITTING 80881.188 (op/sec) 44346.000 (op/sec)

Il y a peu de différences de vitesse entre la CT60-100 et la M5484LITE, aussi je pense obtenir des résultats similaires sur la CTPCI.



La Sapphire Radeon 7500 All-In-Wonder VE 64 Mo - 128 bits (à gauche) et la Sapphire Radeon 9250 128 Mo - 64 bits (à droite)

24 Janvier 2007. Integration dans le TOS de VIDIX avec quelques nouvelles fonctions XBIOS entre 400 et 417 :

Maintenant, il est possible de passer des films en plein écran avec Aniplayer :-) (ma résolution courante est 1280 x 1024 x 16M), actuellement avec les formats de sortie RGB et YUV (MPEG par exemple).
J'ai essayé sans succès le 'bus mastering' avec la Radeon, aussi j'utilise le DMA (on trouve 16 voies sur le Coldfire et 2 voies sur le pont PCI de la CTPCI (PLX 9054).
Maintenant j'essai d'obtenir la TV sur la Sapphire All-In-Wonder VE 64 MB PCI (Radeon 7500).
DirectFB semble un meilleur choix pour avoir l'accélération 3D (supporté par Mesa).

Février 2007. Suspendu les développements sur la Radeon. Les développements sur la Sapphire All-In-Wonder VE sont-ils encore utiles avec l'arrivée de la TNT ?
Etude de l'intégration d'un OS temps réel et d'une couche TCP/IP afin d'apporter des nouveaux outils sur la carte Coldfire.
Le choix se porte sur FreeRTOS et lwIP.

Mars 2007. Ajout d'un serveur HTTP, les pages sont en mémoire flash.
Passage de la partie PCI du TOS en flash au format compressé LZ. A la décompression le TOS occupe maintenant deux parties :

La partie compressée restant de 0xE00000-0xEEFFFF (compatibilité TOS CT60 avec les paramètres en flash de 0xEF0000 à 0xEFFFFF).

Avril 2007. Ajout de serveurs TFTP et FTP utilisant le ram-disque de 8 Mo.
Ajout interpréteur de commandes via le port série (terminal) ou un serveur Telnet.

Juin 2007. Le Coldfire ne disposant pas d'un vrai bus error (ou Access Fault) comme le MC68060, protection des zones inutilisés via la MMU.
Utilisation des deux piles du Coldfire V4e (Superviseur et Utlisateur), modification de la CF68KLIB pour la faire tourner en mode superviseur et les tâches de FreeRTOS (le TOS lui-même est une tâche) en mode utilisateur.
Cela doit permettre de faire fonctionner plus de programmes sous la CF68KLIB.

Juillet 2007. Etude de l'ajout d'un codec AC97 sur le PSC2 du Coldfire.
A suivre...

Octobre 2007. Ajout via GlueStick (socket BSD via lwIP) du cookie et les fonctions STiK.
Il est possible d'appeler directement les fonctions de la couche TCP/IP via un cookie 'SOCK' :

Essai avec AFTP (STiK) et une version modifiée de Highwire (socket BSD via lwIP avec le cokie 'SOCK').

Décembre 2007. Essai d'ajouter un serveur VNC.

Janvier 2008. Ajout de la cible M54455EVB, le makefile peut maintenant créer trois cibles :

La carte de développement M54455EVB est un Atari complet très intéressant : Malheureusement le v4m ne dispose pas de FPU, et la carte est assez chère.
Modification du TOS pour la gérer : Cette cible restera pour l'instant non testée faute de carte et de candidats pour partir à l'aventure.

Mai 2008. Correction de bugs dans la couche TCP/IP.

Juin 2008. Ajout commande pour tracer les instructions émulés par la CF68KLIB afin de trouver plus facilement pourquoi certains programmes ne l'aime pas.
Correction timeout arbitreur (interrution créant artificiellement un Access Fault).

Juillet 2008. Passage de toutes les tâches de FreeRTOS en code natif excepté la tâche TOS tournant sous la CF68KLIB.
Ajout gestion des points d'arrêt dans la tâche TOS de FreeRTOS.
En cas de plantage répété du TOS, il est tué pour faciliter le débuggage via l'interprêteur de commandes de FreeRTOS.
Ajout commande pour tracer les traps appelant le TOS.

Aout 2008. Essai d'un doubleur PCI sur la M5484LITE, malheureusement il est prévu pour un BUS PCI en 5V sur ses deux connecteurs. Isolation des pistes I/O pour contourner le problème mais il n'y a plus de sécurité., car le Coldfire ne tolére que du 3V3. Certaines cartes PCI n'ont pas de détrompeur mais leurs buffers PCI sont en 5V, pour vérifier la compatibilité de la carte il suffit de la placer dans le slot unique de la M5484LITE car l'alimentation ATX se met en sécurité si la carte PCI à ses buffers en 5V (pins I/O).
Ajout d'une carte Ethernet Realtek RTL8139D PCI en plus de la carte Radeon, essai sans succés du driver rtl8139 sous MiNT.



Le doubleur PCI

Septembre 2008. Correction bug Ethernet dans le driver FEC du MCF548X.
Ajout affichage graphique des tâches de FreeRTOS dans le serveur HTTP.
Si l'URL n'est pas trouvée dans les pages prédéfinies en mémoire flash, le serveur HTTP cherche le fichier en c:\html\.
Ajout de l'USB Mass Storage sur l'USB device du MCF548X, il utilise le ram-disque de 8 Mo. Bien que le Coldfire v4e soit buggé, cela fonctionne parfaitement sur iMac, Mac-Mini et un adaptateur TNT Visiosat TVT 250 USB.
Bonne nouvelle, Rodolphe a enfin repris le routage de la CTPCI !

Octobre 2008. Boot possible sur le ram-disque à partir d'un changement de celui-ci via l'USB Mass Storage, la procédure est la suivante :

Abandon du serveur VNC faute de motivation et de place en mémoire flash.

Mai 2009. Mathias Wittau depuis le début de l'année me relance sur le nouveau projet ACP. Bien que les choix techniques ne m'interressent pas vraiment (base FPGA trop chère émulant le vieux hardware Atari, Videl préféré à une carte graphique, un seul port ethernet alors que le Coldfire utilisé en a deux, pas de CAN...), et qu'il reste à finir mon travail sur la CTPCI, j'ai proposé mon aide. Après tout il est possible que ce soit le seul Atari Coldfire (d'où son nom COLDARI). Mon premier objectif étant d'ajouter le son AC97 au Coldfire.
Ajout de la cible COLDARI, le makefile peut maintenant créer quatre cibles :

Modification du TOS pour gérer la cible COLDARI (base M5484LITE) : Ajout gestion des registres CTPCI (IDE et interruptions).

Juin 2009. Début du debug sur la CTPCI ! Le prototype étant terminé les essais peuvent commencer.
Le big endian et le little endian sont inversés dans le PLX9054.
Correction des sélections de 'device' du PLX9054 (pour chaque slot), il faut ajouter 11, currieux... Ce 'bridge' n'est pas réellement compatible avec les spécifications PCI.
Fredi Aschwanden m'a envoyé un CS4299 comme codec audio pour l'AC97 !
Ecriture du driver AC97 basé sur Linux pour les codecs, toutefois il faut écrire intégralement la partie Coldfire. Le PSC du Coldfire dispose d'un mode AC97 mais visiblement personne sur le net ne l'a déjà utilisé !
Seule la partie XBIOS du driver AC97 est facile à écrire, ayant déjà écrit un driver audio pour MagiC MAC et Aranym.
Le DMA du Coldfire pourra être utilisé pour transférer les trames AC97 mais dans un premier temps ce sera le CPU et les interruptions sachant que chaque PSC du Coldfire dispose d'une fifo de 512 octets sur TX et RX. Une trame AC97 contenant 256 bits (13 slots) soit 13 mots dans la fifo (52 octets).

Juillet 2009. Les essais CTPCI sont laborieux, il y a des erreurs sur les transferts.
Création de tests pour Rodolphe Czuba utilisant le PCI BIOS.
Correction du device dans X86EMU, seul le slot 3 pouvait fontionner ! Ce qui ne posait pas de problème sur la M5484LITE avec son unique slot. Avec cette modification X86EMU ne met plus que deux secondes pour initialiser la Radeon avec son BIOS.
Sur la M5484LITE, installation du codec audio AC97 CS4299, comme on voit sur cette photo :

Aout 2009. Rodolphe a corrigé un gros problème d'horloge sur la CTPCI. Après avoir modifié ABE et SDR, il a fait fonctionné l'ensemble CTPCI + CT60 à 105 MHz ! Essai de l'instruction move16 sur la CTPCI et débuts des essai DMA du PLX9054. Avec le DMA les essais n'avancent plus très vite.
Séparation en deux zones prefetch ou non dans la zone MEM PCI.
Correction et amélioration des transferts DMA du PLX9054, mise en place du chainage de blocs DMA si le bloc n'est pas contigue.
Sur la M5484LITE, utilisation du Comm Bus pour les transferts DMA <=> PCI, plus de 100 Mo/S en écriture.
Début des essais du driver audio AC97, la lecture des registres fonctionne mais l'écriture n'est pas fiable. Si l'on lance la lecture sonore, cela ne fonctionne pas, on voit (via une commande 'acpr' ajoutée en debug) que certains registres ont été réinitialisés comme la fréquence d'échantillonnage !

Septembre 2009. Le PLX9054 ayant des limitations sur ses zones locales PCI MEM et I/O qui doivent être de la même taille et alignés suivant la taille, le TOS CT60 a maintenant 3 cibles :

Dans le dernier cas il est impossible d'avoir une carte Ethernat (faute de place dans le mapping de la CT60), mais cela permet d'installer une Radeon de 256 Mo plus d'autres cartes sur le bus PCI.
Remplacement de la boîte de dialogue du bureau pour changer la résolution de l'écran, ayant un même aspect que VIDEOCNF.CPX :

Ajout via un bit supplémentaire dans le modecode, de toutes les résolutions vidéo supportées par le driver en plus des modes XBIOS, cela permet d'étendre les listes de résolutions à l'infini : Ajout de fonctions de textures utilisant la Radeon à partir des sources de Xfree.
Essai des moniteurs DVI et la détection des moniteurs via le port I2C sur le driver Radeon.
Test du Coldfire MCF5485 pour supporter sur la cible M5484LITE, la carte M5485EVB. Déplacement du stockage du programme en flash et des paramètres pour être compatible avec les deux cartes (2Mo de flash boot sur la M5485EVB et 4 Mo de flash boot sur la M5484LITE). Gestion du RTC RV5C387 de la M5485EVB par le port I2C du Coldfire via une tâche FreeRTOS 'RTCd'.

Octobre 2009. Mark Duckworth ayant a présent une M5485EVB, réorganisation du driver Radeon pour devenir multicible, la M5485EVB ayant un module FireEngine plus complet que la M5484LITE : le LynxEM+. Trois parties sont maintenant présentes :

Si la carte Radeon n'est pas trouvée, le LynxEM est utilisé.
Essai à suivre faute de carte...

Novembre 2009. Réintégration du driver PCI USB ohci/ehci basé cette fois sur les sources de u-BOOT.
L'essai sur la M5484LITE se fait avec la carte USB NEC utilisant un D720101 qui attend la CTPCI depuis 4 ans. Le bus PCI de la M5484LITE est à 50 MHz et le NEC donné pour un bus PCI à 33 MHz mais ca fonctionne !
Le driver, suivant les périphériques détectés gère :

La souris et le clavier sont gérés par interruptions.
Pour la clef USB, le BDOS modifié permet de gérer directement les partition DOS (2 Go), le TOS étant limité pour les partition DOS à 16 Mo.
Le protocole XHDI devrait permettre via le driver HD favori de formater les partitions en mode combiné (DOS/TOS).
Pour l'instant si la détection et l'initialisation de multiples périphériques fonctionne, il est impossible d'en faire fonctionner deux en même temps !
Sur Coldfire et en particulier pour la cible Coldari, si aucune carte graphique est détectée, un driver Videl (256/65K/16M sans plans) utilisant les mêmes ressources fVDI que les cartes graphiques reconnues est utilisé. Via les modes étendus du projet ACP, cela doit permettre d'obtenir les mêmes resolutions que la Radeon (ou le Lynx).
Adaptation de la cible Coldari suivant les dernières indications de Fredi Aschwanden (Mapping, RTC, Blitter, etc...).

Janvier 2010. Commencé le remplacement de l'AES par MyAES (merci Olivier Landemarre !), ajout sélecteur de fichiers et boites de dialogue internes.

Mars 2010. Incroyable, j'ai reçu la CTPCI !

Avril 2010. ABE7 est-il fiable ? Par 3 fois des problèmes de disque dur sont survenus (dont 2 fois perte d'une partition, la 1ère avant l'installation de la Radeon).
Le bridge PLX9054 étant beaucoup plus lent que le Coldfire V4e, ajout d'une détection du reset à froid pour ne lancer que dans ce cas le VGA BIOS X86.
Activation détection moniteurs sur la Radeon.
Correction boîte de dialogue changement de résolutions sous le bureau du TOS.
Inversion des bits d'autorisaton des interruptions dans le PCI BIOS (suite au changement du hard par Rodolphe).
Les interruptions locales du PLX9054 ne peuvent pas fonctionner (bug hard sans solution).
Réduction usage de Malloc.
Ajout piles locales pour les routines VBL, VDI, Souris, et Bconout 2/5.
Correction bug icônes jaunes (vq_color, merci à Olivier Landemarre).
Correction blocage aléatoire fifo Radeon sur certaines fonctions du VDI (v_gtext et vrt_cpyfm).
Essai du DMA (PLX9054), après mise à jour de ABE, les écritures vers la zone PCI fonctionnent (Kronos affiche 1500 Mo/S), mais les lectures bloquent la machine. Dévalidation des lectures pour l'instant (bug hard).
Essai des interruptions sur carte réseau RTL8139D + driver Milan sous MiNT sans succès (merci à Patrice Mandin, bug hard).
Modification de la carte USB2 en 3V3, merci Rodolphe.
Essai du 'bus matering' via la carte générique USB2 NEC en STRAM et via la RAM de la carte graphique Radeon sans succès (bugs hard).

Mai 2010. Démontage de la carte USB et de la carte réseau qui ont fini par créer des erreurs de parité et même la disparition de la Radeon puis la reconnaissance de la CTPCI lors du scan PCI !
Voici un comparatif du TOS VDI sous Kronos :

Kronos test Radeon 9250 / CTPCI
PCI 33 MHz / CPU 95 MHz
Radeon 9250 / M5484LITE
PCI 50MHz / CPU 200MHz
VDI_CIRCLE 2352.941 (op/sec) 3943.662 (op/sec)
VDI_ARC 19900.990 (op/sec) 27164.179 (op/sec)
VDI_BAR 64477.612 (op/sec) 44250.000 (op/sec)
VDI_ELLARC 17700.000 (op/sec) 25200.000 (op/sec)
VDI_ELLIPSE 2142.857 (op/sec) 3582.090 (op/sec)
VDI_ELLPIE 455.696 (op/sec) 637.168 (op/sec)
VDI_PIESLICE 535.316 (op/sec) 802.974 (op/sec)
VDI_RBOX 15879.024 (op/sec) 19085.714 (op/sec)
VDI_PLINE 76866.995 (op/sec) 96280.000 (op/sec)
VDI_FILLAREA 823.318 (op/sec) 1390.909 (op/sec)
VDI_GTEXT 8840.000 (op/sec) 15020.000 (op/sec)
VDI_JUSTIFIED 8827.586 (op/sec) 5973.333 (op/sec)
VDI_BLITTING 39285.149 (op/sec) 44346.000 (op/sec)

Essai et corrections du driver RADEON.SYS pour fVDI (fvdi_040.prg 07 Dec 2006), charmap ajouté depuis 2005 (ancien driver incompatible). Voici un comparatif entre TOS VDI et fVDI sous Kronos :
Kronos test Radeon 9250 / CTPCI
PCI 33 MHz / CPU 95 MHz
TOS VDI
Radeon 9250 / CTPCI
PCI 33 MHz / CPU 95 MHz
fVDI
VDI_CIRCLE 2352.941 (op/sec) 1682.243 (op/sec)
VDI_ARC 19900.990 (op/sec) 10500.000 (op/sec)
VDI_BAR 64477.612 (op/sec) 56898.000 (op/sec)
VDI_ELLARC 17700.000 (op/sec) 9411.765 (op/sec)
VDI_ELLIPSE 2142.857 (op/sec) 1565.217 (op/sec)
VDI_ELLPIE 455.696 (op/sec) 390.244 (op/sec)
VDI_PIESLICE 535.316 (op/sec) 466.019 (op/sec)
VDI_RBOX 15879.024 (op/sec) 7375.610 (op/sec)
VDI_PLINE 76866.995 (op/sec) 69980.392 (op/sec)
VDI_FILLAREA 823.318 (op/sec) 703.448 (op/sec)
VDI_GTEXT 8840.000 (op/sec) 7880.000 (op/sec)
VDI_JUSTIFIED 8827.586 (op/sec) 9142.857 (op/sec)
VDI_BLITTING 39285.149 (op/sec) 37571.707 (op/sec)

Corrections BIOS PCI (merci à Patrice Mandin).
Correction FLASH060 pour mettre à jour le hard de la CTPCI (merci à Christian Hellmuth).
Ajout résolution préférée du moniteur aux résolutions XBIOS du boot :

Modification MAGXBOOT (interne ou externe), MagiC 6.10/6.20 utilise maintenant le VDI et le XBIOS du TOS (uniquement le driver Radeon, donc pas d'USB pour l'instant).
Correction cible CTPCI1GB.BIN qui était la même fichier que CTPCITOS.BIN jusqu'à présent, mais malgrès tout cela ne fonctionne pas (accès interdit).
Réécriture de l'ouverture / fermeture de la station de travail du VDI, avant ces routines étaient celles du TOS404.
Nouveaux tests PCI pour Rodolphe pour mettre en évidence les bugs DMA.

Juin 2010. Passage du boot à la version 2.0. Maintenant les patches ne se font plus à la compilation (idée originale de Xavier Joubert) mais lors du lancement du boot. Le TOS404 patché tourne toujours en SDRAM protégé en écriture par la PMMU, le TOS404 original se trouvant en flash. Le principe de fonctionnement est similaire à l'Hades. Ce système résoud mieux le problème des licences.
Il est possible de charger séparément le TOS404, le boot et les drivers PCI :

Le BOOT contient aussi le PCI BIOS celui-ci s'adapte à la configuration (avec/sans Supervidel/Ethernat) afin de laisser ou pas le maximum d'espace (1Go) pour les zones PCI (CTPCITOS.BIN et CTPCI1GB.BIN sont donc obsolètes). Avant le hard CTPCI_1E.JED, cela ne pouvait pas fonctionner, Rodolphe interdisait l'accès de 0x60000000 à 0xBFFFFFFF.
Mise à jour avec CTPCI_1E.JED, FLASH060 fonctionne !
Suppression de l'affichage des versions hardware (ABE/SDR) au boot stocké à partir des paramètres en flash, cela ce passait mal si l'utilisateur se servait d'un autre FALCON. FLASH060 affiche toujours les versions du hard.
Détection automatique de certaines versions du hard au boot.
Détection automatique des moniteurs branchés sur la Radeon, la sélection se fait via le CPX de configuration de la CT60 et 'monitor layout' (MON.1,MON.2) : Correction largeur textes en italiques dans le driver Radeon.
Ecriture de la fréquence de l'horloge programmable CTCM avant de lancer la partie PCI (init du VGA BIOS X86 plus rapide).
Après recherches, la cause majeure des problèmes Ethernet/USB provient d'erreurs de parité, ces cartes sont des 33 MHz alors que la Radeon est une 66 MHz plus tolérante aux bruits (source Rodolphe). Si la détection des cartes n'affiche pas d'erreur de parité lors du scan PCI, le contrôleur USB NEC passe plus tard en erreur PCI irrécupérable et/ou détecte des ports inexistants.
Déconnection de la pin 1 du CY2905 de l'oscillateur 33 MHz de la CTPCI, l'horloge PCI provient maintenant via le fil blanc du générateur d'horloge (fréquence CT60 /2, /3, ou /4) :


Essai de baisser l'horloge PCI à 20 MHz (CT60 à 80 MHz) sans changement pour l'erreur de parité sur l'USB. Il est impossible de diminuer la longueurs des nappes de 80 dans ma tour sans inverser toutes les cartes. Pour l'instant la seule carte capable de fonctionner sur la CTPCI est la Radeon, ou tout autre carte graphique si un autre driver voit le jour.
Essai en poussant le bus PCI à 47 MHz (CT60 à 95 MHz), le couple Radeon / PLX9054 fonctionne toujours.

Juillet 2010. Accès direct aux registres de la Radeon.
Ajout paramètre diviseur horloge utilisateur de 2 à 6 pour la CTCM, voici un comparatif avec Kronos :

Kronos test Radeon 9250 / CTPCI
PCI 31.66 MHz / CPU 95 MHz (/3)
TOS VDI
Radeon 9250 / CTPCI
PCI 47.5 MHz / CPU 95 MHz (/2)
TOS VDI
Radeon 7500 / M5484LITE
PCI 50 MHz / CPU 200 MHz
TOS VDI
VDI_CIRCLE 2469.136 (op/sec) 2469.136 (op/sec) 3750.000 (op/sec)
VDI_ARC 18916.256 (op/sec) 18916.256 (op/sec) 28656.716 (op/sec)
VDI_BAR 47304.000 (op/sec) 47477.228 (op/sec) 66882.000 (op/sec)
VDI_ELLARC 17227.723 (op/sec) 17227.723 (op/sec) 26100.000 (op/sec)
VDI_ELLIPSE 2253.521 (op/sec) 2253.521 (op/sec) 3396.226 (op/sec)
VDI_ELLPIE 472.131 (op/sec) 478.405 (op/sec) 620.690 (op/sec)
VDI_PIESLICE 566.929 (op/sec) 569.170 (op/sec) 779.783 (op/sec)
VDI_RBOX 16114.851 (op/sec) 16114.851 (op/sec) 16563.184 (op/sec)
VDI_PLINE 72676.617 (op/sec) 72676.617 (op/sec) 134460.000 (op/sec)
VDI_FILLAREA 900.000 (op/sec) 900.000 (op/sec) 1291.139 (op/sec)
VDI_GTEXT 8500.000 (op/sec) 8540.000 (op/sec) 15860.000 (op/sec)
VDI_JUSTIFIED 8296.296 (op/sec) 8334.884 (op/sec) 7255.061 (op/sec)
VDI_BLITTING 36611.765 (op/sec) 36611.765 (op/sec) 100362.000 (op/sec)
STRAM_READ 7.833 (Mo/sec) 7.813 (Mo/sec) 64.807 (Mo/sec)
STRAM_WRITE 12.660 (Mo/sec) 12.660 (Mo/sec) 74.954 (Mo/sec)
STRAM_MOVE 4.851 (Mo/sec) 4.851 (Mo/sec) 34.766 (Mo/sec)
VIDEO_READ 5.870 (Mo/sec) 7.078 (Mo/sec) 37.038 (Mo/sec)
VIDEO_WRITE 1530.998 (Mo/sec) 1524.441 (Mo/sec) 95.326 (Mo/sec)
VIDEO_MOVE 1122.387 (Mo/sec) 1122.387 (Mo/sec) 2394.818 (Mo/sec)

Bien sur pour cela il faut cabler l'horloge PCI sur la sortie OUT1 (pin1 du DS1085) de la CTCM :

Essai de baisser la fréquence de l'horloge PCI à 16 MMhz (/6) pour un ultime test USB, cela ne fonctionne pas la CT60 sort en exception lors de l'accès sur les zones PCI (délais trop court).
Ajout émulation monochome jusqu'à 1024 x 768, la conversion en 256 couleurs se fait via la Radeon pendant la routine VBL si l'écran a besoin d'être mise à jour. Avec les performances actuelles du PLX (pas de burst), le mode 640 x 400 en continu (chaque VBL) utilise près de 50% du temps CPU (bus PCI à 33 MHz) :

Aout 2010. Réécriture de CHGRES.PRG pour MagiC.
SpeedoGDOS fonctionne mais n'est pas vraiment stable (avec/sans CTPCI/Radeon il y a des problèmes de cache, par exemple QED plante aléatoirement). Pour le lancer du dossier AUTO, il faut couper les caches and les remettre ensuite. Ajout du test dans le TOS.
Maintenant le TOS via la fonction Vsetscreen contrôle si le driver Radeon driver installe rééllement la résolution sélectionnée par le modecode, sinon il met à jour le modecode. On peut voir le résultat avec le bouton 'Test' dans VIDEOCNF.CPX.

Septembre 2010. NVDI 5.03 fonctionne avec l'écran du boot. Il faut renommer les fichiers NVDIDR*.SYS dans le répertoire de NVDI (merci à Claude Labelle).
Ajout d'un patch XBIOS pour NVDI, maintenant le TOS écrase le XBIOS de NVDI en installant le XBRA '_PCI' en tête de liste quand NVDI est trouvé. Le résultat : NVDI 5.01 fonctionne et il est possible de changer la résolution et d'avoir la liste des résolutions avec Vsetscreen !
Correction du TOS pour que NVDI fonctionne avec MagiC et le nouveau CHGRES.PRG.
Ajout d'un paramètre en flash et d'une option dans CT60CONF.CPX pour ajouter une sortie debug dans video.log.
Ajout d'un second test de la CTPCI avant d'appeler les patches et de copier le TOS en SDRAM parceque plus loin la CTPCI est toujours détectée par le PCI BIOS ???
Correction de bugs dans le VDI dans les fonctions v_fillarea (line), v_rfbox (user pattern), et v_locator (merci à Claude Labelle).
Correction de la fonction VDI v_contourfill utilisée par beaucoup d'applications graphiques (remarque : Cette fonction n'est pas implémentée dans fVDI).

Octobre 2010. Correction division par zéro dans la routine de clipping.
Correction de la fonction VDI vrt_cpyfm en 65K couleurs.
Test for obtenir le fonctionnement de MagiC 6.20 avec NVDI.
Maintenant il ne reste plus qu'à attendre la correction des problèmes hardware pour le fonctionnement des cartes PCI USB/Ethernet.

PCI sur la carte FIREBEE :


Octobre 2010. J'ai contacté Fredi pour continuer mon travail sur la 4ème cible, le Firebee (ancien nom du projet Coldari) suspendu depuis Janvier.
N'ayant pas de PC, l'idée est de travailler comme la M5484LITE, et utiliser dBUG pour charger le TOS. Ainsi la première étape est de recompiler dBUG pour le FIREBEE :

Le TOS utilise l'émulation Videl via le FPGA qui a aussi des modes étendus. J'ai remplacé les routines hard de la Radeon par des routines utilisant le CPU en 256/65K/16M couleurs, mais la routine de remplissage par défaut de fVDI est très lente.
La CompactFlash fonctionne en acccès 16 bits.
J'ai connecté la carte Eiffel via la fiche RJ12 mais il y a des problèmes pour envoyer les commandes IKBD.
Les interruptions sur l'USB ne fonctionnent pas mais Fredi à corrigé rapidement le problème. La souris et le clavier USB fonctionnent !
J'ai placé le code FPGA dans le link pour le charger par le TOS sans avoir à flasher la carte.
La documentation HYP de la CTPCI est en cours, merci à Sascha !
J'ai acheté une carte Radeon 9200 pour essayer le Firebee sur le bus PCI.

Novembre 2010. Réécriture de la routine de remplissage par défaut de fVDI par du code natif Coldfire, maintenant c'est plus rapide. La détection du moniteur fonctionne via le port I2C.
Fabrication d'un bus PCI passif avec le riser PCI et le 4ème slot initilisé de la CTPCI, beaucoup de fils à souder...


La carte Radeon 9200 connectée au Firebee...

Et la Radeon fonctionne, c'est l'Atari le plus rapide, juste 2 secondes pour initialiser la carte avec X86EMU !
J'ai echangé la Radeon 9250 et la 9200 avec mon Falcon, parceque la Radeon 9250 alimentée par le Firebee utilise moins de puissance (total 2A en entrée).
Fredi a corrigé les horloges, maintenant Ethernet et les modes videacute;o sont meilleurs et je peux voir la version de Eiffel au boot !
Correction NVM et paramètres en flash.
Modification de FLASH060 pour mettre à jour la carte.
Modification de la CF68KLIB pour essayer de corriger le passage d'un octet sur la pile avec les programmes PURE C (incompatibilitée entre le Coldfire et le 68K) :-(
Essai avec une disque IDE de 2,5 pouces sur le port IDE, ce port est à l'adresse 0xFFF00040 ! Fredi a placé un bit pour échanger les ports avec la CompactFlash comme la CTPCI, le choix et l'ordre de boot étant modifiables avec CT60CONF.CPX. Le port IDE fonctionne aussi maintenant en accès 32 bits.


Les benchs sur Firebee/Radeon sans DMA et la CompactFlash utilisée comme disque...

Décembre 2010. Essai du Floppy sur le Firebee, la lecture fonctionne mais pas l'écriture, le FPGA n'émulant pas le contrôleur AJAX du FALCON.
Ajout du driver SD-Card à partir des sources de Fredi.
Essai de l'USB Mass Storage avec les contrôleurs OHCI et EHCI du NEC PCI sur le Firebee. Mais les clefs USB fonctionnent seulement quand la Radeon charge le BUS PCI sinon j'obtiens des timeouts et des erreurs PCI non réccupérables comme la M5484LITE.
Quelques changements ajoutés à BDOS pour corriger un bug avec les clusters de 32Ko (partitions de 2Go).
Si le BAS est installé, maintenant il est possible d'utiliser ethernet sans dBUG avec quelques limitations (3 paramètres utilisés) :

Ajout du XC9572 pour l'Ethernat à FLASH060.

Janvier-Février 2011. Nous sommes en 2011, et il n'y a aucune nouvelle au sujet de la correction des problèmes hard sur la CTPCI :-(
Supression des sources Linux AC97. Réécriture et essai du driver AC97 Coldfire sur le Firebee (activé aussi sur la M5484LITE) :

Sur les cibles Coldfire, ajout de l'émulation FPU pour les valeurs immédiates.
Réécriture du MP3 dans Aniplayer pour le Coldfire (avec les instructions MAC on a 22% de charge CPU moyenne utilisée).


Aniplayer avec le MP3 réécrit pour le Firebee utilisant le driver GSXB AC97...

Mars 2011. Correction lecture MP2 et MPEG sur Aniplayer pour le Coldfire.
Essai de la fonction XBIOS Vsetscreen testée dans tous les nouveaux modes pour la carte Radeon. Ajout et essai des commandes CMD_FILLMEM, CMD_COPYMEM, CMD_TEXTUREMEM et CMD_GETVERSION pour une accélération XBIOS.
Ajout de la fonction XBIOS Vsync pour la carte Radeon.
Ajout rejet des modes pour horloges au delà de 135 MHz qui ont des problèmes de température avec la sortie DVI sur RV100 (cartes Radeon 7000).
VIDEOCNF.CPX, ajout du fichier de configuration video.cnf pour XAAES.
Cible Firebee :

Avril 2011. Ajout des sous fonctions accelérées CMD_LINEMEM, CMD_CLIPMEM, et CMD_SYNCMEM au Vsetscreen du XBIOS (Radeon).
Sur les cibles Coldfire ajout du support 'plug and play' pour l'USB utilisant une tache de FreeRTOS. Mais il y a des problèmes quand on connecte la souris ou le clavier une seconde fois, le résultat est 'Device Not Responding' avant de démarrer à nouveau le driver souris/clavier. Ajout d'une correction qui fonctionne avec la souris mais semble ne pas fonctionner avec mon clavier. La couche USB utilise les sources de U-Boot, c'est plus facile à utiliser que Linux mais il y a quelques limitations.
Correction de beaucoup de bugs dans les drivers XHDI (boot IDE et drivers SD-CARD/USB).

Mai 2011. Cible Firebee :

Juin 2011. Correction d'un affreux bug avec la fonction VDI vst_rotation sur toutes les cibles.
Ajout de la sous fonction CMD_BLANK au XBIOS Vsetscreen (Radeon), cela fonctionne aussi sur le Firebee avec le FPGA et les modes Videl ACP.
Ajout d'un autre menu de boot et possibilitée de secours sur la cible Firebee :

Sur la cible Fireebee, activation de la fonction XBIOS Bconmap avec pour numéro 6 pour le MFP, 7 pour le PSC0 qui remplace le SCC (par défaut comme le FALCON), voici la table 'baud' pour la fonction Rsconf (MFP et PSC0) :
Index0123456789101112131415
MFP1920096004800360024002000180012006003002001501341107550
PSC0192009600480036002400200018001200600300230400115200576003840015360076800

Juillet 2011. Essai de correction des problèmes de boot avec la flash de la CT60 en lisant jusqu'a 4 fois le TOS en flash si le CRC est mauvais avant d'appliquer les patches en SDRAM.
Si le Supervidel est trouvé, le TOS utilise la routine Bconout par défaut qui utilise le blitter.
Cibles Coldfire :

Aout 2011. Correction de offscreen_free.
Correction de la détection du changement sur le port 5 du contrôleur USB EHCI.
Ajout message d'alerte USB.
Sur les cibles Coldfire V4e, ajout du cookie 'DMAC' pour un usage externe du DMA.
Lancement du driver AC97 driver une seconde fois (second reset à chaud) en cas d'erreur (Firebee).
Ajout d'un patch pour MiNT et sa routine d'interruption IKBD TOS < 2.0 pour obtenir la compatibilité avec le TOS 4.04 pour l'USB2 utilisant Kbdvbase().
Sur la cible Firebee et le TOS démarré à partir du choix du menu de boot 'TOS404 for MiNT', le driver FEC est stoppé et sa tâche tuée quand le cookie 'MiNT' est détecté.
Sur M5484LITE/FIREBEE autorisation de l'interruption XLB PCI.
Dans la CF68KLIB, supprimé fix_predecrement/fix_postincrement quand 'address error' survient avec MOVE.B/W/L (An)+, et MOVE.B/W/L -(An), avec les modes d'adressage invalides.
Sur la cible Firebee, ajout de la désélection des 8 périphériques SCSI et des 4 périphériques IDE via le CPX.
Sur la cible Firebee, modification pour le 'Device Errata 26', maintenant USB Mass Storage fonctionne bien (PCI <=> Flexbus).
Sur la cible Firebee, activation de l'interruption XLB PCI, maintenant l'abort crée une interruption de niveau 7 redirigée sur 'access fault'. Ainsi maintenant les accès sur les espaces inutilisés du bus PCI sur IO et MEM créent un 'access fault'.

Septembre 2011. Ajout du support de bus multiple dans le PCI BIOS, maintenent les limites sont :

J'ai reçu deux cartes PCI pour tester les changements dans le PCI BIOS, un adaptateur PCI vers PCIe et une carte USB2 PCI express.


L'adapateur PCI/PCIe et la carte USB2 PCIe connectées sur le Firebee...

J'ai essayé aussi sans succès ces deux cartes avec la CTPCI. Rodolphe n'as pas de temps libre actuellement pour corriger les bugs hardware (arbitration et/ou DMA).

Octobre-Novembre 2011. Corrigé le possible appel IDE invalide (mauvais périphérique) dans la routine de boot après la détection des périphériques SCSI (par exemple avec la touche ALT cela plantait). Ce bug est très vieux, mais depuis la CTPCI, la routine IDE est prête pour un second port et ce second port n'est pas implémenté dans le hardware actuel aussi il est possible d'obtenir un plantage (accès invalide sur le second port IDE de la CTPCI).
Sur toutes les cibles, ajout des lecteurs ATAPI à SCSIDRV. Le FIREBEE et le FALCON avec la CT60/CTPCI ont IDE et IDE2 (IDE pas compatible). Cookie SCSI ajouté avant le lancement de la séquence de boot du driver du disque dur.
Ajout d'un driver CD SCSI pour booter avec les CD-backups d'Extendos et un driver CD ISO9660 pour les restaurations via un popup menu durant le boot quand un CD/DVD est trouvé.
Ajout d'un encodeur/décodeur LZMA pour une meilleure compression des drivers.

Décembre 2011. Sur la cible Firebee, ajout du cookie 'PEXE', cette valeur est un pointeur qui utilise la basepage comme paramètre sur la pile pour essayer de patcher les programmes Pure C avec un OS externe.

Février 2012. Depuis Janvier, Rodolphe travaille de nouveau sur la CTPCI :-)
Ajout de FreeRTOS sur la cible CT60/CTPCI et la tâche HUB USB.
Sur CTPCI correction du test inversé des bits du registre PEND, et finallement supprimé ce test qui occasionne des boucles dans la routine d'interruption PCI.
Essai à nouveau, avec le dernier fichier jedec pour la CTPCI (CTPCI_1L), de l'adaptateur PCI/PCIe et de la carte USB2 PCIe. C'est beaucoup mieux, les interruptions fonctionnent et le driver ethernet RTL8139 d'OZK tourne, mais il y a des blocages total du système avec ethernet et aussi USB Mass Storage (la plupart du temps quand le DMA écrit dans la RAM locale). Ajouter des boucles d'attente semble réduire les problèmes mais dégrade la vitesse des transferts, par example sur l'USB vous devez remplacer la temporisation de 1uS entre deux lectures du registre d'état par une temporisation de 10 mS, et pour ethernet j'ai utilisé (juste pour tester) une tâche d'interruption avec le driver RTL8139 d'OZK qui ajoute un délais après après l'interruption. Ceci d'est pas une solution viable pour une version finale (car trop dépendant du matériel).

Mars 2012. Cible CT60/CTPCI:

Avril 2012. Sur la cible CT60/CTPCI, ajout d'une solution de contournement pour les blocages (il semble que c'est un 'deadlock') avec une nouvelle fonction XBIOS ctpci_dma_lock (du PCI BIOS) pour une solution de contournement hardware (pas prête, Rodolphe est occupé par son travail). La nouvelle fonction est vide parceque j'ai besoin d'informations de Rodolphe (un nouveau registre CTPCI).

Mai 2012. Sur la cible CT60/CTPCI le driver FEC driver est stoppé et sa tâche tuée quand le cookie 'MiNT' est détecté.
Ecriture des drivers RTL8139, XIF for MiNT et STX pour Sting (le TOS peut utiliser le driver interne LwIP).
Réécriture des routines conout en C pour le Videl ou carte graphique (avec ou sans plans, avec ou sans routines d'accélération à partir des drivers). Utilisation des tables en 0xE13268 des routines VT52 du TOS404, ces routines utilisent le registre A4 comme pointeur Line A. Pas utilisé sur les cibles Coldfire, il y a un plantage lors du changement de résolution.
Sur la cible Firebee, ajout d'un compteur de 5 tentatives pour le test du clavier IKBD, ceci doit corriger les problèmes d'interruption inhibée (souvenez vous qu'il faut inhiber les interruptions IKBD quand le RJ11 n'est pas connecté pour supprimer les interruptions avec les caractères reçus nuls qui augmentent la charge CPU).
Correction serveur telnet, et ajout sur la cible CT60/CTPCI.

Juin 2012. Ajout support IDE LBA 48 (réduit à 32 bits pour le XBIOS) sur toutes les cibles excepté la M5484LITE parceque les équations bugguées dans le CPLD on besoin d'accès 16 bits sur les registres IDE).

Juillet-Aout 2012. Trouvé une nouvelle solution pour un serveur VNC (l'idée date de Décembre 2007 !), mais cette fois pas intégrée au TOS (faute de place).
Son nom est aVNCServ, voici les caractéristiques :

Téléchargement pour le Firebee ou la CT60/CTPCI/Radeon : avncserv.tgz

Septembre 2012. Sur la cible CT60/CTPCI, ajout d'une option pour inhiber XHDI et SCSIDRV installés par le TOS (via les réglages CPX et les paramètres en flash de la CTPCI).

Novembre 2012. Améliorations sur la cible Firebee :

Mise à jour du hard avec le dernier fichier jedec CTPCI_1N.JED, mais ce dernier ne corrige pas les blocages hards visibles avec des transferts USB Mass Storage ou une carte Ethernet PCI.

Décembre 2012. Dans lwIP, remplacement du sémaphore utilisé par select() par un masquage des interruptions (plus rapide).
Ajout du serveur HTTP de base à la cible CT60, l'idée étant de mettre à jour la flash avec le TOS comme le Firebee. Changement du port utilisé à 8080.
Correction du bug avec le clavier USB US (et non français ou allemand), où les tables shift_table et altgr_table sont nulles.

Janvier 2013. Cible Firebee :

Ajout support Videl monochome (VT52 et VDI) sur les cibles Coldfire à partir de l'émulation monochome de la Radeon. L'idée est d'augmenter la vitesse de boot comme l'Hades.

Février 2013. Sur la cible Firebee, à nouveau quelques corrections pour utiliser Emutos à partir du boot du TOS:

Mai 2013. Rodolphe actuellement n'a plus le temps de continuer sur la CTPCI.

Juin 2013. Publication de la version officielle de Aniplayer 2.23 pour le décodage MP3 sur le Firebee utilisant les instructions MAC du V4e et aussi pour utiliser l'interface VIDIX et lire les formats videos donnant du YUV en plein écran sur la Radeon.

Janvier 2014. Je constate que je n'ai pas allumé beaucoup mon Falcon l'année dernière faute de temps principalement.
Correction IDE, le mode LBA48 était utilisé à partir de 8 Go au lieu de 128 Go.
Sur les cibles Coldfire, correction plantage de la tâche HUB USB sur un accès XHDI de MiNT.
Correction période système sur le Firebee (horloge à 132 Mhz et non 133).
Pas de nouvelles de la CTPCI, heureusement qu'il y a toujours de l'activité sur le Firebee pour poursuivre les développements. Après bientôt 9 ans depuis le lancement de l'idée du projet (2005), Rodolphe devrait peut-être diffuser ses sources à ceux qui utilisent encore la carte. Ou alors faut-il attendre sa retraite pour utiliser normalement ethernet et l'USB sur la CTPCI ?


Archive Version Taille Ordinateur
TOS drivers tos_drivers.lzh 1.01 27 Juillet 2011 2756 Ko CTPCI/FIREBEE