Emulateur Commodore C64 pour Nintendo DS

Voici l'adaptation d'un émulateur Comodore 64 pour DS ! C'est une adaptation, au départ, de Frodo de Christian Bauer (http://frodo.cebix.net/). Ensuite, comme à l'accoutumé, l'émulateur a eu le droit à beaucoup de modification pour essayer de le rendre plus rapide ...
 
Le Commodore 64 est un ordinateur personnel construit par Commodore Business Machines Inc. utilisé dans les années 1980. Il fut la première machine vendue à plusieurs millions d'exemplaires (de 17 à 25 millions selon les estimations), et il reste le modèle d'ordinateur le plus vendu à ce jour.
Il utilisait un microprocesseur 8 bits 6510 (un dérivé proche du 6502 qui avait la possibilité de gérer des banques de mémoires en les amenant à la demande dans l'espace d'adressage du processeur) et disposait de 64 kiloctets de Mémoire vive. Au Royaume-Uni, il a rivalisé en popularité avec le ZX Spectrum et a tiré bénéfice d'un clavier de taille normale et de puces graphiques et son plus avancées.
La puce graphique, VIC-II, fournissait 16 couleurs, huit sprites, des capacités de défilement (scrolling), et deux modes graphiques bitmap. Le mode texte standard fournissait 40 colonnes, comme la plupart des modèles PET de Commodore.
La puce sonore, SID, avait trois voies, plusieurs formes d'ondes, modulations sonores et capacités de filtrage. Elle était très avancée pour son époque. Elle a été conçue par Bob Yannes, qui sera le cofondateur plus tard de la société de synthétiseur Ensoniq.
Malheureusement, le BASIC incorporé n'offrait pas un moyen facile d'accéder aux capacités graphiques et sonores avancées de la machine, les utilisateurs devaient donc utiliser les commandes PEEK et POKE pour adresser directement la mémoire afin d'obtenir le résultat escompté. Ou alors utiliser des extensions comme Simon's BASIC, ou programmer directement en assembleur. Commodore avait une meilleure implémentation du BASIC, mais choisit finalement de vendre le C64 avec le même BASIC 2.0 utilisé dans le VIC-20 de peur que le C64 ne ternisse les ventes du PET/CBM.
Il a hérité des machines CBM et du VIC-20 un port utilisateur programmable (6522) et un port série propriétaire fonctionnant sur un principe proche de l'IEEE-488 et permettant de brancher (et d'adresser) des périphériques, en particulier une ou plusieurs unités de mono-disquettes de 5.25 pouces 1540 (celui pour le VIC-20), 1541 et 1542.
De cet ordinateur est (probablement) apparu une culture underground informatique connue sous le nom de scène démo.
Commodore tenta en 1984 de remplacer le C64 avec le Commodore Plus/4, qui offrait un affichage plus haut en couleur, une meilleure implémentation du BASIC (V3.5) et de meilleurs logiciels installés. Cependant, il manquait les capacités de sprite, avait un son plus mauvais et une biblioth?que de logiciels moins fournie. Ce fut un échec.
Des ordinateurs plus performants arrivant sur le marché, comme le successeur du C64, le compl?tement compatible C128 (fin 1985), Commodore positionna le C64 comme un ordinateur d'entrée de gamme, baissant le prix de façon notable.
En 1986, Commodore sortit le Commodore 64C, qui était fonctionnellement identique ? l'original, mais avec un design extérieur remodelé dans l'esprit plus « moderne » du C128. Le C64C était souvent fourni avec le syst?me d'exploitation graphique GEOS.
Les derniers jeux officiels se sont vendus jusqu'en 1994.
Pendant l'été 2004, apr?s une absence sur le marché de pr?s de 10 ans, Tulip Computers BV (propriétaire de la marque Commodore depuis 1997) annonça un C64-Direct-to-TV, une console-joystick basée sur le C64 avec 30 titres préprogrammés en ROM, selon un principe similaire aux mini-consoles basées sur l'Atari 2600 et l'Intellivision, qui avaient eu un succ?s plutôt modeste auparavant.
Il est toujours employé, particuli?rement pour la musique. Ses programmes peuvent ?tre utilisés sur des machines plus récentes au moyen d'un émulateur.
Cet ordinateur, conçu pour l'utilisation familiale (il coûtait 3 500 FF), répondait au lancement des ZX Spectrum, Oric 1 et Commodore 64 par Sinclair, Oric Corporation et Commodore. L'Amstrad CPC 464 sorti en 1984 a connu un immense succès : il s'est vendu à plus de 2 millions d'exemplaires. Il a fait disparaître beaucoup d'ordinateurs et a peut-être marqué la fin d'une époque. Pour la première fois, une seule fiche secteur était nécessaire, écran et unité centrale s'alimentaient directement sans adaptateur encombrant et deux fiches seulement reliaient les deux éléments entre eux, la mise en fonction était immédiate. C'est peu après le succès commercial du 464 qu'est apparu AMSDOS. CP/M qui était antérieur au 464 a été transposé sur cet ordinateur.

Processeur : Z80A à 4MHz, certaines sources parlent de 3.3 MHz. Cette fréquence est une approximation de la vitesse atteinte par le Z80 en tenant compte des ralentissement subis par le CPU à cause des accès RAM effectués par le processeur vidéo.
Mémoire vive : 64 Ko de RAM, extensibles à 512 Ko (des extensions à 4 Mo existent également, ce sont cependant des matériels non officiels)
Mémoire morte : 32 Ko de ROM, extensibles à 4 Mo
Capacités graphiques : la machine est équipée d'un Motorola CRTC 6845 (ou clones), plus une puce spécifique à Amstrad, le Gate Array. Le CPC ne possède pas de mode texte en tant que tel. Les informations de modes texte qu'on retrouve régulièrement indiquent en fait le nombre de caractères (de huit pixels sur huit) que peut afficher le système dans les différents modes graphiques.
Le CPC standard possède une palette de 27 couleurs, constituées par les trois teintes primaires (rouge, vert, bleu) auxquelles on applique les coefficients 0,0.5 et 1. À l'origine le CPC était annoncé avec une palette de 32 couleurs. Malheureusement les 5 couleurs supplémentaires sont identiques à certaines teintes présentes parmi les 27 sus-nommées. Elles sont accessibles directement en Basic, mais n'ont aucun intérêt pratique.
Le CPC dispose de 4 modes graphiques, dont un non documenté :
  • Mode 0 : 160x200 en seize couleurs (choisies parmi celles disponibles dans la palette de 32).
  • Mode 1 : 320x200 en quatre couleurs.
  • Mode 2 : 640x200 en deux couleurs.
  • Mode 3 : 160x200 en quatre couleurs. Taper « Mode 3 » sous Basic vous renverra une erreur « Improper argument », le système n'est pas capable de gérer ce mode. On ne peut accéder à celui-ci qu'en passant par la programmation assembleur.
Capacités sonores : General Instruments AY-3-8912, 3 voies stéréo. Le même processeur sonore que le Spectrum, L'Oric, le MSX et l'Atari ST. L'AY-3-8912 possède aussi des ports d'entrées/sorties, qui sont utilisées sur CPC pour l'interrogation du clavier et du joystick.
Clavier : AZERTY ou QWERTY suivant les régions, il existe aussi une version de 464 intégrant la touche « ñ » espagnole. Le clavier possède un pavé numérique.
Connecteurs :
  • Port parallèle 7 bits. On peut néanmoins accéder au 8ème bit à l'aide d'un accessoire largement diffusée dans les magazines à l'époque.
  • Port d'extension.
  • Connecteur RGB propriétaire.
  • Port joystick compatible Atari.
  • Prise casque stéréo.
On regrettera notamment l'absence d'interface RS232, qui est heureusement disponible à part. (Le programme PROTEXT de traitement de texte n'était pas présent sur tous les CPC 464).
Version 1.0 du xx/xx/2008 
* Version intiale.

AmeDS

             

Le texte utilisé dans cette présentation est en partie tiré du Wikipedia sur le C64.

Liste de compatibilité

Vous pouvez envoyer directement depuis SidDS, la compatibilité des fichiers que vous testez. La page est donc directement mise à jour depuis la DS.
Elle se trouve ici : Compatibilité des fichiers DSK et SNA avec AmeDS

Downloads