Willkommen im cgboard - classic games Forum! Deine gemütliche Retro Gaming Community. Besuche uns auch im Discord Chat.

Mad News DosBox Problem: Audio-CD mit MCI Zugriff
#1
0
ich sitze gerade an der Audio-CD Version von Mad News

folgendes Problem: Mad News spielt unter DosBox normalerweise nicht die Audio-CD ab


1: unter D-Fend habe ich es hinbekommen:
(hab in meinem Windows das Mad News .cue Image ins virtuelle Laufwerk L gelegt)
[Bild: ME3DIW0_t.jpg]

die configdatei von D-Fend sieht dann so aus: mount E "L:\" -t cdrom -IOCTL_MCI

bei anderen Einstellungen des CD Images ertönt keine Musik von CD

2: ich habe es nun mit meiner portable Dosbox probiert
- bei der normalen Daum Dosbox version springt schon mal gar nicht das Spiel an sich an
- habe nun einen Mix der Daum und der normalen Dosbox gebaut, klappt auch alles gut, aber die CD-Audio geht wieder nicht.
habe in meiner Config auch stehen, in dem Fall:

imgmount e .\Drives\News\Images\MAD_NEWS_CD.cue -t cdrom -ioctl_mci

geht aber nicht...

habe sogar es mit der orginal DosBox Version von D-Fend versucht, keine Chance, ich habe hier echt lange rumprobiert, aber klappt nicht.

Die seite hat mir leider auch nicht großartig weitergeholfen: https://www.dosbox.com/DOSBoxManual.html

kann das mal bitte jemand von euch probieren?

hab schon alles vorbereitet:
https://filehorst.de/download.php?file=dobfHjFC

Danke!!!!!
Zitieren
#2
0
(05.09.2021, 07:47)lopez72 schrieb: imgmount e .\Drives\News\Images\MAD_NEWS_CD.cue -t cdrom -ioctl_mci

geht aber nicht...

Ich hätte es so gemacht:

imgmount e .\Drives\News\Images\MAD_NEWS_CD.cue -t iso -fs iso
Zitieren
#3
0
gerade probiert, geht leider auch nicht
Zitieren
#4
0
(05.09.2021, 09:39)lopez72 schrieb: gerade probiert, geht leider auch nicht

Mist. Ich benutze allerdings auch ein anderes Betriebssystem und die aktuelle SVN von der ECE-Seite.
Zitieren
#5
0
mit der ECE habe ich es auch schon probiert

ich habe sogar eine mix CD mit OGG datein erstellt (da bin ich mir aber nicht sicher ob das geklappt hat), genau das gleiche problem.

irgendwo habe ich da einen denkfehler, wäre es cool wenn sich jemand mal die version anschauen könnte
Zitieren
#6
0
(05.09.2021, 09:53)lopez72 schrieb: mit der ECE habe ich es auch schon probiert

Nicht ECE. Die aktuelle SVN von der ECE-Seite. Die Download-Sektion dort ist aber gerade eh offline - mal wieder. Rolleyes
Zitieren
#7
0
kannst du mir es irgendwo hochladen?

dann kann ich mich heute abend noch mal dran setzen, aber wer weiß ob es überhaupt damit klappt

eventuell liegt es auch am mapper von dosbox, naja mal schauen

wäre einfach cool wenn die audio cd klappen würde, immerhin stammt die von Chris“ Hülsbeck Wink
Zitieren
#8
0
(05.09.2021, 10:20)lopez72 schrieb: kannst du mir es irgendwo hochladen?

Klaro!

DOSBox r4465
Zitieren
#9
0
so ich hab mal das ganze ausprobiert, also keine der dosbox versionen funktioniert, aber ich konnte das problem eingrenzen:

- die audio-cd wird bei mad news nur angesteurt wenn das CD-Laufwerk im Lowlevel angesteuert wird (siehe D-Fend oben)
=> das Mad News Image muss in ein virtuelles Laufwerk (z.b DAEMON) und dann in der Dosbox muss dann stehen ".. -t cdrom -IOCTL_MCI"
= Mad News kann dann auch die Audio-CD lesen

- wenn man nicht im Lowlevel ansteuert gibt es keine Musik, habe es sogar mit der Orginal CD im richtigen Windows Laufwerk probiert.

= ich möchte aber nun nicht jedesmal irgend eine Image Datei oder eine richtige CD in ein Windowslaufwerk legen sondern möchte das Dosbox sich selbst das richtige image holt.

ich glaube aber dieser Lowlevel befehl " -t cdrom -IOCTL_MCI" gibt es nur für das Laufwerk, aber ich möchte Dosbox sagen das es selbst sich das Image schnappen soll und selbst mounten soll
DosBox kennt ja nur z.b "IMGMOUNT E C:\Images\MyImage.cue -t iso"

