[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 : Papy.G, fneck, Carl

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

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par Sebiohazard »

Hello !

Il suffit de peu de choses... une commande pour démarrer avec des cassettes -cass une avec des disquettes -disk ou -flop & une autre pour le plein écran -fs ou -fullscreen à la façon de MAME :)

As-tu songé à un portage sur RetroArch avec un core libretro (amspirit_libretro) ? Je ne sais pas si c'est compliqué à porter ou pas ?

Salutations !
Image
cathodique
Messages : 25
Inscription : 22 nov. 2022 10:38

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par cathodique »

Sebiohazard a écrit : 25 févr. 2023 00:29 OK mais les autres émulateurs CPC le proposent... dont MAME & Caprice 32...
Peu importe, ce n'est pas le rendu d'un CPC. Les CPC ont des écrans en shadowmask, ça donne au contraire un effet de grille vertical! et ça va aussi donner une forme élipsoidale aux pixels, c'est tout le charme du CPC!
Avatar de l’utilisateur
Sebiohazard
Messages : 425
Inscription : 30 avr. 2019 15:07

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par Sebiohazard »

& puis ??? Si certaines personnes aiment les scanlines ??? Où est le problème ?! Si c'est une option en quoi cela dérange ? Si on aime on l'active sinon...
Image
cathodique
Messages : 25
Inscription : 22 nov. 2022 10:38

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par cathodique »

Je trouve dommage de passer à côté du "spirit" du CPC
Une telle option ne devrait en effet déranger personne (puisqu'une option se désactive) sauf que...
Comme tu le fais remarquer, des émulateurs proposent déjà les scanlines que le CPC n'a jamais eu, sans proposer le shadowmask :(
Donc je prêche pour ma paroisse!
Que les auteurs ajoutent tous les filtres les plus délirants qu'ils veulent, mais après avoir mis celui qui représente le CPC :P
Avatar de l’utilisateur
Sebiohazard
Messages : 425
Inscription : 30 avr. 2019 15:07

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par Sebiohazard »

Je ne vois pas ce qu'est le " shadowmask " peux-tu me montrer ?
Image
cathodique
Messages : 25
Inscription : 22 nov. 2022 10:38

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par cathodique »

Image

L'effet de grille verticale s'obtient avec les couleurs où une seule des composantes RGB est au taquet
Et comme les blocs RGB de l'écran sont entrelacés, on n'a pas la grille horizontale (enfin si, mais moins)
Avatar de l’utilisateur
Sebiohazard
Messages : 425
Inscription : 30 avr. 2019 15:07

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par Sebiohazard »

OK merci je vois tu es un spécialiste vu ton pseudo :)
Image
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par hlide »

Je rejoins parfaitement @cathodique. Le scanline qui nous est présenté comme l'entrelacement de lignes noires ou plus foncées est une aberration si on pense reproduire le même effet sur un CRT. Le pire, c'est qu'il y a des différences de masque entre les CRT. En particulier, les moniteurs de CPC n'ont pas ces lignes horizontales. Il y a des filtres qui permettent de reproduire les effets plus subtilement mais cela consiste à ne pas représenter un pixel par une pure couleur mais à reproduire ces grilles RGB (il vaut mieux avoir une résolution 2K/4K).
Avatar de l’utilisateur
ThomasR
Messages : 39
Inscription : 16 janv. 2019 09:02

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par ThomasR »

Hello Dmanu !


If there is a file "DISC.BAS" on a disc then some emulators start that - or the first Basic program on disc - automatically. Will you offer this feature?

Here is a disc that contains such a (hidden) file.
KUBUSCOL.ZIP
please rename it to "KUBUSCOL.DSK"
(190.25 Kio) Téléchargé 64 fois
RUN "DISC" will start a program (of 1985!) that helps to solve a Rubik's Cube. Use only capital letters to work with it. The program was written by a Belgian author and shows the colors of the cube as letters.

I changed the program to show the colors of the cube as colored squares.
some screenshots of both versions
some screenshots of both versions
KUBUS.png (247.83 Kio) Consulté 4318 fois
The original program is also there (KUBUS.ASC). To start the old version you have to type

LOAD "DISC"
DELETE 1000-30090
MERGE "KUBUS.ASC"
RUN

Function B will not work in Locomotive Basic because Jan Broeckx used tricks that are not accepted by all BASICs - for instance this kind of cascading of FORs and THENs:

Code : Tout sélectionner

