[EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Couvre tous les domaines de l'émulation ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Carl, Papy.G, fneck

Avatar de l’utilisateur
Sebiohazard
Messages : 276
Inscription : 30 avr. 2019 15:07

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Sebiohazard »

Hello Dmanu !

J'adore ce rendu en niveau de vert c'est impressionnant ! Très sympa le site " les sucres en morceaux " merci pour le partage. Impatient d'essayer la première release en téléchargement !

Salutations !
Image
Dmanu78
Messages : 154
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Dmanu78 »

Merci Sebiohazard. Je me rends compte qu’il y a encore plein de petits trucs que j’aimerai bien implanter avant de mettre en téléchargement la première bêta mais peut être que je suis trop exigeant et qu’une première version light pourrait déjà suffire pour juger de la qualité de l’émulation, si vous n’êtes pas trop exigeant sur les finitions. :lol:

En vérité j’aimerai bien me replonger avant dans l’émulation du Lecteur de disquette car je m’aperçois que je n’arrive pas à lire les fichiers dsk au format non standard ou protégé. Ma routine d’émulation du FDC reste partielle et j’aimerai bien l’améliorer encore un peu (j’arrive pas à charger la démo Batman forever par exemple ou Open Tower Défense). Quelle idée aussi de protéger des démos !

Allez, je vais finir par y arriver….j’y crois fort :mrgreen:

@leduigou
Oui volontiers. J’ai vu que tu étais très impliqué dans l’émulation des Goupil. Si ça peut t’aider dans la conception de l’émulateur, ce sera avec grand plaisir. Pour l’instant je n’ai pas prévu de mettre le code de l’émulateur en open source mais je te passerai le source de l’émulation du Z80. Il faut juste que je le nettoie un peu pour qu’il soit exploitable en stand alone car il est tres intégré à l’environnement de mon émulateur. Je pense qu’il devrait être portable sur Qt sans trop d’adaptation. Je regarde ça et te recontacte en MP. :wink:
Avatar de l’utilisateur
hlide
Messages : 2362
Inscription : 29 nov. 2017 10:23

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par hlide »

Je serais intéressé à voir ton source aussi (le Z80 par exemple)
Avatar de l’utilisateur
leduigou
Messages : 424
Inscription : 08 mai 2011 21:00
Localisation : Paris, 6ème

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par leduigou »

Bonjour,

J’ai une émulation des disquettes assez complète, avec prise en charge en lecture / écriture des formats .dsk et .imd. Je gère aussi le formatage. Elle est basée sur la logique du wd1791.
Je te partagerai mes sources si tu veux t’en inspirer.
Cordialement
Frédéric
Dmanu78
Messages : 154
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Dmanu78 »

Quelques news du projet après un petit mois d'absence...

Le développement de l'émulateur avance à bon rythme et j'ai finalement passé le plus gros de mon temps à réécrire la partie concernant l'émulation du FDC (floppy Disk Controller). A l'origine, le module avait été développé un peu à la va-vite essentiellement dans un but fonctionnel, à savoir pouvoir lire les fichiers .DSK pour parfaire l'émulation des autres composants (dont le fameux CRTC).

Pour les DSK "classiques", simple face et non protégés, ça passait mais je me suis vite aperçu que le module pêchait lors de la lecture des démos écrites sous des formats plus atypiques (en double face, avec des identifiants de piste ne correspondant pas à la piste physiquement lues : Batman forever par exemple)
Un autre problème est apparu sur certaines démos récentes dans lesquelles les accès disques se font sous interruption afin notamment de jouer de la musique en même temps (Démos Phortem, Phx..). Je me suis aperçu que la gestion des timings et des codes erreurs du FDC devenait alors super importante.
En temps normal, les interruptions sont désactivées durant les accès au disque et c'est logique car sur CPC le FDC ne fonctionne pas en mode DMA et envoie un octet toutes les 26 µs environ (d'après la document officielle mais j'ai vu le chiffre de 32 µs.. bon, en réalité c'est un peu entre les deux, j'ai mis plutôt le timing à 30 µs et ça fonctionne plutôt bien) et le processeur doit absolument lire la donnée dans cet intervalle de temps sous peine d'avoir un code erreur "OverRun" généré par le FDC (ça bouchonne :), un nouvel octet est disponible alors que le précédemment n'a pas encore été lu). Les boucles de lecture du FDC dans les programmes sont donc très optimisées.

Dans ces démos fonctionnant sous interruption pour jouer une musique sans ralentissement ou saccade, il est donc tout à fait normal qu'il y ait de temps en temps des erreurs "OverRun" lors des accès disques et notamment lorsque d'une interruption intervient,toutes les 52 lignes HBL, à certains moments non désirés. Ces démos savent reconnaitre ce cas et refont une tentative de lecture jusqu'à ce que ça passe. Il faut donc bien gérer les codes erreurs à travers les 4 registres dédiés du FDC.

De plus, il y a des timing précis à respecter lors d'un changement de lecture de piste (instructions SEEK, RECALIBRATE) et certaines démos génèrent des erreurs si les accès sont trop rapides..ou trop lents...Bref, une petite réécriture plus rigoureuse du module d'émulation du FDC s'imposait pour pouvoir gérer correctement toutes ces situations.

J'ai donc opté pour la création en mémoire d'une "image disk" à partir du fichier DSK, en insérant les différents octets de contrôles comme indiqué dans la documentation (octets GAP, synchro, Index, datas ...) et en partant du principe que je transmets un octet toutes les 30 µs et pour une lecture complète de la piste en 200 ms (un disque réel tourne à 300 tours/min soit 5 tours/sec).

Après de nombreux tâtonnements dus notamment à la bonne gestion des codes erreurs, j'arrive enfin à découvrir de très belles démos assez spectaculaires visuellement. A ce stade l'émulation reste partielle puisque je n'ai implémenté que 6-7 commandes sur les 15 disponibles du FDC (il manque notamment les commandes d'écriture...) mais c'est suffisant pour faire tourner un peu plus de nouvelles démos récentes. Et j'ai surtout l'impression que le socle technique de l'émulation du FDC est désormais plus robuste.