in dem beispiel müsste es dann mit dem Lowlevel heißen :
"IMGMOUNT E C:\Images\MyImage.cue -t iso -IOCTL_MCI"

= ich glaube aber DosBox kann keine Images (in dem Fall .cue Datein) im Lowlevel einlesen
ich habe keine ahnung ob ihr mir folgen könnt, aber da muss doch irgendjemand da draussen sein der sich mit dosbox auskennt und eine lösung dafür findet ^^
_______

als alternative: kann jemand von euch eine Audio-Mix CD (bin+cue) image datei in eine image datei + ogg audio tracks umwandeln?

wenn ja:
hier ist die audio-mix cd von mad news:
[Bild: ME3E6HE_t.jpg] [Bild: ME3E6HF_t.jpg]

https://filehorst.de/d/dpFpigtu
Zitieren
#10
0
Bei mir in der Dosbox Funktioniert das. Entweder mit der Cue oder mit einem CHD. Kein Rumgebastel. Hatte ich einfach in dein Verzeichnis reinkopiert. Unterscheid zu den Dosboxen und meiner Github Version zu meiner Home Version ist der Offset Code in der routine CDROM_Interface_Image::GetAudioSub. ( Source\dos\cdrom\cdrom_image.cpp ). Mad news benötigt den Offset 4231. Nicht 150. Du kannst  es als Bug melden. Ich hatte  das mal Testerweise auf standard  gesetzt (150) wie bei den ganzen dosboxen. Lüppt nicht. Also muss der Startframe ausgesene und übergeben werden.

Datei von filehorst.de laden
Falls benötigt. Hier ist meine Version.
Zitieren
#11
0
hi Traxx,

ich hab es probiert, und habe es ersetzt, aber nun startet noch nicht mal dosbox, kannst du mir mal dein fertiges paket hochladen also wo du das in mein verzeichniss reinkopiert hast, weil bei mir klappt das nicht, eventuell mache ich was falsch ^^
Zitieren
#12
0
(05.09.2021, 17:43)lopez72 schrieb: hi Traxx,