...
4100 ON f GOTO 4110,4120,4130,4140,4150,4160,4320
4110 FOR i=1 TO 3:FOR j=4 TO 6:GOTO 4170
4120 FOR i=4 TO 6:FOR j=1 TO 3:GOTO 4170
4130 FOR i=4 TO 6:FOR j=4 TO 6:GOTO 4170
4140 FOR i=4 TO 6:FOR j=7 TO 9:GOTO 4170
4150 FOR i=4 TO 6:FOR j=10 TO 12:GOTO 4170
4160 FOR i=7 TO 9:FOR j=4 TO 6
4170 IF a<0 THEN NEXT j:NEXT i:GOTO 4000
4180 IF a$="F" THEN NEXT j:NEXT i:a$="":GOTO 4000
4190 IF a$="M" THEN NEXT j:NEXT i:a$="":GOTO 3000
4200 ho=j*3:ve=i+3:GOSUB 110:PRINT"??"
4210 ve=21:ho=0:GOSUB 110
4220 PRINT"WELKE KLEUR HEEFT HET BLOKJE (";i;",";j;") ";
4230 GOSUB 210:a$=in$:PRINT a$
4240 ho=j*3:ve=i+3:GOSUB 110:PRINT a$;a$
4250 IF a$="F" THEN NEXT j:NEXT i:a$="":GOTO 4000
4260 IF a$="M" THEN NEXT j:NEXT i:a$="":GOTO 3000
4270 GOSUB 10000:IF a=0 THEN 4200
4280 IF a<0 THEN NEXT j:NEXT i:GOTO 4000
4290 a(i,j)=a
4300 ve=21:ho=35:GOSUB 110:PRINT"  "
4310 NEXT j:NEXT i:f=f+1:GOTO 4100
,,,
But is does work here: http://robhagemans.github.io/basicode/b ... _Rubik.bc2 . This is an online Bascoder there you can find (and use!) many other programs, too.

EDIT: It also runs under CP/M and BBC Basic:
KUBUSBBC.png
KUBUSBBC.png (82.68 Kio) Consulté 4272 fois

Best regards,

Thomas
Dernière modification par ThomasR le 10 avr. 2023 14:17, modifié 7 fois.
TotO
Messages : 114
Inscription : 17 avr. 2015 23:31

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par TotO »

hlide a écrit : 09 mars 2023 18:07Je rejoins parfaitement @cathodique. Le scanline qui nous est présenté comme l'entrelacement de lignes noires ou plus foncées est une aberration si on pense reproduire le même effet sur un CRT. Le pire, c'est qu'il y a des différences de masque entre les CRT. En particulier, les moniteurs de CPC n'ont pas ces lignes horizontales.
Le soucis, c'est qu'on a beau montrer ces images (shadow mask, aperture grid) depuis 10 ans aux personnes qui font des émulateurs, ils ajoutent quand même cet effet "gratuit" (voir un flou PAL/NTSC composite) au CPC, parce que les autres machines le font.

A noter quand même qu'il y a bien des scanlines sur le GT64 en monochrome, car pas de masque.
hlide a écrit : 09 mars 2023 18:07Il y a des filtres qui permettent de reproduire les effets plus subtilement mais cela consiste à ne pas représenter un pixel par une pure couleur mais à reproduire ces grilles RGB (il vaut mieux avoir une résolution 2K/4K).
Tout à fait... Et beaucoup de luminosité et de contraste pour compenser. Bref, ça relève de l'émulation de l'afficheur et non du CPC.
Dmanu78
Messages : 268
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par Dmanu78 »

oui, c'est la limite de l'exercice. L'émulation d'un moniteur CTM644 fait-elle partie de l'émulation d'un CPC... ?
Certains pensent que oui car le moniteur CTM du CPC est incontournable du CPC et sans effets spécifiques à certaines démos (effets de distord ou de "vagues") ne sont possible qu'avec des moniteurs CTM...ça foire sur un écran LCD ou sur d'autre modèle d'écran cathodique...

bon, sur Amspirit j'émule certains effets du CTM et notamment sur la prochaine version à sortir, le scroll horizontal hard au pixel Mode 1 mais c'est assez compliqué à émuler ces bêtes là...

Sinon la prochaine release de AmspiriT est quasi-prête à sortir...Je vous annonce tout cela très bientôt. :D
Dmanu78
Messages : 268
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par Dmanu78 »

Ça y est enfin. Après de longs mois d'attente, j'ai le plaisir de vous annoncer la sortie officielle de la nouvelle version de Amspirit 0.845b.

Au programme de cette nouvelle version, le gros morceau du jour c'est l'implémentation complète de l'émulation du CRTC 4 dit "pré-ASIC" équipant les dernières générations de CPC "old" avant l'arrivée de la gamme des CPC+ ; C'est un avant-goût de l'émulation du CPC+ qui contient la même base technique.

Ensuite pour les nouveautés secondaires :
- Les ROMs additionnelles sont désormais gérées et vous pouvez ajouter jusqu'à 15 nouvelles ROMs simultanément.
- Un gros (et compliqué) boulot a été fait sur la gestion du moniteur (CTM) pour gérer les effets de distord notamment et les dernières techniques de scroll hard au pixel M1 récemment découvertes par @CheshireCat et @Longshot (les spécialistes du développement CPC les reconnaitront).
- Un gros chantier d'export du Core Amspirit a été effectué afin de le migrer dans une librairie dédiée, indépendant de tout API propriétaire. Cette opération sensible m'a pris plusieurs mois mais permettra à terme de faciliter les portages vers d'autres OS que Windows :)
- Enfin, de nombreuses petites corrections portant sur l'émulation proprement dite ont été apportées, quelques améliorations comme la gestion des fichiers CDT (ajout du BLOC "Direct Recording" permettant de lire correctement certains fichiers cassette) et petite cerise sur le gâteau, j'ai ajouté une petite icône permettant de couper le son ( cosmétique donc indispensable :D )