En complément, j'en ai profité pour affiner l'émulation du CRTC version "1" qui présentait quelques imperfections et que j'ai pu améliorer grâce à ces nouvelles démos.

Comme toujours quelques illustrations de l'avancement de l'émulateur en images :

Image
La démo "Phortem" qui, si elle n'est pas la plus impressionnante techniquement, a une "histoire" bien à elle avec une musique jouant sans discontinuer tout du long de la démo. Une belle découverte. J'adore perso.

Image
Autre plan de Phortem.

Image
Phx.. Autre démo pêchue, très rythmé, très technique avec une musique en continue également.

Image
Image symbole de Phx.. On la voit beaucoup...

Image
La démo mythique de Batman Forever, très longue, très technique aussi avec des très beaux effets visuels (en CRTC 1 ...elle se mérite)

Image
Toujours Batman, superbe image..Les graphistes sur CPC m'impressionnent toujours autant.

Image
Une des dernières images de la démo mais vous remarquerez qu'elle n'est pas rendue top top...Au début je croyait que ça venait d'un bug de rendu de l'émulateur .. et bien non. En regardant le code, je me suis aperçu que cette image est rendue en modifiant ce fameux registre R2 à chaque saut de ligne (ce registre est utilisé pour créer des effets de vague sur moniteur CRT si vous vous souvenez d'un post précédent). Je ne sais pas pourquoi l'auteur a fait cela (peut être pour avoir une image plus nette en CRT) mais autant dire que via mon émulateur, le rendu est plutôt dégueulasse avec un décalage de 2 octets une ligne sur 2...mais c'est un rendu correct sur du LCD...Il va peut être falloir que j'émule ce phénomène finalement même si je ne suis pas fana de la chose (comme le rendu scanline mais c'est une autre histoire).

Image
Enfin autre démo très technique, logon's Run, avec une multitude de plans en animation dans la même image, dont du 3D. Superbe à voir en mouvement. Le progrès des démomakers est vraiment impressionnant sur CPC quand je compare leurs dernières réalisations avec celles produites dans les années 90. Plus rythmées, plus maitrisées techniquement, les dernières démos produites sur CPC depuis 2010 sont vraiment bluffantes.

Au final, 95% des démos que j'ai testé tournent désormais correctement et je pense désormais (et vraiment) faire une pause dans le développement de l'émulateur pour m'attaquer à la partie finition et interface de l'émulateur pour le mettre à votre disposition. Je le mettrai en téléchargement d'ici fin aout je pense. Encore un peu de patience... :)
Dernière modification par Dmanu78 le 19 juil. 2021 00:32, modifié 2 fois.
Markerror
Messages : 1793
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Markerror »

Bonjour,

Je vois que l'émulateur suit toujours son petit bonhomme de chemin, et permet de faire de plus en plus de choses :-).
Concernant l'émulation FDC, il me semble que Roudoudou a fait un article sur la programmation de ce composant sur le site 64 nops. C'est probablement un peu tard, si tu as réussi à faire tourner des démos avec des chargements sectoriels et un player musical, c'est que tu as déjà une bonne émulation :-).

https://64nops.wordpress.com/2021/07/04 ... te-du-fdc/

Une demo utilisant bien le FDC, c'est la 5KB demo 3. Sur un vrai CPC, en fonction de la routine choisie (standard, loader musical ou loader musical avec animation), ça peut mettre du temps à se charger, du fait de la technique utilisée (tous les secteurs ont le même ID).

Autre juge de paix côté FDC, les protections disquette. Là aussi, les programmeurs ont fait preuve d'ingéniosité, et certaines sont plutôt tordues dans le principe (comme la KBI 19 secteurs taille 2 qu'on trouve sur pas mal de logiciels français).

Concernant la Batman, la partie qui te pose problème pour moi est censée faire du flipping d'écran entre deux images avec un petit décalage, et ainsi obtenir plus de couleurs/de finesse. L'effet est hélas plutôt raté (seul vrai loupé de la démo), des explications ci-dsssous :

http://cpc.sylvestre.org/articles/artic ... rever.html.

Je n'ai jamais été super fan de ces techniques qui la plupart du temps, n'apportent pas forcément grand chose par rapport à un écran fixe bien travaillé. Ca passe en général mieux sur un moniteur monochrome.

Bon courage pour la suite du projet !
Avatar de l’utilisateur
hlide
Messages : 2362
Inscription : 29 nov. 2017 10:23

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par hlide »

Roudoudou a également fait quelque chose pour un rendu CRT du moniteur Amstrad (rien à avoir avec le double scanline à deux balles). Je ne sais pas ce qu'est devenu ce sujet.
Dmanu78
Messages : 154
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Dmanu78 »

@hlide. Ce ne serait pas cela : https://cpcrulez.fr/forum/viewtopic.php?f=5&t=6504
Roudoudou (alias Marcel) ? a commencé à développer un équivalent plus réaliste aux scanlines. Son image semble plus conforme à ce que l’on attend d’un rendu CRT….

@markerror , comme toujours merci pour tes précieux commentaires. Je ne connaissais pas les articles de Roudoudou sur le FDC et il y a des informations fort pertinentes.
Mon dernier gros chantier sur l’émulateur portera justement sur le FDC car c’est désormais mon plus gros facteur limitant. Les démos que je n’arrive pas encore à lancer bloquent à cause d’un problème au chargement ( The démo qui cherchent à écrire sur le disque !!, 5kb démo 3 que je viens de télécharger suite à ton conseil bloque au chargement (secteur non trouvé !!), et bien sûr tous les autres jeux protégés ne passent pas…dont le jeu de roudoudou justement Open Tower Defense qui intègre une protection disk (le coquin :D )..bref, j’ai encore un peu de pain sur la planche. Pour faciliter mon travail sur le sujet j’ai commencé à intégrer dans mon module de débogage la gestion du FDC. Ça va bien m’aider pour décortiquer les blocages rencontrés et comprendre l’origine des problèmes… :)

Ce sera justement pour une bêta 2 car pour l’instant (ou plutôt à mon retour de congés :D ) je vais me concentrer sur la mise à disposition de la bêta 1 de l’émulateur. J’ai désormais hâte d’avoir votre retour critique dessus (en espérant ne pas m’être fourvoyé dans mes choix techniques) et j’aimerai notamment connaître son comportement sur d’autres configurations que la mienne. Il tourne quand même sur un gros core i9 9900K actuellement. C’est un processeur assez puissant et pas forcément révélateur d’une configuration moyenne.

A défaut, vous jouerez sur la bêta 1 avec des jeux commerciaux sur cassette :lol: Les quelques jeux que j’ai testé testés via le chargement en cassette au format CDT (même protégés) semblent bien fonctionner eux…(Mercenary, The great Escape, F16 combat pilot, saboteur 2, cauldron…).

Avant la diffusion de la Beta 1, j’aimerai bien ajouter la gestion d’un joystick, ainsi que mettre quelques effets visuels lors des accès disques ou cassette. Je pense que la gestion du Mapping clavier attendra encore un peu, ce sera le mode automatique par défaut pour l’instant, qui marche plutôt bien à l’usage vu que je l’utilise avec satisfaction depuis plus d’un an maintenant.

PS leduigou : je t’ai envoyé un MP pour le code source du z80… :wink:
Avatar de l’utilisateur
Sebiohazard
Messages : 276
Inscription : 30 avr. 2019 15:07

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Sebiohazard »

Hello Dmanu !

Je voulais te poser quelques questions concernant la finalisation de ton émulateur :)

