MSX Village forum

La Place des Développeurs Recherche programmeur

Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 02/11/2014 à 20h03
Bonjour

Je projette de réaliser une série de Covox en cartouche.
Par contre l'intérêt de cette carte est limitée à cause de la quantité de mémoire nécessaire pour jouer un morceau complet.
En effet il faut 4Mo pour jouer 4 minutes de musique :p

J'avais bien pensé intégrer un mapper 4Mo à la cartouche mais :
Il y en a déjà pour 50€ rien qu'en mémoire :(
Ca rentre pas dans une cartouche standard :( :(
Il faut toujours attendre le chargement du morceau en RAM :( :( :(

J'ai essayé de lire le fichier octet par octet et de les balancer au port 91H mais en basic c'est pas assez rapide pour titiller correctement le convertisseur D/A. :lol

Je demande donc l'aide d'un programmeur LM pour faire soit un lecteur complet sous DOS, soit une routine que je pourrais appeler depuis le basic.
On peut aussi envisager une intégration en ROM du lecteur.

Le programmeur qui se lancera dans l'aventure sera récompensé par mon éternelle gratitude et bien entendu une cartouche Covox ^^

Merci par avance




ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5491

Le 02/11/2014 à 20h40
je ne comprend pas ce que tu veux que le programme fasse au juste ?
C'est un player qu'il te faut ?


banniere-ericb59e
Site web    
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5799

Le 02/11/2014 à 20h45
Ah va pas nous l'enerver toi, t'a vu la tete qu'il fait deja :D

Je savais meme pas que c'etait possible en cartouche ^^



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 02/11/2014 à 20h54
ericb59 :
C'est un player qu'il te faut ?


Oui un lecteur mais en streaming.
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5491

Le 02/11/2014 à 21h19
Fabf :
ericb59 :
C'est un player qu'il te faut ?


Oui un lecteur mais en streaming.


mais les datas sont stockés où ?


banniere-ericb59e
Site web    
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 02/11/2014 à 21h39
Bin dans le fichier audio sur le support de stockage ;)
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 03/11/2014 à 02h00
Ça n'est pas possible. Il faut faire un système comme dans le Music Module. Il faut une mémoire dédiée et une puce sonore (ou un contrôleur) capable de lire les données de sa mémoire indépendamment. Edité par GDX Le 03/11/2014 à 02h02
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/11/2014 à 07h57
Si c'est possible, les lecteur EVA le font, avec de la video en plus.
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 03/11/2014 à 08h02
Content de lire ce poste :)

Dans la série [non c'est pas possible]:

1) Tu prends une SCC dont il manque une masse (celle que l'on coupe accidentellement lorsqu'on veut placer un interrupteur et une fiche RCA et qu'on grignote trop la partie "haut droite" de la cartouche.

2) tu met le volume de la TV à fond.

3) tu lances playsmp avec n'importe quelle configuration. ( perso, j'étais à zéro et en mode no wait).

4) tu choisies la musique .WAV que tu veux de préférence en stéréo à 44khz et tu vas entendre ta musique jouer "PENDANT" le chargement.

C'est expérimental, mais cc'est encore une autre voix dans le sillage "Non c'est pas possible" :) Edité par igal Le 03/11/2014 à 08h03


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 03/11/2014 à 10h24
Fabf :
Si c'est possible, les lecteur EVA le font, avec de la video en plus.


Un fichier EVA n'est pas lu en streaming à ce que je sache. Edité par GDX Le 03/11/2014 à 10h29
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/11/2014 à 10h37
@GDX :
-Oui il faut juste le player sans aucune autre tâche annexe.
-Il est possible de faire un fichier EVA avec juste le son mais il est énorme.
-Ce ne sont pas les disques qui sont rarement supportés mais les interfaces, seuls la sunrise CF et la SD2.2 ont leur lecteur.

@igal :
Je sais pas ou tu vas chercher ces trucs de fou mais c'est peut être une idée à creuser :top

Dans l'absolue je pense que c'est vraiment réalisable, ma petite BEER IDE charge le fichier PCM au minimum 2 fois plus vite qu'il est relu.
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/11/2014 à 10h39
GDX :
Fabf :
Si c'est possible, les lecteur EVA le font, avec de la video en plus.


Un fichier EVA n'est pas lu en streaming à ce que je sache.


Et tu le case ou le fichier qui fait entre 30 et 100 Mo ? :hum





GDX si tu modifie pendant que je poste ça va être vite incompréhensible :lol
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 03/11/2014 à 10h54
Je n'ai jamais essayé le lire un EVA mais Konamiman dit que le DOS2 patché Fat16 ou même Nextor ne supporte pas les fichiers de plus de 32Mo.

Quand aux vidéos EVA, je suis étonné, je pensais que ça chargait tout en RAM avant les lire. Dans ce cas, quel est l'intérêt de gaver le MSX de RAM ?

