Développer des émulateurs pour passer le temps

15 sujets de 91 à 105 (sur un total de 256)

  • __sam__

      #349650

      J’ai du mal à réaliser que l’émul d’un amiga soit si légère. Il y a quoi qu’il ne fait pas mais que les autres font qui coûte aussi cher en resource CPU ?

      Allez dis nous: en fait Alice c’est juste un stream d’un gros PC qui tourne par derrière sur le réseau comme Shadow-PC. C’est ca ?

      Samuel.

      Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
      A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
      A500 Vampire V2+ ^8^ 🙂
      (mais aussi TO8, TO8D, TO9. Groupe PULS.)

      mikedafunk

        #349693

        Non Alice est juste un lecteur vidéo pas super optimisé 😉
        Test Alice2

        Bwah Bwah

          #349694

          J’ai du mal à réaliser que l’émul d’un amiga soit si légère. Il y a quoi qu’il ne fait pas mais que les autres font qui coûte aussi cher en resource CPU ?

          Allez dis nous: en fait Alice c’est juste un stream d’un gros PC qui tourne par derrière sur le réseau comme Shadow-PC. C’est ca ?

          La précision par exemple. Est ce au cycle ? Il faut comparer le comparable. C’est  » from scratch  » ou bien basé sur les sources d’UAE ?

          Parce que si l’on s’aventure sur cette voie, fellow sous dos sera encore plus rapide mais beaucoup moins compatible en général.

          mikedafunk

            #349695

            La précision par exemple. Est ce au cycle ? Il faut comparer le comparable. C’est » from scratch » ou bien basé sur les sources d’UAE ?

            Parce que si l’on s’aventure sur cette voie, fellow sous dos sera encore plus rapide mais beaucoup moins compatible en général.

            Non ce n’est pas au cycle, et oui c’est from scratch (sauf pour le moment les codes des processeurs 68000 et 68020 qui ont été récupérés)

            Niveau compatibilité Amiga, presque toutes les demos OCS / ECS / AGA que j’ai essayées fonctionnent à peu près (quelques bugs graphiques parfois, mais rien de méchant). Donc c’est déjà vraiment très très bien!
            Config maxi : 68020 (boost variable) / AGA / 8Mo de fast / Disque dur (en provenance d’UAE)

            Edit : vidéo comparative Alice Vs Fs-UAE

            Anonyme

              #349700

              Parce que si l’on s’aventure sur cette voie, fellow sous dos sera encore plus rapide mais beaucoup moins compatible en général.

              Heuuu, linux est un operating system toujours en fonctionnement et même d’actu.
              MSdos…. comment dire…ça n’existe plus.

              Et puis comparé quelque chose d’un OS à un autre OS différent n’aurait aucun sens.
              En plus pour trouver les sources de Xfellow (qui est la ‘branche’ linux etteinte depuis…. oula…longggggtemps) , bonne chance.

              Faut laisser le temps trankikou à Alice de monter en puissance et on verra ce que donne.
              Pour l’instant, visiblement, il/elle en a sous le capot.

              __sam__

                #349701

                A propos de linux, je trouve que sur la dernière vidéo de Mike, ubuntu est super lent à démarrer. N’importe quel W10 me semble booter infiniment plus vite. C’est quoi le hic ici, le disk est trop lent ou linux qui n’a plus sa légèreté des débuts ?

                Samuel.

                Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
                A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
                A500 Vampire V2+ ^8^ 🙂
                (mais aussi TO8, TO8D, TO9. Groupe PULS.)

                mikedafunk

                  #349702

                  D’abord il faut savoir que Windows 10 triche à fond pour le temps de boot car il utilise l’hibernation (qui peut être source de problèmes) : https://lecrabeinfo.net/desactiver-demarrage-rapide-fast-startup-windows-10.html

                  Ensuite Lubuntu n’est pas réputé pour être rapide à démarrer, ce n’est pas son but. Par contre Ubuntu à une époque faisait tout pour gratter un peu de temps de boot. Mais je ne crois pas que ce soit encore d’actualité.

                  La légèreté, ce n’est pas trop le temps de boot, c’est plutôt la consommation pendant l’utilisation. Et là il faut avouer que Windows 10 est un hippopotame en comparaison au colibri Lubuntu ^ ^

                  Edit : Les machines du boulot non équipées de SSD démarrent « lentement » sous Windows 10, mais ce n’est pas un scoop, le SSD apporte beaucoup.

                  __sam__

                    #349703

                    Tricher / Optimiser.. la différence se situe suivant de quel coté on regarde. L’optimisation fiscale est elle une fraude fiscale ? Bon, je suis HS total là. Allez je m’en vais tricher du code…

                    Samuel.

                    Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
                    A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
                    A500 Vampire V2+ ^8^ 🙂
                    (mais aussi TO8, TO8D, TO9. Groupe PULS.)

                    Anonyme

                      #349704

                      De ce que je sais.
                      Le Systeme Installé dans les vidéo est sur un DD sata, PAS SSD

                      De plus, il s’agit de la version 386 est non 64B.
                      C’est la version de linux 18.04 alternate (la dernière dispo en 386 ensuite c’est du 64B)
                      Pourquoi une release en 386 tout simplement car le code est compilé sur cette plateforme.
                      Pourquoi ne pas installer une version 64B est installer les binaires qui vont bien ?
                      Parce que c’est chiant et lourd (dépends de comment le binaire est compilé, de quel lib 386 il a besoin etc. Toutes les libs 386 ne sont pas installable ‘facilement’ sur un OS 64bits et rends le système plus ou moins ‘stable’ pour les autres compilations qui sont eux 64B)

                      En clair, il est plus facile de jouer un binaire fait pour une plateforme 386 sur une release d’os 386
                      Ceci pour expliquer cela 🙂

                      J’ajouterais que les ‘perfs’ que ce soit pour alice ou autre dépendent de beaucoup de chose comme.
                      – L’ordinateur bien sûr. (proc/mémoire)
                      – Comment c’est codé et ce qui est émulé.
                      – et ne l’oublions pas, ‘l’environnement de bureau’.

                      Un FS-UAE tournera largement moins vite (j’ai testé) sur un Gnome que sur un Lxe.

                      Sinon globalement, pour avoir testé aussi, même sur une grosse bécane, windows 10 boot plus vite sur un SSD que son homologue dernière mouture.

                      Du moins, ce que j’ai constaté sur debian, ubuntu, mint.. avec divers ‘bureau’ (gnome, lxe, …)
                      Pourquoi W10 boot plus rapidement ? ça… c’est une bonne question, aucune idée.

                      mikedafunk

                        #351848

                        Interview du concepteur d’Alice, notes réalisées le 16 août
                        Désolé pour les notes en vrac, je mettrai à jour ce texte si besoin
                        Sorry pour le retard, j’ai rarement un accès à internet, en mode « cure de desintox informatique forcée » LOL

                        Pourquoi avoir voulu programmer Alice ?
                        Comprendre comment fonctionnent les émulateurs, essayer d’en faire un, est-ce que c’est faisable ? Un simple défi personnel

                        Quand as tu commencé ton projet ?
                        En 1999 avec un émulateur master system sous Windows / directX
                        Ensuite GB (cpu presque pareil), son très basique
                        Ensuite pc engine car l’émulateur qui fonctionnait bien à l’époque était limité à 5mn

                        =>3 exe différents (win-gb, win-mastersystem et win-pcengine) qui fonctionnaient à 90-95 %., Interruption par ligne bien faite par rapport à d’autres émulateurs
                        Il y avait même une gui à l’époque ! Pour changer le zoom, de rom etc.
                        Détection de certaines boucles infinies pour gagner en usage cpu…

                        Les 3 exe n’ont jamais été diffusés
                        Pause du développement pendant 4-5 ans

                        Passage sous linux en 2006 2007 pourquoi ?
                        Code commun aux 3 émulateurs, l’idée était de tout rassembler dans un seul exécutable
                        En fonction de l’extension du nom de la rom : lance le bon émulateur
                        Sdl que pour le son et la manette
                        Debug, manette, affichage, clavier, son = commun avec 3 coeurs

                        Ensuite snes : intéressant car j’y avais pas mal joué à l’époque
                        Un cran au dessus au niveau complexité
                        Cpu qui ressemble à celui de la pcengine, donc réutilisation d’une partie des trucs
                        2 cpu : 1 pour le son, synchro des 2 cpu (pas protégé)
                        Gestion des transparences, mode 7…

                        PcengineCD : pour gérer les cédéroms 🙂

                        Ensuite psx : ajout de la 3D, intéressant aussi à programmer

                        Même à ce stade de développement, l’idée n’a jamais été de diffuser Alice

                        Le plus chiant à programmer : les cpu
                        Je cherchais le ratio intéressant compatibilité / perfs pas trop pourri

                        Neogeo : jeux sympas / plein de couleurs et super docs techniques de disponibles.
                        Tout est sprites sur cette console, même les décors! + layer score/niveau
                        soucis : 68000 trop complexe donc repris tout fait, (source pas mal)
                        2 cartouches en une, mémoire vidéo+ code cpu 68000 et z80 audio (samples)
                        gérer le cryptage (protection des jeux récents), chiant, algo récupéré dans mame

                        En parallèle, développement de puces de sons, celle de la neogeo (fm) est plus évoluée
                        => Gestion des formats vgm (audio) pour la neo geo, mastersystem, gameboy, pcengine

                        Taux de compatibilité très bon avec la neogeo car pas besoin de bidouilles logicielles comme sur les autres supports
                        => réutilisation du cpu Z80 de la master sytem

                        Mise à jour du debugger pour aider à avoir des infos dans l’état du systèm + dessassembleur + gestion des symboles pour s’y retrouver (seules parties intéressantes), typiquement pour les machines avec bios

                        Megadrive : 68K c’est bon, z80 c’est bon, puce son similaire à la neo geo
                        l’idée était de jouer à sonic, donc fait un peu vite, compatibilité moyenne, pas fini, partie graphique vite fait, soucis avec DMA

                        Ajout de la puce fm qui était utilisée dans la mastersytem japonaise. Outrun, rtype, double dragon… ont un son bien meilleur

                        Ajout dans le format vgm les pucefm des cartes son pc, monkey island, yamaha opl
                        => ça ressemble, donc pourquoi pas essayer?

                        Ajout du capcom system 1 arcade 68000 Z80 puce audio ressemblant à neogeo
                        juste la partie graphique était à faire
                        street fighter2, prime, etc. gouls n ghoust, 1941, pang3, final fight
                        tout fonctionne bien
                        => ce qui change d’un jeu à l’autre, c’est juste comment sont gérés les mémoires

                        Ajout konami crime fighter
                        cpu de merde, desassembleur
                        z80 puce son connue, juste la partie graphique était à faire

                        hardware différent d’un jeu à l’autre
                        konami asterix 68000

                        trucs communs dans la partie graphique
                        konami vendetta

                        Premier ordi : le CPC ! encore le Z80
                        Juste quelques craintes au début pour gérer la D7 mais finalement le format .dsk se gère facilement
                        taux de compatibilité pas terrible, toujours à cause du graphique, un peu comme l’émulateur megadrive. graphique en mode pixel près à faire

                        Nouveau défi, tenter d’émuler l’Amiga
                        objectif A500 de base 7mhz 512ko pour booter la rom, avoir la main
                        Puis ensuite lancer pinball dreams
                        super doc officielle commodore (quelques conneries mais ça va)

                        blitter en mode instantané et copper (mini cpu 3 instructions) au départ en mode ligne
                        gestion des bitplans, son bien documenté, pcm facile
                        fm super pourri (hyper limité 4 opérateurs) pas fait mais pas ou peu utilisé à priori

                        68000 ok, lecteur de D7 casse couille, 880ko doublé pour les bits de correction d’erreurs
                        le 68k lit nativement tous les bits, d’où plusieurs formats possibles, y compris pc
                        mais format adf bien documenté

                        objectif initial : crack intro du pinball dreams, un peu la souris, clavier
                        début gestion de sprites pour le jeu, la boule
                        Pinball dreams était en 64 couleurs ehb en trichant, pour allumer les lampes
                        tout marchait sauf f1 au début (guru)

                        gestion de collision sprites / plan non géré (jeu à la pong) mais pas ou peu utilisé à priori, usine à gaz

                        2° objectif Amiga : lancer pinball fantasies
                        améliorer le copper pour l’affichage en haut copperlist
                        2mo pour agnus

                        Essai de lancement demos, de plus en plus tournaient et de mieux en mieux
                        roots voulait un 68020, cela motivera à rajouter le cpu 32 bits un peu plus tard

                        Rajout du disque dur natif, c’est l’Amiga qui gère la table des partitions
                        Quelques jeux et applications dans le wb : monkey island, dpaint, dune2, flashback
                        bug gros fichiers résolu plus tard (un jeu de flipper ne fonctionnait pas à cause de ce bug)

                        => Ajout du fichier de conf alice.conf pour plusieurs modèles d’Amiga
                        Au début aga super light avec 68000 rom 3 palettes 256 couleurs

                        pinball illusions : le support de l’aga a été amélioré
                        les flips sont des sprites, la boule n’est plus un sprite (elle est plus jolie)

                        slamtilt à l’inverse, retour à la boule gérée en sprite comme dreams et fantasy
                        sprite hi res 16 couleurs quand mode entrelacé

                        Ce qui reste à faire sur 500 :
                        Écriture sur la d7
                        Gestion du filtre pour le son
                        Améliorer le mode entrelacé, pb synchro
                        Blitter en mode ligne à finaliser
                        Copper en mode pixel, copper compliqué, changement plusieurs fois pendant la ligne
                        Que l’émulateur soit bien synchro, le plus proche du cycle près
                        Ports parallels, série, que 2 lecteurs de d7 sont gérés pour l’instant
                        Reset au clavier (pas utile en émulation)
                        Codes d’erreur de clavier (pas utile en émulation)
                        Gestion des erreurs d7 et ide (pas utile en émulation)
                        D’autres trucs inutilisés
                        Correction de bugs…

                        Ce qui reste à faire pour le 1200 :
                        Sprites hi res sur fonds low res
                        Mode super hires
                        50 ou 60hz
                        Gérer réellement la fast, écriture en chip (lent – pas lent, galère à programmer)
                        Bug décalage scroll horizontal
                        Gestion du pcmcia
                        futur : gestion de la cd32

                        Général à Alice : ajout d’une gui

                        68K à reprogrammer de zéro « pour le fun »

                        => Toujours pas de diffusion prévue pour le moment, car :
                        Pas assez finalisé, ne dispose pas de GUI
                        Demandant un linux (32bits ou bidouilles dans les dépendances)

                        Ouverture du code envisageable après qu’Alice soit enfin diffusé

                        Amitoo

                          #351849

                          On sent que c’est du vécu.

                          A500+ / A1200 / CD32 et... Jaguar

                          Vincent-21

                            #351850

                            Super interview @mikedafunk . Merci de faire le relais!
                            On sent un réel plaisir d’apprendre et de passer les difficultés.
                            C’est son loisir.
                            Bon courage à lui pour la finalisation de son projet.

                            Région : Yvelines

                            BatteMan

                              #351865

                              Merci à vous deux, très intéressant à lire.


                              /me est abonné à ses vidéos Youtube et c’est toujours un plaisir d’avoir des nouvelles d’Alice 😉

                              Only Amiga makes it possible !

                              Anonyme

                                #351872

                                Épatant, impressionnant 🙂

                                Merci Mike pour cette entrevue 😉


                                /me adore ceux qui se lancent ce genre de défis 😎

                                mikedafunk

                                  #352250

                                  Autant l’Amiga 500 est bien documenté, autant les composants AGA et la puce Akiko ne le sont pas. Si jamais quelqu’un a ou trouve des documentations intéressantes, cela pourrait servir au développement de l’émulateur

                                  Sinon, ce qui est aussi intéressant, ce sont toutes les anecdotes concernant les jeux et les demos . Par exemple Superfrog qui est le seul jeu à avoir un écran « doublé » par une subtilité de programmation (le haut de l’écran répété au milieu), soucis aussi rencontré et résolu par le dev de winuae…
                                  Le menu à gauche de Banshee est un gros sprite (pas limité en hauteur)
                                  En affichant / cachant les sprites (touche 2 en mode dev), on peut voir des astuces dans les demos, ex : love

                                  Enfin j’ai demandé au dev de pouvoir calculer le nombre réel de couleurs affichées à l’écran (il fait une pause dans l’émulateur et calcule le nombre de couleurs affichées via un indexage)
                                  Cela prend donc en compte les dégradés Amiga ! Et par exemple sur la néogéo des jeux affichent environ 120 couleurs, ce qui n’est pas si énorme…

                                15 sujets de 91 à 105 (sur un total de 256)

                                • Vous devez être connecté pour répondre à ce sujet.

                                Forums AmigaOS, MorphOS et AROS Émulation et autres OS Développer des émulateurs pour passer le temps

                                Amiga Impact