ich hab es probiert, und habe es ersetzt, aber nun startet noch nicht mal dosbox, kannst du mir mal dein fertiges paket hochladen also wo du das in mein verzeichniss reinkopiert hast, weil bei mir klappt das nicht, eventuell mache ich was falsch ^^
Liegt an der Config
Zitieren
#13
0
tut mir leid, aber auch immer noch keine musik... Sad(

- ich habe zur sicherheit noch mal mein paket vom ersten post hier runtergeladen, dann deine config datei eingefügt und ersetzt und gestartet
- spiel startet, aber ohne musik

ich habe dann noch mal zur sicherheit deine dosbox.exe reinkopiert und ersetzt und gestartet, dann passierte wieder absolut nix...

was können wir nun noch machen?

ich habe zur sicherheit die orginal cd mal nur mir 4x lesegeschwindigkeit in eine bin+cue datei umgewandelt, eventuell liegt es daran, aber auch keine musik...
Zitieren
#14
0
Keine Ahnung. Bei mir lüppt das mit CD Sound. Geändert nur die Config und Dosbox. *schulterzuck*
Starte nur einfach das im Dosbox verzeichnis über der CMD mit Dosbox -conf "Mad-News.conf".
Zitieren
#15
0
ich gebe zu ich versteh dich nicht, ich bin kein informatik nerd, oder ein programmierer, ich habe keine ahnung was du mit CMD meinst
und außerdem versteh ich nicht was du meinst mit "über der CMD mit Dosbox -conf "Mad-News.conf"

somit, es tut mir leid, aber könntest du es entweder etwas detalierter beschrieben ,screenshots machen oder ein video, oder dein dosbox ordner etc, weil so komme ich leider nicht weiter, oder ich sehe den wald vor lauter bäumen nicht, da ich seit 5 stunden schon wieder heute an dem problem sitz

danke für deine zeit!
Zitieren
#16
0
Geht es denn mit PCem?
[PCem] MS-DOS-Emulator (v17)?
Zitieren
#17
0
hätte ich probiert, wenn es in dosbox absolut keinen weg gegeben hätte
(hab es mir mal gerade angeschaut, ist sicherlich ein echt cooles tool, und da kann man sicherlich jede menge damit machen, aber ich gebe zu auf die schnelle habe ich absolut keine ahnung wie ich da das spiel mit dem cue image etc einbinden soll. ich war schon glücklich halbwegs mich mit dosbox auszukennen.
darüber hinaus möchte ich auch kein spielpaket haben wo erstmal 1GB nur daten sind und dann kommt noch das eigentliche spiel dazu.
also im vergleich zu den 50MB der dosbox meine ich.

ich versteh es eh nicht, bei fast 70 spielen gab es kein problem, da hab ich das mit der dosbox immer hinbekommen nur das hier ist so eine harte nuss
Zitieren
#18
0
Du wählst "Schnellstart" aus und wenn das System geladen wurde, klickst du oben einfach auf "CD-ROM", "load image" und wählst es aus, dann ist es auch schon geladen. Ist also sogar noch einfacher als mit DOSBox. Aber ja, das Paket damit etwas größer.
Zitieren
#19
0
(05.09.2021, 19:04)lopez72 schrieb: ich gebe zu ich versteh dich nicht, ich bin kein informatik nerd, oder ein programmierer, ich habe keine ahnung was du mit CMD meinst
und außerdem versteh ich nicht was du meinst mit "über der CMD mit Dosbox -conf "Mad-News.conf"

somit, es tut mir leid, aber könntest du es entweder etwas detalierter beschrieben ,screenshots machen oder ein video, oder dein dosbox ordner etc, weil so komme ich leider nicht weiter, oder ich sehe den wald vor lauter bäumen nicht, da ich seit 5 stunden schon wieder heute an dem problem sitz

danke für deine zeit!

So. Ausgeschlafen,

Ich habe dir wat hochgeladen. Datei von filehorst.de laden
knapp 260mb gross.

Interessant. Normal bin ich immer derjenige der mit Abkürzungen überfordert ist vorallem wen diese aus der Tik Tok/Whatsapp etc.. scene kommen. Bin auch kein Informatiker.

Also CMD = Commandline aka "Eingebaufforderung"
M
al sehen wie ich dir dat erkläre. .... Dosbox-X, Daum oder meine Version nutzen ein zusätzlichen IDE Atapi Code für das funktionieren der CD-DROM/Festplatten. Quasi eine erweiterung zu den der Standard, ECE. Der IDE Code wird auch benötigt um in Dosbox unter Windows 95/98 das CDRom einzubinden. Um Audio Daten abzuspielen greift der Code auf die Funktion


Code:
bool CDROM_Interface_Image::GetAudioSub(unsigned char& attr, unsigned char& track, unsigned char& index, TMSF& relPos, TMSF& absPos)
{
    int cur_track = GetTrack(player.currFrame);
    if (cur_track < 1) return false;
    track = (unsigned char)cur_track;
    attr = tracks[track - 1].attr;
    index = 1;
    FRAMES_TO_MSF(player.currFrame + 150, &absPos.min, &absPos.sec, &absPos.fr);
    FRAMES_TO_MSF(player.currFrame - tracks[track - 1].start + 150, &relPos.min, &relPos.sec, &relPos.fr);

    #ifdef DEBUG
    LOG_MSG("%s CDROM: GetAudioSub attr=%u, track=%u, index=%u", get_time(), attr, track, index);

    LOG_MSG("%s CDROM: GetAudioSub absoute  offset (%d), MSF=%d:%d:%d",
      get_time(),
      player.currFrame + 150,
      absPos.min,
      absPos.sec,
      absPos.fr);
    LOG_MSG("%s CDROM: GetAudioSub relative offset (%d), MSF=%d:%d:%d",
      get_time(),
      player.currFrame - tracks[track - 1].start + 150,
      relPos.min,
      relPos.sec,
      relPos.fr);
    #endif

    return true;
}

So, da siehst du z.b das Schlüsselwort "FRAMES_TO_MSF". "player.currFrame" ist der jetzige -und Start zeitpunkt für das übertragen der Audui Daten. Die Nummer 150 gibt den Anfang an. Wenn Dosbox nun startet und das Spiel abspielt wird die CUE oder das CHD Image eingebunden.
Code:
TRACK:1 TYPE:MODE1_RAW SUBTYPE:NONE FRAMES:4231 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0
TRACK:2 TYPE:AUDIO SUBTYPE:NONE FRAMES:17524 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0
TRACK:3 TYPE:AUDIO SUBTYPE:NONE FRAMES:34339 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0
TRACK:4 TYPE:AUDIO SUBTYPE:NONE FRAMES:14536 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0
TRACK:5 TYPE:AUDIO SUBTYPE:NONE FRAMES:22545 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0
TRACK:6 TYPE:AUDIO SUBTYPE:NONE FRAMES:20223 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0
TRACK:7 TYPE:AUDIO SUBTYPE:NONE FRAMES:27110 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0
TRACK:8 TYPE:AUDIO SUBTYPE:NONE FRAMES:18358 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0


Man Achte auf den 1sten Track. Der hat eine Länge von "4231". Dosbox versucht nun aber ab "150" abzuspielen. Resultat: Kein Sound oder man hört das Rauschen des Daten Track. Warum das nun bei Madnews so ist das keine Musik abgespielt wird und bei anderen Spielen schon liegt wohl an der Weitergabe von Atapi Codes an das DOS System bzw (MSCDEX).

Nach ein bissel Recherche wird der opcode 0xbe für ReadCD übergegeben.

Standard ist ReadCD(10) oder ReadCD(12). 0xbe fehlt auch im IDE Code und fängt diesen unbekannte opCode als Fehler ab.
Wie OpCode 0xBE implentiert wird wüsse ich auch nicht. Müsse man sich tiefer in dei Materie einlesen.

Die Alernative sichere Lösung wäre dann eigentlich das der Startpunkt genau nach 4231 ist. Denn dann fängt der Audio Track an und man hört Musik. Wiso die Entwickler 150 nutzen habe ich mich schon damals gefragt....

Ich hatte das so abgefangen. Bei CUE/BIN: Wenn es eine AUDIO ist, Track 2, Attribute ist 0, Startlänge länger als 0 und als bool wurde noch nicht benutzt. nehme diese Lange.
Bei CHD ähnlich und übergebe das Resultat in die CDROM_Interface_image::GetAudioSub Routine

Code:
bool CDROM_Interface_Image::GetAudioSub(unsigned char& attr, unsigned char& track, unsigned char& index, TMSF& relPos, TMSF& absPos)
{
    int cur_offset;
    int cur_track = GetTrack(player.currFrame);
    if (cur_track < 1) return false;
    
    track         = (unsigned char)cur_track;
    attr         = tracks[track - 1].attr;
    index         = 1;
    cur_offset    = 150;    // Belasse den standardwert
    
        // GEÄNDERT
    if ( ImageTrack.offset > 0 && ImageTrack.attr == 0 && ImageTrack.used == true )
    {
        cur_offset = ImageTrack.offset + cur_offset;
        ImageTrack.used  = false;
        LOG_MSG("CDROM: GetAudioSub Start Offset base (%d)",cur_offset);
    }
                    
    FRAMES_TO_MSF(player.currFrame + cur_offset, &absPos.min, &absPos.sec, &absPos.fr);
    FRAMES_TO_MSF(player.currFrame - tracks[track - 1].start + cur_offset, &relPos.min, &relPos.sec, &relPos.fr);
        
    #ifdef DEBUG
    LOG_MSG("%s CDROM: GetAudioSub attr=%u, track=%u, index=%u", get_time(), attr, track, index);

    LOG_MSG("%s CDROM: GetAudioSub absoute  offset (%d), MSF=%d:%d:%d",
      get_time(),
      player.currFrame + cur_offset,
      absPos.min,
      absPos.sec,
      absPos.fr);
    LOG_MSG("%s CDROM: GetAudioSub relative offset (%d), MSF=%d:%d:%d",
      get_time(),
      player.currFrame - tracks[track - 1].start + cur_offset,
      relPos.min,
      relPos.sec,
      relPos.fr);
    #endif
    
    return true;
}

Funktioniert. Ob das alles so richtig ist .... no idea. Ich mach das Blind ohne Live Debug wie man es von Visual Studio kennt. läuft alles bei mir im kop ab. Echt krank ich weiß....



Unter Windows 7 und Windows 10 getestet

Wie dem auch sei  ... alles nichts wichtiges Smile

Was das angeht wie lange man an ein prob hängt kenn isch. Das längste war bei mir knapp 8 tage. 

grüsse
Zitieren
#20
0
danke erst mal für deinen sehr ausführlichen post!!!

ok ich versteh echt nur 5% von dem was du da schreibst, weil so in der dos materie war ich noch nicht.
ich versuch das heute abend mal zu verstehen und selbst eine lösung zu finden.

dein paket gerade probiert, also auf dem einen rechner geht es leider absolut nicht (windows 8.1)
auf dem anderen mit soundproblemen und die grafik sieht sehr komisch aus (auch windows 8.1)

beide rechner mit neuesten updates + treibern.

ich gebe immer noch nicht die hoffnung auf das mit der normalen und überall problemlos laufenden dosbox hin zu bekommen Wink
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [Frage] Dime City mit GUS-Emulation? Prometheus 42 8.625 15.03.2024, 16:34
Letzter Beitrag: TeamGamers2024
  [Problem] Revolt of Dons Knights / Intro geht nicht in DosBox Commodus 19 1.096 08.07.2023, 13:19
Letzter Beitrag: Andi
  [Frage] Sierra Games mit Sprachausgabe und deutschen Untertiteln Commodus 44 2.531 21.06.2023, 10:44
Letzter Beitrag: GBuster
  [Problem] Reprobates läuft nicht mit WIN 11 Commodus 5 569 16.06.2023, 13:04
Letzter Beitrag: Atreyu
  [Frage] Warlords 2 Deluxe - DosBox - LAN - VPN Bender3k 2 625 04.04.2023, 10:01
Letzter Beitrag: Bender3k

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste