musique 1-bit

Pour annoncer une rencontre du troisième type entre individus présentant des caractéristiques communes.

Modérateurs : Carl, Papy.G, fneck

Avatar du membre
yo_fr
Messages : 1319
Enregistré le : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr » 18 juil. 2016 17:12

En compilant vite fais il y a les labels _bb _cc qui sont redéfinis plusieurs fois. (ainsi que _aa _ee _ff _rs1 _rs2 ...)

Le fichier music.asm je suppose que c'est le même que sur l'octode2016 original ?

Un org 4200 m'irait mieux car en 4000 j'ai le boot loader de la plaine arduino.

..et cela donne un son mélangé et presque reconnaissable. Je ferais un enregistre ce soir, là je suis encore au boulot !

[L’extension txt a été désactivée et ne peut plus être affichée.]

Modifié en dernier par yo_fr le 18 juil. 2016 17:30, modifié 1 fois.

Avatar du membre
utz
Messages : 36
Enregistré le : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz » 18 juil. 2016 17:22

Oui, le fichier music.asm est le même que sur l'octode2016 original. Pas nécessaire de renommer les labels, il suffit d'utiliser l'option --alocal pour PASMO.

Edit: Oui, s'il te plaît faire un enregistrement. Il doit sonner presque exactement comme l'original. S'il y a des bruits étranges, je fait une erreur quelque part.

Avatar du membre
yo_fr
Messages : 1319
Enregistré le : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr » 18 juil. 2016 17:31

...ou moi dans le renommage des labels...

Source jointe ci dessus.
[EDIT] compilation de l'original avec l'option --local donne pareil.

jj

Avatar du membre
utz
Messages : 36
Enregistré le : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz » 18 juil. 2016 17:44

Je viens le parcouru rapidement, semble correct pour moi. Mais en cas de doute, utilise ma version et --alocal ;) En fait, j'oublié moi-même, parce que normalement j'invoque PASMO avec un script, que je copie simplement d'un autre projet à chaque fois. :o Un gros inconvénient de PASMO est qu'il n'a pas des labels anonymes.

Edit: Edit: D'accord, je l'attends ton enregistrement, puis.

Avatar du membre
yo_fr
Messages : 1319
Enregistré le : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr » 18 juil. 2016 19:27

Voila le fichier créé (MP3)

JJ

[L’extension txt a été désactivée et ne peut plus être affichée.]

(Seule modif : org à 4200 , compilé avec--alocal )

Avatar du membre
utz
Messages : 36
Enregistré le : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz » 18 juil. 2016 21:11

Aie! C'est terrible. Ok, je vais jeter un oeil demain.

Avatar du membre
utz
Messages : 36
Enregistré le : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz » 19 juil. 2016 11:01

J'ai essayé d'installer VBHector 3.1. Mais cela ne fonctionne pas ( "not a valid Win32 application", WinXP, .NET 3.5). Est-ce 64-bit?

Edit: Maintenant, je vais essayer de mettre en œuvre un convertisseur bin2k7. Mais je pense que je ne comprends pas correctement comment le faire. Je l'ai mis en œuvre comme suit:

1) pilote: 00 00 03 00 00 00 00
2) bloc de data: ff, dest lo-byte, dest hi-byte, lon lo-byte, lon hi-byte, 00 00, data de binaire
3) bloc de fin: fd, pc lo-byte, pc hi-byte, 00 00 00 00

Cela va planter MESS. Quelle est l'erreur?

Avatar du membre
yo_fr
Messages : 1319
Enregistré le : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr » 19 juil. 2016 14:17

il me semble qu'il y a ue erreur : en 1er c'est la longueur du bloc de commande et ensuite les data du bloc de commande suivi des data :

Dans la source K7.vb j'ai écris:

'
' En fait les 5 premiers octets c'est la longueur des data de la TOL, ainsi que l'adresse :
' longueur BLOC = Data(Pointeur_octet + 0) 'usuellement une TOL fait 5 octets
' Adr0 = Data(Pointeur_octet + 1)
' Adr1 = Data(Pointeur_octet + 2)
' Lon0 = Data(Pointeur_octet + 3)
' Lon1 = Data(Pointeur_octet + 4)
' code_TOL = Data(Pointeur_octet + 5)

le bloc ff serait donc plutot:
bloc de data: 05, dest lo-byte, dest hi-byte, lon lo-byte, lon hi-byte, FF , long_bloc1, data de binaire (256maxi),long_bloc2, data de binaire (256maxi), ....long_blocN, data de binaire (256maxi),long_Dernierbloc, data de binaire (256maxi parexemple 10)

(par exemple pour un bloc FF de 1000 octets, il y aurait 3 blocs de 256 octets + 1 bloc de 232 octets => 3*256 + 232 = 1000,
La longueur de 1000 étant paramétrée sur 16 bits dans le bloc de commande !)

