Amstrad Plus Index du Forum

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Patch "The Demo"

 
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Actualités
Sujet précédent :: Sujet suivant  
Auteur Message
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Mer 8 Nov - 20:59 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

D'après CpcRulez, il circulerait une version de THE DEMO patchée par Longshot qui corrigerait un bug présent dans la partie "TurnDisk Over" !
Peux tu nous en dire plus ?
Quel était ce bug ? Que corrige t'il exactement ? ...
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Publicité






MessagePosté le: Mer 8 Nov - 20:59 (2017)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
cmp


Hors ligne

Inscrit le: 08 Sep 2014
Messages: 90
Localisation: nord

MessagePosté le: Jeu 9 Nov - 18:36 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Ah bon ? Smile
_________________
CMP from impact cpc


Revenir en haut
Skype
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Jeu 9 Nov - 18:44 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Et oui...
D'ailleurs @Longshot : pourrait on avoir une version fichier (pour xmass) ?
Par version xmass, j'entends avec un loader amsdos sans call #44 ni call #8bd...
Juste avec l'init AmsDos ^^
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Francouai


Hors ligne

Inscrit le: 23 Avr 2017
Messages: 89
Localisation: IDF

MessagePosté le: Jeu 9 Nov - 19:27 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Mais quelle demo cette demo a l'epoque...
Je ne savais pas qu'il y avait un bug sur turn disk aussi.
_________________
--
Francouai
6128+, ATARI STe, ATARI FALCON, AMIGA 1200.


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Jeu 9 Nov - 19:44 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Le bug était sur le Player St du turn disk.... Mais ce que ca faisait, je n'en sais rien...
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Jeu 9 Nov - 20:22 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Ast a écrit:
Le bug était sur le Player St du turn disk.... Mais ce que ca faisait, je n'en sais rien...


J'comprends pas que tu poses la question vu que la source que tu donnes dit bien ce que ça faisait...


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Jeu 9 Nov - 20:53 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

roudoudou a écrit:
Ast a écrit:
Le bug était sur le Player St du turn disk.... Mais ce que ca faisait, je n'en sais rien...


J'comprends pas que tu poses la question vu que la source que tu donnes dit bien ce que ça faisait...

La question est peut-être mal posée en effet. Je cherchais juste une explication sur les symptômes c'est tout!
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Longshot


Hors ligne

Inscrit le: 21 Nov 2015
Messages: 66

MessagePosté le: Sam 11 Nov - 13:05 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Le problème s'entend. Il s'agit du calcul de fréquence sur certaines notes en "decay".
Pour l'anecdote, j'avais corrigé ce bug lors de l'euromeeting 1 en allemagne avec Fefesse.

Plus techniquement,

               LD D,0               

               JR NC,NODEB1

               DEC D                

NODEB1
               ADD A,#A0         

               JR C,NODEB2     ; Bug : Correction JR NC,NODEB2

BCL1
               SLA E                    
               RL D                     
               ADD A,#18
               JR NC,BCL1
NODEB2
               ADD HL,DE
               EX DE,HL

Etant donné que le code est compressé, le patch est le suivant :

Dans la version avec loader standard (non musical), il faut repérer la séquence suivante :
60 02 2B 8D 40 70 11 et remplacer le 70 par un 60
Dans la version avec loader musical, il faut repérer la séquence suivante :
C0 04 57 1A 80 E0 et remplacer le E0 par un C0

Citation:
pourrait on avoir une version fichier (pour xmass) ?
Par version xmass, j'entends avec un loader amsdos sans call #44 ni call #8bd...
Juste avec l'init AmsDos

Mon objectif n'est pas de réécrire entièrement le loader
D'ailleurs c'est quoi un "loader amsdos sans call #44 ni call #8bd" ?


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Dim 12 Nov - 20:53 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Longshot a écrit:
D'ailleurs c'est quoi un "loader amsdos sans call #44 ni call #8bd" ?


iMPdos (et le dos albireo que développe OffseT en ce moment) patchent la rom 7 en y mettant ses propres entrées.
Les deux call du haut, le 2eme plus précisément réinintalise à leur valeur d'origine, les entrées des vecteurs patchés. C'est bête hein ?

Donc, la façon la plus propre de faire un load compatible avec les dernières mémoires de masse (Xmass, Albireo...) quand c'est possible c'est :