Enfin, dernière nouveauté, Amspirit a désormais son site internet bien à lui. Pour l'instant c'est assez minimaliste mais c'est le début. Je remercie grandement @Siko qui a accepté de créer le portail dédié :
https://amspirit.amstrad.info/

Désormais les dernières versions de AmspiriT seront directement téléchargeables à partir de ce site. Je l'enrichirais assez régulièrement mais je vous rassure, je vous continuerai à vous communiquer des news sur ce forum.
cathodique
Messages : 25
Inscription : 22 nov. 2022 10:38

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par cathodique »

Très bien de l'avoir mis sur un site, ça permet à des agrégateurs de news de pouvoir venir récupérer automatiquement les mises à jour et mettre + de monde au courant. Que des bonnes nouvelles dans le changelog, bravo!
Dmanu78
Messages : 268
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par Dmanu78 »

Bonsoir à tous,

Petite surprise de dernière minute, une nouvelle version de AmspiriT (v0.863b) vient d'être mise en ligne sur le portail officiel :
https://amspirit.amstrad.info/

Cette version apporte surtout des corrections sur divers petits bugs qui m'ont été remontés à la suite de la sortie de la version précédente de AmspiriT.

Au programme de cette version :
- Divers petits correctifs sur l’émulation du FDC et du CRTC
- Correction d’un bug sur l’émulation du PSG.
- Amélioration de la gestion des Roms Additionnelles
- Implémentation de paramètres pour faciliter le lancement automatique d'un programme via une ligne de commande.
- Nouveau visuel sur le portail internet (merci @CED pour ce beau graphique).

Les corrections apportées au niveau de l'émulation du FDC permettent notamment de passer le test de détection présent dans le jeu "Open Tower Defense".

Image
Une protection assez stricte. Pour avoir l'honneur de cet écran, il faut passer avec succès une bonne quinzaine de conditions différentes !

Rien de bien majeur par rapport à la version précédente donc mais quelques aménagements bienvenus.

Avec cette nouvelle version de AmspiriT, vous avez certainement la meilleure qualité d'émulation (visuellement parlant) qui ne soit jamais sortie sur CPC. Grâce à l'accompagnement technique de @longshot, tous les types de CRTC de la gamme "non plus" (0,1,2 et pré-ASIC) sont émulés quasi parfaitement, (les résultats des acid-tests de shaker me permettent d'être assez catégorique dessus), la précision des timings des signaux gérés au 1/16Mhz est sans équivalent, permettant de passer la protection d'origine utilisée pour la démo REVOLOG de @longshot qu'aucun autre émulateur CPC n'arrive à exécuter à ce jour (Démo CRTC 0).
Revolog_FIRST-VERSION.zip
Démo Revolog-First version
(24.03 Kio) Téléchargé 56 fois


Il reste bien entendu énormément de choses à améliorer , comme toujours sur un émulateur. Il faudra que je réécrive la gestion du FDC pour plus de précision. @Lone avait raison sur ce point, j'atteins une impasse avec l'émulation actuelle du FDC et l'émulation du CTM644 (moniteur Amstrad) est loin d'être parfaite encore. Certains effets ne sont pas correctement rendus.

En parallèle, petite cerise sur le gâteau, des essais de compilation du Core AmspiriT sous d'autres systèmes que Windows (Linux notamment) sont actuellement en cours avec des résultats probants. Des nouvelles à ce sujet devraient parvenir sous peu :)

Voilà pour ce soir, amusez vous bien :)
TotO
Messages : 114
Inscription : 17 avr. 2015 23:31

Re: [EMULATION AMSTRAD CPC] AMSpiriT - work in Progress

Message par TotO »

Dmanu78 a écrit : 10 avr. 2023 00:02 oui, c'est la limite de l'exercice. L'émulation d'un moniteur CTM644 fait-elle partie de l'émulation d'un CPC... ?
Certains pensent que oui car le moniteur CTM du CPC est incontournable du CPC et sans effets spécifiques à certaines démos (effets de distord ou de "vagues") ne sont possible qu'avec des moniteurs CTM...ça foire sur un écran LCD ou sur d'autre modèle d'écran cathodique...
Désolé, je n'avais pas reçu de notification concernant cette réponse.

Le CPC était vendu soit avec le moniteur, soit avec le module MP-1 / MP-2 qui intègre aucune électronique avancée, par économie.
Oui, certains effets ne sont pas possible avec un autre afficheur que le CTM et inversement*. Il y a des limitations dans les deux cas.

Je trouve correct de souhaiter apporter une émulation "fonctionnelle" du CTM pour ne pas nuire aux logiciels (démo, jeux) existants.
Je ne trouve pas pertinent de souhaiter altérer l'affichage dans une émulation CPC, cela est le role d'une émulation "visuelle" du CTM.

Bravo pour les dernières évolutions !

* On peut afficher beaucoup plus de couleurs sur une télé CRT en jouant avec la HBLANK.
Répondre