1. Souvent pour les novices & pour ceux qui ne connaissent pas le CPC, il est difficile de lancer des programmes ou des jeux, ils ne connaissent pas la commande CAT pour lister le contenu d'une disquette & encore moins la commande RUN pour lancer ces derniers... d'où ma question y aura-t-il une fonction " autostart " ?

2. Pareil pour la configuration d'un joystick y aura-il un un petit programme intégré à l'émulateur pour mapper facilement les touches du clavier à un joystick ? Dans la plupart des émulateurs c'est hyper peu compréhensible & bordélique rares sont ceux vraiment bien fait comme Yuzu ou Dolphin :)

3. Je me répète je sais mais j'adorerais avoir une LED lumineuse montrant l'activité du lecteur de disquette ainsi qu'un compteur permettant de se situer pour le lecteur de cassette :)

4. Est-ce que tu comptes mettre des filtres divers (genre CRT curve) ainsi que des scanlines ?

5. Pourra-t-on lancer l'émulateur en ligne de commande avec diverses options ?

Au plaisir de te lire salutations !
Image
Dmanu78
Messages : 154
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Dmanu78 »

Hello Sebiobazard,

J’ai l’impression que tu es mon premier fan :D

Alors, pour répondre rapidement à tes interrogations :
- Je ne pense pas mettre d’autorun dans un premier temps même si c’est assez pratique j’avoue. Je crois que Lone a implanté cette option dans son émulateur SugarBox. D’une part parce que j’ai une approche un peu rigoureuse sur le sujet (un peu comme Daniel et DCMOTO) et d’autre part il y a souvent plusieurs fichiers sur la disquette, pas évident de trouver le bon exécutable. Comme sur un vrai CPC, utiliser un émulateur se mérite et nécessite un minimum de connaissance sur l’usage de la machine. Sur CPC c’est assez simple en plus. Un CAT suffit pour avoir le catalogue puis un run+nom_de_fichier. Pour aider, je mettrai un petit tutoriel lancement rapide…
- Pour le joystick, je n’ai pas encore réfléchi à la question mais oui, c’est plutôt une bonne idée de mapper quelques touches de clavier au joystick si on n’en a pas un vrai sous la main. Je vais regarder pour implémenter la fonctionnalité pour la 1ère béta.
- oui (pour le floppy) et oui (pour les cassettes), c’est bien prévu. :) Ça me sera utile même pour moi :)
- non, pas de scanline ou autres effets pour émuler le rendu d’un CRT. Je sais que tu es fan de ce type de rendu mais à l’usage je n’en suis pas fana et surtout je ne sais pas encore faire techniquement (pour bien le faire, il faudrait utiliser des effets direct3d que je ne maîtrise pas). Pour l’instant, j’ai juste prévu un filtre d’interpolation linéaire qui permet d’avoir un effet de flou sur le rendu des pixels et qui rend plutôt pas mal à l’usage, un peu comme le ferait un CRT).
- pour l’instant je n’ai pas prévu la gestion de lignes de commande. Je n’ai pas d’avis dessus mais je rejoindrai aussi Daniel. Un CPC ce n’est pas une bête console de jeu qu’on lance via un script à travers une ligne de commande. Ca se mérite de jouer dessus, à l’ancienne, comme sur un vrai CPC. :lol: . A voir s’il y a un gros besoin…
Avatar de l’utilisateur
Sebiohazard
Messages : 276
Inscription : 30 avr. 2019 15:07

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Sebiohazard »