[EDIT]
pour continuer l'exemple :
on charge des données en 4200h sur 1000d octets :
05 00 42 E8 03 FF 00 (256 premiers octets) 00 (256 suivants) 00 (256 suivants) E8 (232 derniers)

suivi d'un bloc de fin :
05 00 00 00 42 FD 00

et ça doit être tout !

[/EDIT]

exemple de trame (toujours dans la source k7.vb) :
' ce qui donne, par exemple, en début de cassette FORMULE1 :
' 05 00 40 A0 09 FE 01 00 05 DB 5F 02 00 FF…
' => 3 blocs :
' Le premier avec L= 05, code FE (à la fin) : fait un remplissage de l’écran (4000 @ écran BR, 9A0 : taille écran BR) avec l'octet du
' bloc de données suivant :
' Le 2eme Bloc L=01 paramètre = 00 (1 octet de donnée :0) est l'octet à mettre dans l'écran réclamé par le bloc FE...

' Le troisième bloc : avec le code de données (FF à la fin) sur 5 octets : à l'adresse 5FDB longueur de 0002 octets qui sera suivi d'un
' bloc de data d'une longueur de 2 !... Si la longueur était plus grande (supérieur à 256 octets) il y aura alors plusieurs bloc
' de données de 256 puis le dernier avec le modulo nécessaire..


Il ne faut pas confondre les commandes tel que décrites dans monitrix et les octets que l'on trouve sur la K7, même si c'est très proche. Ci dessous l'analyse d'un fichier K7 complète (hormis les lignes 4000 à 8090 supprimées pour entrer dans le quota de 300ko) :

[L’extension txt a été désactivée et ne peut plus être affichée.]

Il s'agit d'un jeu en basse résolution et affichage sur l'écran d'une image d’accueil avant les datas du programme proprement dit.

On vois bien, par exemple que le bloc d’amorce n'existe pas sur le fichier cassette : il s'agit des cycles de synchro en début de bloc. Dans mes codes j'avais du les ajouter pour laisser le temps au Z80 de respirer car justement ils n'existent pas.

(ce qui est nécessaire dans les bloc de remplissage : si on demande de remplir l'ensemble de l'écran, par exemple pour l'effacer, il faut bien que le Z80 effectue cette commande avant de lire la suite, or la cassette continue de défiler et on rate les octets suivants. ceci dis tu n'a pas a en tenir compte pour créer un fichier K7, ça c'est dans l'émulateur...)

Avatar du membre
utz
Messages : 36
Enregistré le : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz » 19 juil. 2016 16:03

Merci pour ton explication détaillée. Voilà, ça marche!
Je vais partager le convertisseur ce soir. Maintenant, je vais essayer de trouver l'erreur dans mon code de l'octode.

Avatar du membre
yo_fr
Messages : 1319
Enregistré le : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr » 19 juil. 2016 16:10

Parfait !

Le son dans MESS est il correcte ?
(c'est à dire comme dans mon enregistrement avec VBhector)

Avatar du membre
utz
Messages : 36
Enregistré le : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz » 19 juil. 2016 16:19

Non, il est encore pire. Mais pour le débogage, je espère qu'il suffit.
En outre, il me reste une petite nuisance. L'auto-start ne fonctionne pas, après le chargement Hector revient à l'écran principal (pour que le réglage de PC ne prend effet). Je peux initialiser le code via Monitrix, cependant.

Avatar du membre
utz
Messages : 36
Enregistré le : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz » 19 juil. 2016 17:11

Ah, tout ce travail juste pour trouver l'erreur la plus stupide de tous les temps.
La première instruction dans le code devrait être l'instruction "DI", et ce manque. Maintenant, dans MESS ça sonne encore très mal, mais cela peut être l'émulation. Pourrais-tu tester une fois de plus en VBHector, avec le "DI" manquant ajouté?

Avatar du membre
farvardin
Messages : 356
Enregistré le : 27 déc. 2014 16:07
Contact :

Re: Concours de musique 1-bit

Message par farvardin » 19 juil. 2016 17:13

J'ai essayé d'installer VBHector 3.1. Mais cela ne fonctionne pas ( "not a valid Win32 application", WinXP, .NET 3.5). Est-ce 64-bit?
@utz, j'ai essayé également d'utiliser vbhector avec wine, et c'est un binaire pour le framework .net, et en 64 bit:
file VB_Hector.exe
VB_Hector.exe: PE32+ executable (GUI) x86-64 Mono/.Net assembly, for MS Windows
Ça devrait fonctionner avec virtualbox, mais il faut une installation 64 bit évidemment.

Avatar du membre
yo_fr
Messages : 1319
Enregistré le : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr » 19 juil. 2016 17:15

...Je peux facilement le compiler en 32bits. Pour le framework je peux rien faire!

Avatar du membre
yo_fr
Messages : 1319
Enregistré le : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr » 19 juil. 2016 17:36

Effectivement le bug le plus court du monde !

Là ça sonne correcte !

[L’extension txt a été désactivée et ne peut plus être affichée.]


Répondre