amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Amiga, AmigaOS 4 > Problem mit Audiowiedergabe [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2003-02-27, 12:35 h

yelworC
Posts: 401
User
Hi!

Ich habe hier ein seltsames Phänomen mit Musikstücken in "Szene Demos".

Ich kann in jedem Modplayer alle möglichen Arten von Mods ohne Probleme abspielen. Auch DigiBoosterPro und ähnliches läuft völlig problemlos.

Wenn ich aber ein Demo starte, dass das OS umgeht und nicht im Multitasking läuft, dann bekomme ich in bestimmt 80% aller Fälle nur Müll bei der Musik geliefert. Das Timing stimmt überhaupt nicht und es klingt einfach nur daneben. Meistens läuft irgendwie alles zu schnell und die Musik ist dann vor dem Ende des Demos schon fertig. Das Demo an sich läuft dabei meist wunderbar bis zum Ende durch.

Woran könnte das liegen? Ich habe natürlich auch schon ohne Startup-Sequence und ROM Update probiert, aber das Problem bleibt. Ich habe den Verdacht, dass es an meiner CS MK-I 040/40 Prozessorkarte liegen könnte. Eventuell ist die einfach in manchen Dingen nicht ganz kompatibel (ist ja auch ein uraltes Teil).

Meine Konfig:

Amiga4000D, OS3.9 + BB2 ohne exec.library, CS MK-I 040/40 mit 80mb Fastram, CV64 4mb, CGX4 (42.7), CD+HD+etc, Paula ;)

[ - Answer - Quote - Direct link - ]

2003-02-27, 13:12 h

Michael_D
Posts: 679
User
Hi,

das ist eigentlich nichts ungewöhnliches.
Ich habe hier auch einige Demos, die ab 68020-CPU einfach nicht das gewünschte Timing haben. Die Demos sind größtenteils in Assembler programmiert und sehr zeitkritisch, um auch auf einem "nackten" A500 3D-ähnliche Darstellung mit Texturen o.ä. darstellen zu können. Du kannst ja mal im Early-Startup-Menü die Caches deaktivieren - evtl. hilft's.

--
MfG :boing:

Michael D.

[ - Answer - Quote - Direct link - ]

2003-02-27, 14:10 h

Cj-Stroker
Posts: 1343
User
Hi YelworC,


Also mir ist sowas noch nie passiert.
Ich habe mir hierbei bestimmt schon viele Demos angesehen.

Habe eine Blizzard1260/50.

Versuchs mal mit Degradern. Im Aminet gibt es einige. Kann mir aber wirklich nicht vorstellen, daß das was hilft.

Wir alt sind die Demos denn?


MFG

Cj-Stroker
--
Webmaster at Amiforce and Abakus-Design
http://www.Amiforce.de
    (Fight For Amiga)

http://www.cj-stroker.de/Abakus/
(World of AMHuhn and more)

Forum:
http://amiforce-forum.cj-stroker.de

[ - Answer - Quote - Direct link - ]

2003-02-27, 20:44 h

yelworC
Posts: 401
User
Das passiert auch (aber nicht ausschließlich) bei neueren Demos, die mindestens einen 040 oder höher voraussetzen. Also kann es wohl nicht daran liegen, dass der Prozessor "zu groß" ist.

[ - Answer - Quote - Direct link - ]

2003-02-27, 21:05 h

g0ldm0m0
Posts: 122
User
Kann es sein, dass irgend ein Programm die CIAs belegt
(z.B.: Executive). Kann auch sein, dass sehr alte Demos den VBR des 68020+ nicht kenn und so evtl. die Interrupts nicht richtig belegen.
Wie alt sind die Demos? Schalte evtl. mal die Caches ab.

mfg goldmnomo

[ - Answer - Quote - Direct link - ]

2003-02-28, 08:52 h

platon42
Posts: 400
[Former member]
Zitat:
Original von yelworC:
Wenn ich aber ein Demo starte, dass das OS umgeht und nicht im Multitasking läuft, dann bekomme ich in bestimmt 80% aller Fälle nur Müll bei der Musik geliefert. Das Timing stimmt überhaupt nicht und es klingt einfach nur daneben. Meistens läuft irgendwie alles zu schnell und die Musik ist dann vor dem Ende des Demos schon fertig. Das Demo an sich läuft dabei meist wunderbar bis zum Ende durch.