Dmanu78 a écrit : 26 juil. 2021 22:24 J’ai l’impression que tu es mon premier fan
Hello Dmanu oui en plus avant l'heure :)
Dmanu78 a écrit : 26 juil. 2021 22:24 Sur CPC c’est assez simple en plus. Un CAT suffit pour avoir le catalogue puis un run+nom_de_fichier. Pour aider, je mettrai un petit tutoriel lancement rapide…
Très bonne idée !
Dmanu78 a écrit : 26 juil. 2021 22:24 - oui (pour le floppy) et oui (pour les cassettes), c’est bien prévu. Ça me sera utile même pour moi
En voilà une bonne nouvelle je me réjouis de voir ça :)
Sebiohazard a écrit : 26 juil. 2021 07:24 - pour l’instant je n’ai pas prévu la gestion de lignes de commande. Je n’ai pas d’avis dessus mais je rejoindrai aussi Daniel. Un CPC ce n’est pas une bête console de jeu qu’on lance via un script à travers une ligne de commande. Ca se mérite de jouer dessus, à l’ancienne, comme sur un vrai CPC. . A voir s’il y a un gros besoin…
Tu sais MAME qui est un émulateur très précis & pointu permet d'être lancé en ligne de commande avec plein d'options super pratiques, je ne vois pas où est le mal ?!

A bientôt salutation !
Image
Daniel
Messages : 14192
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Daniel »

Beaucoup de joueurs voudraient transformer les ordinateurs (et leurs émulateurs) en consoles de jeu : lancement automatique, intégration dans un "front end" multi-émulateur et multi-jeux, etc. C'est un choix, mais ce n'est pas celui de tous les amateurs d'ordinateurs anciens.

Un ordinateur est un outil beaucoup plus riche, et beaucoup plus enrichissant pour l'utilisateur, qu'une console de jeu. Et plus difficile à utiliser. Pour moi l'émulateur doit reproduire la même complexité, c'est pourquoi j'ai toujours refusé les lancements automatiques, les lignes de commandes et autres gadgets pour joueur. Lancer un programme avec un émulateur Thomson ou CPC nécessite un apprentissage, c'est là tout l'intérêt. Et créer ses propres programmes est beaucoup plus excitant que d'utiliser ceux des autres. Alors d'accord pour ajouter des outils pour les développeurs, pas d'accord pour des gadgets inutiles. Un vrai Amstrad ne génère pas de scanlines, il n'y a aucune raison pour que l'émulateur les génère.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Sebiohazard
Messages : 276
Inscription : 30 avr. 2019 15:07

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Sebiohazard »

Daniel a écrit : 27 juil. 2021 09:01 Beaucoup de joueurs voudraient transformer les ordinateurs (et leurs émulateurs) en consoles de jeu : lancement automatique, intégration dans un "front end" multi-émulateur et multi-jeux, etc. C'est un choix, mais ce n'est pas celui de tous les amateurs d'ordinateurs anciens.
Oui je sais bien Daniel on en a déjà parlé plusieurs fois... en regardant DCALice de plus près je viens de me rendre compte que contrairement à MAME tu n'a pas poussé la précision de l'émulation jusqu'au bout pourtant ?!

