Poner musica en backgrouns en juego 8 bits

Iniciado por GoBrit, 17 Mayo 2013, 22:26 PM

0 Miembros y 1 Visitante están viendo este tema.

GoBrit

Hola,

Primero de todo decir que es mi primer post y no se si esta bien situado en esta sección. Si no lo esta pido disculpas.

Pues tengo una practica para la universidad que consiste en las interrupciones al sistema, el modo vídeo (VGA) y el acceso directo a memoria. El profesor nos propuso que hiciésemos un juego en el que tratáramos todos estos temas.

Yo, el juego ya lo tengo hecho incluyendo todo esto y el tema de las interrupciones al sistema lo domino bastante. Trabajamos con un emulador de MSDOS, que se llama DosBox y programo el juego en C, compilando con borland.

Aquí viene el kit de la cuestión: Como puedo hacer una interrupción al timer que me ponga música en modo background. El objetivo es a partir de un archivo .wav y haciendo una interrupción al timer (0x08 -> Tema interrupción dominado) hacer sonar el la canción que contiene el fichero .wav.

He estado buscando información, de como leer un fichero .wav, pero sin exito. Hasta el momento se la estructura que tiene un fichero binario, pero no se ni como leerlo ni como reproducirlo. Se que se puede hacer porque lo estuve ablando con el profesor, pero el no me quiere dar los medios para hacerlo, dice que investigue.

Muchas Gracias

Puntoinfinito

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

GoBrit

Hola

La verdad es que ya había oído hablar de esta librería, la SDL y me han ido muy bien los enlaces de Puntoinfinito para poder entender como funciona la libreria SDL.

He estado unos días remendando esta librería en Ubuntu y funciona correctamente, se como utilizarla. El problema viene al querer combinarla con DosBox. He intentado descargarme la librería SDL y descomprimirla en la carpeta borlandc/include, pero ni siquiera así ha funcionado.

No se como hacerlo. He estado buscando información pero sin resultados satisfactorios. En DosBox trabajo con el compilador "borlandc" y en el momento de compilar mis programas ejecuto el comando:
bcc -Ic:\borlandc\include -Lc:\borlandc\lib %1

No se como combinar SDL y DosBox, alguna idea?¿

Muchas Gracias

Puntoinfinito

Lo siento, nunca he utilizado DosBox, pero cual es exactamente el problema? Porque quieres usar DosBox con SDL mixer?
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

GoBrit

Hola de nuevo,

Pues el motivo por el que tengo que utilizar DosBox es porque en esta asignatura llamada "COMPUTADORES" el profesor nos pide que accedamos directamente a hardware desde software. El mismo nos dijo que utilizáramos DosBox, ya que es un programa que simula el DOS system, con el cual podemos acceder a hardware desde software.

Las practicas de este temario son 3:
-Hacer un programa que lea las teclas pulsadas (keylogger) mediante el acceso a los registros por dos métodos diferentes: pooling y interrupciones al sistema. (OK)
-Pasar a modo vídeo y pintar en pantalla utilizando la función "int86" y acceso directo a memoria (DMA). (OK)
-Hacer un juego simple que utilice lo aprendido anteriormente. (OK)

Todo esto ya lo tengo hecho, el único problema es que quiero poder ponerle música al juego, pero no se como instalar la librería SDL (ya la se hacer servir) en borlandc que es el compilador que utilizo para compilar en DosBox (Virtual DOS system).

Muchas Gracias

leosansan

Cita de: GoBrit en 17 Mayo 2013, 22:26 PM
Hola,
...........................................................................
Aquí viene el kit de la cuestión: Como puedo hacer una interrupción al timer que me ponga música en modo background. El objetivo es a partir de un archivo .wav y haciendo una interrupción al timer (0x08 -> Tema interrupción dominado) hacer sonar el la canción que contiene el fichero .wav.
..........................................................

No me he aclarado mucho con tu problema. Por lo que entiendo está en "reproducir" el archivo .wav, para lo cual la única información necesaria es su ruta de acceso. Pues eso, si lo que quieres es reproducir un .wav o un ,mp3 o lo que sea hay varias posibilidades:

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
   system("C:\\WINDOWS\\Media\\notify.wav");
   sndPlaySound("C:\\WINDOWS\\Media\\notify.wav",0);
   system("C:/219.mp3");
   return 0;
}


Las barras las pongo de una forma u otra, según me da,

Hay un porrón de funciones en las API relacionadas con la reproducción, para empezar.

No sé si es algo de lo que buscas, pero or intentarlo que no quede.

Saluditos!. ... ..