Code:

       ld c,7 ; init de la rom disc
       ld de,#40
       ld hl,#abff
       call #bccb
;
       ld hl,nom  ; pointe sur le nom du fichier a charger
       ld de,#c000 ; buffer
       ld b,nomfin-nom
       call #bc77 ; charge le header
;
       ld hl,#c000 ; adresse de chargement du fichier
       call #bc83 ; charge le fichier
;
       jp #bc7a
;
nom byte "longshot.scr"
nomfin
;


Serge, ne te méprends pas si j'ai inclus des commentaires dans le code source ci-dessus, c'est seulement à but explicatif, pour ceux qui ne sauraient pas comment s'y prendre, et il y en a !!!
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Longshot


Hors ligne

Inscrit le: 21 Nov 2015
Messages: 66

MessagePosté le: Dim 12 Nov - 21:44 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Tu fais bien de mettre des commentaires :-)

D'ailleurs, il y a deux boulettes.

Si tu fais un call #bccb, c'est pour initialiser toutes les roms, et non la rom 7 en particulier (C ne sert à rien)
Il faut donc remplacer #bccb par #bcce pour ne toucher que la rom disque.

Réinitialiser la rom disque ainsi est également à proscrire si on ne prévoit pas le second drive.
Il y a tellement eu de lanceurs binaire, qui une fois lancé sur le drive B, venait chercher la suite sur le drive A

    LD    A,(#A700)    ; Récupérer le drive
    PUSH    AF            ; Le mettre de côté
    LD    C,7
    LD    DE,#40
    LD    HL,#B0FF
    CALL    #BCCE        ; Init la rom C=7
    POP    AF                ; Récupérer le drive
    OR    A
    JR    Z,DISKA        ; Est ce le drive A ?
    RST    #18                ; Non repasser sur le drive B
    DW    LECTB            
DISKA
...
...

LECTB    DW    #CDDD
            DB    7


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Dim 12 Nov - 21:49 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

T'as bien fait de mettre ton début de source, car il y a aussi une erreur :

Pour récupérer le numéro de drive, on récupère celui ci au point d'entrée de l'AmsDos qui se situe à l'adresse #be7d. Ce point d'entrée est modifié en fonction du nombres (éventuel) de rom, branchées au cul du cpc...
donc, reprenons en cœur :

Code:
     ld hl,(#be7d) ; récupère l'adresse du point d'entrée de l'amsdos
     ld a,(hl) ; récupère le numéro du drive
...



Pour le vecteur, #bccb, oui, c'est une erreur, c'est bien le #bcce... erreur de ma part, comme quoi, trop de conviction, tue la conviction.

Donc, pour une lecture simplifiée, voici la dernière (?) routine..

Code:

     ld hl,(#be7D)
     ld a,(hl) ; a=ancien drive
     push af ; sauve drive
     push hl ; sauve point d'entrée AmsDos
;
     ld c,7 ; init rom 7
     ld de,#40
     ld hl,#abff
     call #bcce
;
     pop hl ; recupère adr point d'entrée de l'amsdos
     pop af ; récupère numéro de drive
     ld (hl),a ; on le repoke, car l'Amsdos Réinitialise le numéro de drive de départ, soit le A.
;
     ld hl,nom
     ld de,buffer
     ld b,nomfin-nom
     call #bc77 ; header
;
     ld hl,#100 ; on lit le fichier en #100
     call #bc83
;
     call #bc7a ; on ferme le fichier
;
     jp #8a0c ; on exécute le fichier
;
nom byte "longshot.bin"
finnom


Cela étant dit, merci tout de même pour ton explication concernant le patch de The Demo. Alors, penses-tu à faire une version fichier ?
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Longshot


Hors ligne

Inscrit le: 21 Nov 2015
Messages: 66

MessagePosté le: Mar 14 Nov - 20:52 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

En effet, c'est plus propre d'aller chercher l'adresse du drive ainsi.
Je ne pensais pas que remettre le drive à sa place suffisait.

Pour The Demo en fichiers : NIET!
Mr. Green


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Mar 14 Nov - 20:54 (2017)    Sujet du message: Patch "The Demo" Répondre en citant

Longshot a écrit:

Pour The Demo en fichiers : NIET!
Mr. Green

Méchant !!!
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 00:05 (2017)    Sujet du message: Patch "The Demo"

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Actualités Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com