Das liegt leider daran, dass die meisten Demo-Coder leider nicht so nette Funktionen wie AddIntServer() benutzen, sondern ihre IRQ Routine direkt in den Interrupt-Vektor für VerticalBlank hängen.
Am Ende dieser Routine muss man das Hardwarebit löschen, das signalisiert, dass ein Interrupt vorhanden ist. Nun ist es aber so, dass am 040/060er das Löschen dieses Bits wohl etwas verzögert ist.
Sprich, die Musik-Routine wird beendet, aber das InterruptRequest-Bit ist noch gesetzt: Zack, die Routine wird nochmal aufgerufen, obwohl gar kein Interrupt aufgetreten ist. Nudelt Dir also voll durch. Dabei wäre eine Lösung so einfach. Das OS kennt all diese Macken und die InterruptServer Routinen sind nun wirklich nicht so schlimm zu benutzen. Zweite Lösung ist einfach, das IRQ-Register ein zweites Mal zu schreiben vor dem RTE. Muss man halt wissen, tun die meisten nicht. Im Aminet liegt seit Jahren ein von mir gefixter P61A player source. Scheint trotzdem keiner zu benutzen.

Von Dir aus kannst Du da nicht viel machen außer die Datacaches auszuschalten. Aber dann ist das Demo nur noch halb so sehenswert.

Ist halt blöd, weil die meisten Democoder nur A1200er haben und keine A4000er, und da tritt das scheinbar nicht auf. Genausowenig wie der Interlace-Bug. Alte TBL Demos sind da die schlimmsten. Tolle Bilder, aber even & odd Zeilen vertauscht :-(


--
--
Best Regards

Chris Hodges

[ - Answer - Quote - Direct link - ]

2003-02-28, 16:01 h

yelworC
Posts: 401
User
Zitat:
Original von platon42:
Von Dir aus kannst Du da nicht viel machen außer die Datacaches auszuschalten. Aber dann ist das Demo nur noch halb so sehenswert.


Das ist ja leider nicht wirklich eine Alternative :-/

Zitat:
Ist halt blöd, weil die meisten Democoder nur A1200er haben und keine A4000er, und da tritt das scheinbar nicht auf.

Das kann ich soweit bestätigen. In meinem 1200er habe ich auch einen 040 drin und dort hatte ich das Problem auch noch nie. Beim 4000er wie gesagt fast immer. Und das auch bei "Szenegrößen" wie Haujobb und Scoopex etx :( (Das Wort steht wegen des Worts an sich in Anführungszeichen, nicht weil die beiden Gruppen es nicht sind! ;) )

Vielen Dank für die Aufklärung. So genau war meine Vermutung zwar nicht (bin ja kein Coder) aber so in der Art dachte ich mir das schon. Entweder eine Inkompatibilität der Cyberstorm oder halt des 4000ers.

[ Dieser Beitrag wurde von yelworC am 28.02.2003 editiert. ]

[ - Answer - Quote - Direct link - ]

2003-02-28, 17:59 h

cubique
Posts: 83
User
Hi,

also ich kann das nur teilweise bestätigen/nachvollziehen, mir fehlt allerdings auch der technische Hintergrund.

Jedenfalls laufen bei mir die meisten Demos einwandfrei auf meinen A1200, egal ob der mit 030 oder 060/PPC - Ausnahme bilden dabei nur manche älteren AGA Demos von vor 1996 die sich mit dem 060 etwas schwer tun.

Alles so ab 1996 läuft auch einwandfrei auf meinem A4000 mit Cyberstorm MK2 (060/50) bis auf sehr wenige Ausnahmen. Vor der MK2 hatte ich eine Cyberstorm MK1, ebenfalls 060/50 - und die hat bei fast allen Demos Probleme gemacht, schlechtes Timing, Musik teilweise total zerhackt bis hin zu Grafikmüll und Komplettabsturz, manchmal trat dieser Effekt auch erst bei bestimmten Effekten auf, also Codeabhängig.

Meine Vermutung: Vielleicht liegt es doch eher an der MK1 an sich, iirc hat yelworC ja eine MK1?

Gruß,

Cube
--
- #amiga - irc.euirc.net - http://cubique.elge.de -

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > Problem mit Audiowiedergabe [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.