DCEXEL - Notice
Version : 2024.05.12
DCEXEL est un émulateur pour Windows des ordinateurs 8 bits Exelvision.
Auteur : Daniel Coulom
Site web : dcexel.free.fr
Ordinateurs et périphériques émulés
La version actuelle émule l'EXL100, l'Exeltel, l'Exeltel VS, l'Exeltel VX Amper, le Comtel, l'Exelmémoire
16K et 64K, le lecteur-enregistreur de cassette, l'Exeldisk, l'Exelmouse, l'imprimante série, la boîte
de rythmes ExelDrums, y compris les sons non documentés par Exelvision.
Avertissement
DCexel est un logiciel en développement constant, et peut contenir un grand nombre d'anomalies.
Si vous constatez un fonctionnement différent de celui du matériel réel, il faut le signaler à
l'auteur, pour lui permettre d'inclure la correction dans la version suivante.
Licence
DCEXEL est distribué gratuitement dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE.
Pas même la garantie qu'il peut fonctionner avec votre ordinateur ou répondre à vos objectifs.
- Il peut être utilisé librement dans un cadre privé, mais il ne doit en aucune façon servir
à des fins commerciales, ou publicitaires, ou de promotion de site internet.
- Tous les fichiers et copies d'écrans produits par DCExel sont exclusivement à usage privé.
Il n'est pas permis de les diffuser publiquement, sauf dérogation écrite accordée par l'auteur.
- Les sources sont encore en constante évolution, c'est pourquoi elles ne sont pas fournies.
Le désassemblage ou "reverse engineering" est autorisé, mais il est beaucoup plus simple
d'interroger l'auteur sur les méthodes et algorithmes employés.
- La rediffusion de DCEXEL est autorisée uniquement par un lien vers la page d'accueil du
site officiel, pour éviter la prolifération de versions obsolètes, incomplètes ou modifiées.
Installation
Configuration requise
Processeur Pentium ou compatible Pentium, fréquence 300 MHz ou plus.
Windows 98/ME ou Windows 2000/XP/Vista/Seven et suivants.
Carte graphique avec résolution minimum 640x480, 65536 couleurs ou plus.
Carte son obligatoire.
Procédure
Décompressez le fichier .zip dans un répertoire.
Créez un raccourci vers le programme (facultatif).
Utilisation
Lancez le programme dcexel.exe par un double-clic ou utilisez le raccourci.
Choisissez votre langue (Menu Paramètres).
Consultez l'aide en ligne du programme et la documentation du site dcexel.
La configuration du clavier peut être affichée (Aide/Clavier EXL100).
Les logiciels utilisables avec l'émulateur sont disponibles sur le site dcexel sous forme d'images de
cartouches, de cassettes et de disquettes.
Faux positif avec les programmes anti-virus
Les ROMs Exelvision contiennent des séquences d'octets qui ressemblent parfois à des signatures de virus.
De plus l'exécutable dcexel.exe est compacté avec UPX, et lance six processus dcexeldrums.tmp pour
émuler les six canaux des Exeldrums. Ce comportement paraît suspect (à tort) à plusieurs programmes
anti-virus, qui peuvent éventuellement empêcher l'émulateur de fonctionner normalement. Si c'est le cas, il
faut paramétrer l'anti-virus pour ne pas scanner dcexel et lui permettre de lancer les processus dcexeldrums.
Historique
Version 2024.05
- L'outil de mise au point a été intégré dans cette version. Il n'y a plus de version spéciale pour les développeurs.
Version 2023.10
- Modification de la scrutation du clavier pour assurer la compatibilité avec Windows 11.
(La touche de VK_CODE 0 n'existe pas mais elle est considérée comme enfoncée).
Version 2021.10
- Correction de la gestion du clavier pour ne pas envoyer deux fois la même touche tant qu'elle n'est pas relâchée.
Version 2020.06
- Refonte de la gestion du clavier pour éviter les latences dans les jeux.
- Nouvelle option pour utiliser ou pas l'accélération matérielle de DirectDraw.
Version 2012.08
- Correction d'une anomalie lors de la restauration des deux paramètres de volume du son.
- Les processus de contrôle des six canaux exeldrums ne sont pas lancés en l'absence d'exeldrums.
- L'indicateur de présence des exeldrums est maintenant restauré correctement au démarrage.
Version 2012.04
- Ajustement des temporisations des entrées/sorties pour minimiser les blocages de programmes.
- Ajout d'un nouvel outil graphique pour émuler le clavier de l'EXL100 en utilisant la souris du PC.
- Rafraîchissement de l'écran quand le registre BAPA du processeur vidéo est modifié.
- Ajustement de la couleur magenta pour un rendu plus réaliste de la palette Exelvision.
- Légère modification de l'organisation de la barre de menu.
- Diverses corrections et améliorations mineures.
Version 2011.10
- Correction d'une anomalie d'affichage des caractères clignotants.
- Ajout d'un signal sonore pendant le fonctionnement de l'imprimante série ou de l'imprimante parallèle.
- Ajout de l'émulation de l'imprimante parallèle.
- Fermeture automatique du fichier d'impression pour permettre sa consultation sans quitter dcexel.
- Nombreuses améliorations techniques sans incidence visible sur le fonctionnement de l'émulateur.
Version 2010.12
- Possibilité de sélectionner la ROM du lecteur de disquette parmi les quatre versions connues
- Réglage deux fois plus fin du volume du son pour la sortie cassette et le synthétiseur vocal
- Refonte totale de l'émulation Exeldrums avec les échantillons réels de tous les instruments
- Quelques améliorations techniques de l'émulateur sans impact majeur sur son utilisation
Version 2010.06
- Version développeur : nouvelle fonction de chargement d'un fichier binaire en mémoire video
- Version développeur : nouvelle fonction de chargement d'un fichier binaire en rom ou en ram
- Ajustement de plusieurs tables de paramètres de la synthèse vocale
- Amélioration de l'émulation TMS5220 pour un meilleur rendu des sons 'unvoiced' et mixtes
Version 2010.05
- Ajout d'un filtre passe-bas à la sortie cassette pour retrouver la sonorité de la vraie machine
- Correction d'une erreur d'arrondi provoquant des oscillations parasites du son de la sortie cassette
- Correction d'une anomalie d'allocation dynamique de mémoire pour la cassette
- Message d'avertissement (optionnel) en cas de lecture après la fin de la cassette
Version 2010.03
- Nouvelle fonction pour simuler le clavier avec le contenu du presse-papier
- Suppression de la limite de taille des cassettes
- Amélioration du son de la sortie cassette, par intégration du signal sur la période d'échantillonnage
- Version développeur : affichage des paramètres du timer 3 du TMS7042
- Version développeur : mémorisation des adresses des dumps mémoire et VRAM
- Version développeur : boîtes de dialogue distinctes pour le CPU et pour le VDP
- Plusieurs améliorations mineures de l'émulation du tms7000
- Plusieurs améliorations mineures de l'émulation du tms3556
- Programmation de la fonction 6 du tms7042 : initialisation du port série et du timer 3
Version 2010.02
- Intégration de la rom 6100 et du générateur spécifiques de l'Amper
- Outil de mise au point : ajout de libellés à l'affichage des pages mémoire
- Outil de mise au point : la position des ascenseurs d'affichage des registres reste fixe pendant l'exécution
- Outil de mise au point : point d'arrêt non modifié par l'exécution et sauvé dans le fichier .ini
- Outil de mise au point : adresse de début du dump vram paramétrable et contenu de la vram modifiable
- Correction d'une anomalie dans la fonction de rechargement de tous les fichiers images
- Emulation imparfaite et provisoire de la boîte de rythmes ExelDrums
- Ajout d'un paramètre pour supprimer l'accélération matérielle de l'affichage
- Amélioration du mode plein écran pour permettre l'affichage du Gestionnaire des tâches
- Remplacement de Alt-Entree par PageUp et PageDown pour changer de mode écran
- La touche d'émulation du bouton de Reset est sélectionnable dans les options
- La recharge des cartouches ne réinitialise plus le système
- Simplification du traitement de fin de cassette (suppression du message)
- Amélioration de la vitesse d'exécution de l'outil de mise au point
- Ajout d'une option pour la sauvegarde automatique des fichiers images
- Programmation de la fonction 7 du tms7042 (envoi du contenu de la rom 6100)
Version 2010.01
- Fichiers image (cassette, disquettes, exelmémoire, cartouches) stockés en mémoire
- Nouvelle fonction, avec raccourci clavier, pour recharger tous les fichiers images
- Nouvelle fonction, avec raccourci clavier, pour sauver tous les fichiers images modifiés
- Réglages de volume distincts pour le synthétiseur et le son cassette
- Emulation du changement de fréquence du synthétiseur de parole TMS5220
- Emulation du jingle à l'initialisation du processeur d'entrées/sorties
- Emulation des sons de la rom 6100 (pour les machines concernées)
- Suppression de l'outil de mise au point des programmes dans la version standard
- Nombreuses améliorations de détails et corrections d'anomalies
Version 2009.12
(Version intermédiaire à diffusion restreinte)
- Taille des copies d'écran paramétrable pour les adapter au mode 80 colonnes
- Emulation de l'exelmémoire 64K
- Emulation du mode 80 colonnes
- Distinction de la cartouche de l'ordinateur et de la cartouche du lecteur de disquette
- Ajout de l'émulation Exeltel, Exeltel VS, Amper, Comtel
- Correction de plusieurs instructions du microprocesseur. Exeltexte fonctionne
Version 2009.08
- Ajout de l'émulation de l'exelmouse, utilisable en particulier dans exelpaint
- Correction de la vitesse du timer du TMS7041 : Descente et Slalom fonctionnent
- Correction d'une anomalie dans le debugger (destruction d'une zone mémoire)
Version 2009.03
- Petite modification du code envoyé en cas d'appui simultané sur plusieurs touches
- Ajout d'un paramètre pour forcer la taille de la RAM VDP de l'EXL100 à 64 Ko
- Suppression de la ligne de statut en mode "mapping"
- Programmation des modes grille et soulignement du TMS3556
- Pas de mise à jour en temps réel du fichier .cram pour un temps d'accès exact à l'exelmémoire
- Nouvelle option pour simuler un moniteur monochrome
- Dans les paramètres, nouveaux boutons pour sélectionner les vitesses mini et maxi du processeur
- Mise à jour des signaux de synchronisation ligne et trame dans le registre STATUS du TMS3556
- Correction d'une anomalie d'incrémentation des pointeurs du TMS3556. VegaX4 fonctionne
Version 2009.02 SP1
- Contrôle supplémentaire du nombre de cycles pour éviter une situation de blocage
- Correction de la fréquence par défaut du processeur : 2455 kHz. Le timer reste à 4910 kHz
Version 2009.02
- Emulation du son en sortie de l'interface cassette
- Correction d'une vingtaine d'erreurs dans la table de décodage du clavier
- Nouvelles options de compilation pour créer une version Windows d'un programme Exelvision
- Modification de la structure des fichiers .mrx pour sauvegarder aussi la cram et la ram disk
- Nouvelle fonction de mise au point : dump mémoire CPU ou VDP dans un fichier binaire
- Réglage du volume du son dans la boîte de dialogue des paramètres
- Affichage des paramètres divers dans la boîte de dialogue de mise au point
- Ajout d'un paramètre pour permettre l'écriture en ROM
- Emulation partielle du MC14497 et refonte complète de la gestion du clavier
- Programmation du protocole de communication entre le TMS7041 et le TMS5220
- Emulation du synthètiseur vocal TMS5220
- Refonte complète des communications entre le TMS7020 et le TMS7041
- Correction d'un blocage dans le champ d'astéroïdes de Wizord
Version 2009.01
- Correction du bug de couleur des caractères alphanumériques dans 10.000 (jeu de dés)
- Correction du bug de clignotement du curseur exelbasic
- Correction des anomalies de couleur en mode videotex
- Correction de l'erreur 'instruction invalide' dans car-crash
- Correction des anomalies de gestion des pointeurs ram vdp (Algos, Kung-Fu)
- Traitement correct du clavier lorsque plusieurs touches sont enfoncées simultanément
- Extinction automatique de l'écran après 8 minutes d'inactivité
- Emulation des lecteurs de disquettes A: et B:
- Envoi d'un code retour dans R32 en fin de fichier cassette
- Nouvelle boîte de dialogue Périphériques (cartouche, exelmémoire, exeldisks, cassette)
- Ajout de la répétition automatique des touches
- Refonte de la barre de statut, avec informations sur les deux unités de disquettes
- La boîte de dialogue de mise au point permet de modifier les registres du tms3556
- Ajout de la ram exeldisk dans les fichier de sauvegarde de l'état de la machine
- Aide clavier EXL100 : image du clavier et correspondance des touches
- Correction d'une dizaine d'erreurs dans la table de décodage du clavier
- La boîte de dialogue Péripheriques peut rester ouverte pendant l'émulation
- Mise à jour dynamique de l'index cassette dans la boîte de dialogue Périphériques
Version 2008.10 (v0.4)
- Programmation de l'émulation exelmémoire
- Programmation du chargement et déchargement des fichiers .cram (image exelmémoire)
- Correction d'une anomalie dans l'émulation de l'interruption 1 (interruption TMS7041)
- Affichage de la couleur de fond quand la ligne de status est masquée (ex: mille bornes)
- Contournement du bug de l'initiation à l'exelbasic vol 1
- Suppression du 'return' à répétition après lecture cassette (R3=R4=4 apres KEY_UP)
- Correction de la couleur de fond des caractères clignotants
- Essai de synthèse du son des touches dans exelbasic et exelbasic+
Version 2008.09 (v0.3)
- Début du projet, mise en place de la structure du programme
- Mise en forme des roms disponibles sur internet (merci à Walter)
- Programmation du désassembleur et de l'émulateur TMS7020
- Mise en place de la structure de l'émulateur TMS3556
- Mise au point du débugger
- Extraction du logo exelvision de la rom TMS7041
- Programmation du mode graphique. Le logo est affiché correctement
- Programmation des modes texte. Début d'affichage du décor de Guppy
- Programmation du clignotement et des attributs video. Ecrans Basic OK
- Correction du mode double hauteur
- Rédaction de l'aide Anglais/Francais
- Programmation du timer et des interruptions (animation dans Guppy)
- Correction de quelques bugs + scrutation clavier
- Programmation du protocole de communication tms7020 <--> tms7041
- Amélioration de l'émulation TMS7020 : ajout carry, instruction microcodée d728 (lecture vdp), correction instruction CMP
- Emulation du clavier terminée, toutes les touches sont définies dans la table de conversion
- Correction de la couleur de clignotement du curseur
- Refonte de l'émulation TMS3556. La plupart des anomalies d'affichage ont disparu
- Ajout des codes des touches avec CTRL. Le break par CTRL-C fonctionne en Basic
- Correction d'un bug de la multiplication (les opérandes ne sont pas signés)
- Simulation de la frappe au clavier avec les données du fichier keyboard.txt
- Correction d'un bug dans la gestion du timer (plus de plantage dans Quizzy)
- Correction d'un bug d'affichage (M'Yams, Nimbus, Car Crash etc. fonctionnent)
- Amélioration de la gestion du flag "speech en cours" (bit 1 du registre R2)
- Correction des règles d'affichage en double hauteur. Quizzy fonctionne bien
- Traitement de la lecture des ports péripheriques par les instructions BTJO et BTJZ
- Boîte de dialogue pour le choix du fichier texte de simulation d'entrée au clavier
- Correction des codes touche avec 'Fonction'. FONCT-D donne l'invincibilité dans Wizord
- Programmation lecture et écriture des fichiers .k7. Test avec Monopolic
- Test pour ne pas écraser les octets 0000-01ff en chargeant les cartouches de 32 Ko
- Programmation de l'instruction microcodée d700 (lecture vdp). Exelmax fonctionne
- Programmation de l'outil magnétophone
- Programmation de la sortie imprimante dans un fichier dcexel-printer.txt
- Programmation de la sauvegarde et de la restauration de l'état de l'ordinateur
© 2020 - Daniel Coulom