Première mise à jour intermédiaire liée à la version
MAME 0.117 et quelle mise à jour, vraiment très grosse. L'équipe a complètement changé le système des contrôles en créant une couche de communication spécifique. Ainsi les systèmes Windows XP et supérieurs peuvent se passer de DirectInput. L'autre gros changement vient de l'ajout d'une nouvelle interface utilisateur pour choisir les jeux. Celle-ci est encore expérimentale et minimale. Cependant elle n'a pas l'intention de remplacer un frontend et restera donc basique.
- Correction d'un problème dans les système sans écran. [Nathan Woods]
- Correction d'un crash dans le code CHD s'il y avait écriture au delà de la fin du fichier. [Roman Scherzer]
- Déplacement de Sand Scorpian et Gals Panic afin d'utiliser l'émulation Pandora. Cela corrige certains problèmes dans l'émulation Pandora qui améliore les sprites dans Djboy. [David Haywood]
- Ajout d'une nouvelle fonction timer_call_after_resynch(), qui paramètre efficacement le synchroniseur durée-zéro pour une resynchronisation. Remplacement des exemples de synchroniseurs durée-zéro dans le code avec son appel descriptif. [Zsolt Vasvari]
- Définition d'une nouvelle TIMER_CALLBACK, qui devrait être utilisée pour encadrer les retours de services des synchroniseurs. Ajout d'un paramètre running_machine * pour les retours de services du synchroniseur. Mise à jour de tous ces les retours de services pour utiliser cette nouvelle macro. [Zsolt Vasvari]
- Ajout du décryptage d'opcode pour gussun. [Robiza]
- Ajout d'un son discret pour headon et clones dans vicdual.c. [couriersud]
- Ajout de 2 oscillateurs inversés supportant l'activation et le mélange des signaux pour discrete.h / disc_wav.c. [couriersud]
- Correction de problèmes dans l'émulation vidéo. [Adam Bousley]
- Mise à jour du pilote monzagp dans une sorte d'état jouable. Il y a encore certains problèmes graphiques. Les DEL ont encore besoin d'être connectées pour l'affichage du temps restant et des scores. [Phil Stroffolino]
- Mise à jour Neo Geo : [Zsolt Vasvari]
* BIOS du pilote Neo Geo ne plante plus ;
* nettoyage du code de remplissage mémoire pour utiliser memory_set_bank() au lieu de memory_set_bank_ptr() ;
* correction des DEL.
- Améliorations du pilote toaplan2 : [Alex Jackson]
* remplacement de la ROM du programme M68k truxton2 avec une correcte.
* correction des communications du CPU sonore dans les jeux Raizing. C'est une hypothèse, mais c'est plus complet et probablement plus correct qu'auparavant, et ne dépend pas d'une utilisation excessive de cpu_yield().
* ajout d'informations au sujet des roms Raizing pour les commentaires dans le pilote, et correction de certaines erreurs.
* réorganisation des roms Battle Garegga.
- Réécriture du système d'entrée pour placer plus de fonctions dans le noyau. Nettoyage de l'architecture pour séparer proprement les dépendances. A noter que ce changement ne s'adresse qu'à la couche inférieure de la gestion des entrées. La couche supérieure (gestion des contrôles de la couche d'un pilote) reste la même. [Aaron Giles]
- Support de retours de services de la mise à jour des images, similaire aux retours de services PAUSE et FERMETURE, mais appelés aux mêmes instants comme osd_update(). [Aaron Giles]
- Changement de osd_init() pour ne plus retourner de valeur. L'initialisation de l'OSD ne devrait plus dépendre de fatalerror() pour le report d'erreurs fatales d'initialisation. [Aaron Giles]
- Ajout d'une nouvelle fonction mame_schedule_new_driver() qui permettra à un nouveau pilote d'être placé en file d'attente après une réinitialisation matérielle. [Aaron Giles]
- Ajout expérimentale d'une nouvelle interface utilisateur minimale pour la sélection de jeux. Elle peut être accessible si MAME est lancée sans paramètre, ou via le menu principal en choisissant "Select a New Game". Cette interface vous permet de sélectionner un pilote d'un jeu en tapant le nom du jeu. Cette interface affichera seulement les jeux qui sont présents dans le dossier ROM. [Aaron Giles]
- Changement du comportement de la compilation Windows de la sorte qu'en double-cliquant sur MAME, la nouvelle interface se montrera. [Aaron Giles]
- Ajout d'un pilote "vide" qui accueillera l'écran de sélection d'un jeu lorsqu'un jeu non valide est choisis. [Aaron Giles]
- Suppression de l'indicateur NOT_A_DRIVER qui était surchargé en signifiant 2 choses différentes. Il y a maintenant 2 nouveaux indicateurs : GAME_IS_BIOS_ROOT indique si un pilote particulier représente un BIOS plutôt qu'un jeu, et GAME_NO_STANDALONE indique si un pilote donné ne devrait pas être listé ou permis à être exécuté sur lui-même. La plupart des Bios s'exécute sur eux-mêmes, ainsi ils possèdent l'indicateur GAME_IS_BIOS_ROOT mis pas l'indicateur GAME_NO_STANDALONE. [Aaron Giles]
- Ajout de nouvelles routines mame_openpath(), mame_readpath(), et mame_closepath() pour l'itération de tous les fichiers dans la spécification d'un chemin, inclus le support de chemin multiples. [Aaron Giles]
- Changement des interfaces d'audit pour prendre game_driver * au lieu de l'index d'un jeu. [Aaron Giles]
- Changement des APIs driver_get_approx_matches() et driver_get_count() pour fonctionner sur une liste de pilotes arbitraires au lieu d'être codées à la dure une liste de pilote statique. Changement de nom des fonctions de driver_get_* en driver_list_get_* [Aaron Giles]
Changements majeurs :
- Suppression du concept os_code dans le système. Maintenant tous les codes sont définis via un ensemble de macros dans input.h. Chaque code est une valeur 32-bits qui crypte une classe de composant, un index de composant, une classe d'article, un modificateur d'article et l'ID d'un article.
- Suppression des fonction OSD osd_get_code_list() et osd_get_code_value(). A la place, la couche OSD pendant l'osd_init() doit enregistrer un périphérique ou plus et les articles d'entrée rattachés à chaque périphérique via les nouvelles foncions input_device_add() et input_device_item_add().
- Séparation du code de séquence d'entrée à l'intérieur du nouveu module inputseq.c.
- Déplacement du support des options suivantes à l'intérieure du noyau : -mouse, -joystick, -lightgun, -steadykey, -offscreen_reload, -joy_deadzone, -joy_saturation, -paddle_device, -adstick_device, -pedal_device, -dial_device, -trackball_device, -lightgun_device, -positional_device, -mouse_device. La couche OSD devrait simplement enregistrer tous les dispositifs au temps d'osd_init() et permettre le noyau de les activer/désactiver selon les options.
- Ajout de 2 nouvelles options : -multikeyboard et -multimouse. Par défaut les 2 options sont éteintes. Lorsqu'elles sont OFF, le noyau combine toutes les entrées clavier et souris à l'intérieur d'un simple périphérique clavier ou souris. Quand elles sont ON, ces options instruisent le noyau pour garder indépendantes les entrées du clavier et ou de la souris.
- Ajout d'une nouvelle option : -joystick_map. Elle permet à une grille 9x9 de spécifier qui contrôle la laison analogique-vers-numérique des entrées d'une manette.
- Changement de l'implémentation Windows de la manipulation des entrées pour supporter complètement les interfaces des entrées pour le clavier ou la souris. DirectInput est encore utilisé pour toutes les entrées des manettes, aussi bien que pour les entrées clavier/souris pour les systèmes antérieurs à Windows XP. Cela permet le support de multiples clavier et souris. Changement également du comportement de la couris et du clavier pour utiliser un mode non-exclusif dans DirectInput, et pour garder les pilotes en activité pendant une pause pour plus de cohérence dans la gestion des entrées.
- Rupture de windows.txt dans config.txt, qui obtient tous les options communes supportées par le noyau, et les commandes, et windows.txt, qui liste seulement les additions spécifiques à Windows.
Nouveau ou promu du statut NOT_WORKING :
- Sliver [Tomasz Slanina]
Nouveaux clones :
- Space Dragon (Moon Cresta bootleg) [David Haywood]
- Battle Garegga - Type 2 (Europe / USA / Japan / Asia) [Alex Jackson]
Nouveaux marqués comme GAME_NOT_WORKING :
- Gals Panic (US, EXPRO-02 PCB) [David Haywood]
- Balloon & Balloon [Tomasz Slanina]