Je m'explique dans MAME pour charger un jeu Alice il faut non seulement le charger dans le lecteur mais ensuite entrer la commande CLOAD puis RUN & encore lancer le magnétophone en appuyant sur la touche PLAY du lecteur virtuel.

Hors je constate qu'avec DCAlice ce n'est pas le cas pourquoi ? Il suffit de charger le jeu & celui-ci démarre en tapant CLOAD ?! Donc là je ne comprends plus rien ?! & pourtant MAME qui apparemment est plus " précis " que DCAlice à ce niveau de l'émulation, est en ligne de commande :)

[EDIT 29.07.2021] marrant des petits malins ont réussi à implémenter DCAlice dans un front end :) à voir ici
Image
Dmanu78
Messages : 154
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Dmanu78 »

Quelques petites news fraîches.

L’émulateur est bientôt prêt pour sa première diffusion publique.
J’ai surtout travaillé sur des petits détails esthétiques et ergonomiques depuis le dernier post. J’ai ajouté des petits effets visuels sur les accès disquettes et cassette, j’ai ajouté la gestion du joystick (très partiel mais ça semble fonctionner) avec une émulation par touche clavier aussi. En parlant de clavier, j’ai retravaillé le Mapping automatique du clavier pour gérer les Roms CPC françaises et espagnoles. Il me reste encore à gérer la rom Danoise :D
Il me reste juste à écrire une petite doc d’accompagnement et je pense le mettre en ligne sur ce post très rapidement maintenant…
Dmanu78
Messages : 154
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] work in Progress

Message par Dmanu78 »

Et voilà ENFIN venu le grand jour. Pour une fois, je faire faire bref. :D

C'est avec une certaine émotion que j'ai le plaisir de vous annoncer la mise à disposition la première release de mon émuleur AMSTRAD CPC "AMSpiriT" dont je vous parle depuis plusieurs mois maintenant.

Beaucoup de petites améliorations esthétiques et ergonomiques depuis mon dernier post. Ce sont les détails qui prennent le plus de temps. :)

J'espère que vous prendrez autant de plaisir à l'utiliser que j'ai eu à le développer toutes ces années.
Il s'agit bien entendu d'une version de développement, non finalisée (mais le serait-il un jour tant il y a à faire encore..) mais elle est déjà suffisamment aboutie pour être distribuée.

L'archive contient également un petit guide d'utilisation au format PDF qui pourra vous aider à appréhender la bête.

Je précise que cette version est compatible avec Windows 10 et a été compilée en mode x64 (64 bits). Je ne l'ai pas testé sur d'autres versions de Windows aussi vos retours me seront précieux pour connaitre les autres versions compatibles avec l'émulateur.

Pour ne pas trop polluer ce fil de discussions, vous pouvez m'écrire directement à l'adresse mail suivante si vous avez des questions, suggestions ou remontés de bugs.N'hésitez pas, j'essaierai de vous répondre rapidement si je le peux.

contact(point)amspirit(at)gmail(point)com (pour éviter d'être polluer par les spam)

Maintenant à vous de jouer, profitez bien de l'émulateur :)

Image

PS : Je vais mettre aussi le fichier en téléchargement sur mon premier post. Ce sera plus facile pour retrouver la version le plus récente.
PS 2 : L'archive en téléchargement a été scanné et testé "virus free" par Kaspersky.
Pièces jointes
CPC_AMSpiriT.7z
Emulateur Amstrad CPC AMSpiriT v0.425b 29-08-2021
(877.34 Kio) Téléchargé 12 fois
Répondre