De toutes façons, si c'est vraiment en streaming, je maintiens qu'on ne peut rien faire d'autre en même temps. Le fait que ça lit un octet en même temps pour la vidéo ne change pas grand-chose mais faire autre en même temps, ça serait une prouesse. Edité par GDX Le 03/11/2014 à 11h16
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 03/11/2014 à 14h26
A défaut de savoir ce qui se passe dans le MSX, voici comment le Fichier.EVA 2 est construit (compilé?) avec le script de Nyyrikki
Un tutoriel complet ici => http://www.msxvillage.fr/articles/articles.php?id=78&cat=5

Code TEXT :
 
dim palette(1000)
 
 
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
 
Set sound = fso.OpenTextFile("AUDIO.raw", 1, False, tristatefalse)
set evafile=fso.OpenTextFile("SORTIE.ev2",2,True,TristateFalse)
 
jokubyte=0
 
filenumber=0
 
DO
 
 
  filename = "F"+right("00000000"+hex(filenumber),7)+".SC2"
 
  filenumber=filenumber+1
 
  wscript.echo filename
 
 
  if not fso.FileExists (filename) then exit DO
 
  Set picture = fso.OpenTextFile(filename, 1, False, tristatefalse)
  header=picture.read(7)
 
 
  for i=1 to 48
   for x=1 to 11
    data=sound.read(1):sr=sr+1
    evafile.write(data)
    for y=1 to 11
     data=picture.read(1)
     evafile.write(data)
    next
   next
   data=sound.read(1):sr=sr+1
   evafile.write(data)
   for y=1 to 7
    data=picture.read(1)
    evafile.write(data)
   next
  next
 
  for i=&h1800 to &h1B7F
   data=picture.read(1)
  next
 
 
  for i=0 to 31
   palette(i)=asc(picture.read(1))
  next
 
  for i=&h1BA0 to &h1FFF
   data=picture.read(1)
  next
 
 
  for i=1 to 48
   for x=1 to 11
    data=sound.read(1):sr=sr+1
    evafile.write(data)
    for y=1 to 11
     data=picture.read(1)
     evafile.write(data)
    next
   next
   data=sound.read(1):sr=sr+1
   evafile.write(data)
   for y=1 to 7
    data=picture.read(1)
    evafile.write(data)
   next
  next
 
  i=0
  for x=1 to 11
   evafile.write(sound.read(1)):sr=sr+1
   for y=1 to 11
    evafile.write(chr(palette(i)))
    i=i+1
   next
  next
  evafile.write(sound.read(1)):sr=sr+1
  for y=1 to 7
   evafile.write(chr(0))
  next
 
  picture.close
 
  for i=97 to 105
   for x=1 to 11
    evafile.write(sound.read(1)):sr=sr+1
    for y=1 to 11
     evafile.write(chr(0))
    next
   next
   evafile.write(sound.read(1)):sr=sr+1
   for y=1 to 7
    evafile.write(chr(0))
   next
  next
 
   for y=1 to 40+jokubyte
    evafile.write(sound.read(1)):sr=sr+1
   next
 
 
  ' 13879 bytes
  for i=&h3A20+jokubyte to &h3BFD
   evafile.write(chr(0))
  next
 
   evafile.write(chr(jokubyte+&h20)+chr(&h05))
 
  jokubyte=jokubyte xor 1
 
  ' end of frame
 
LOOP
 
evafile.close
sound.close
 
wscript.echo "Sound bytes :" & sr
 


Par expérience, je peux affirmer que si l'on arrive à ne pas "intégrer l'image", la lecture du WAV peut être beaucoup beaucoup plus performante.
Ca c'est une certitude.

En fait Fabf veut simplement lire un SAMPLE en l'envoyant sur le COVOX en Continu.
Que ce soit du Streaming ou un subterfuge qui y ressemble, c'est un détail. L'important est que ça marche. :D

En l'état, le player EVA2 est capable de lire la somme de données suivante en 60 Hz.
[(IMAGES SCREEN 4 X 12 FPS) + (15750Hz X 8Bits) = Capacité globale du Streaming.

Reste a voir combien pèse une page SCREEN4 pour savoir combien de données Nyyrikki arrive à streamer avec son player ^^


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5799

Le 03/11/2014 à 14h40
Ca serait cool d'avoir un player permettant de lire un fichier en streaming d'un lecteur CF/SD ou d'un Ram disc ^^
Perso je vise plutot une banque de sons courte qu'une musique de 4 minutes.

Un player LM avec une instruction sous basic :glass, le top pour une application et une démocratisation du genre :top

10 IF....... THEN player"LOL.PCM" ^^ Edité par TurboSEB Le 03/11/2014 à 15h14



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie