[comp.sys.amiga.audio] help me make ST/NT module player for NTSC *and* PAL machines

ben@epmooch.UUCP (Rev. Ben A. Mesander) (04/03/91)

  I'm frustrated by SoundTracker/NoiseTracker module players that are buggy
and refuse to play at the right speed on NTSC machines. Although I'm a
rank beginner at 68000 assembler, it seems from the following fragment
of a module player that the timebase is coming from the vertical blank
interrupt:

        section "play",CODE
        include "exec/types.i"
        include "libraries/dos.i"
        include "streplay_lib.i"
        xdef    mt_start
        xdef    mt_brems
                   ^^^^^------- Is this "end" or something in German?

call    MACRO
        xref    _LVO\1
        jsr     _LVO\1(a6)
        ENDM

        even
mt_start:
        movem.l d2-d7/a2-a6,-(sp)
        bsr     mt_init
        move.l  4,a6
                ^---------- AbsExecBase?
        lea     intnode(pc),a1
        moveq   #5,d0
                ^^--------- I think this is INTB_VERTB
        call    AddIntServer
        movem.l (sp)+,d2-d7/a2-a6
        rts

mt_brems:
        movem.l d2-d7/a2-a6,-(sp)
        lea     intnode(pc),a1
        moveq   #5,d0
                ^^--------- I think this is INTB_VERTB
        move.l  4,a6
                ^---------- AbsExecBase?
        call    RemIntServer
        bsr     mt_end
        movem.l (sp)+,d2-d7/a2-a6
        rts


intnode:
        dc.l    0,0
        dc.b    2,0
        dc.l    intname,0,mt_call
intname:
        dc.b    "STReplay_Lib Interrupt",0
        even

mt_init:
       [rest of source deleted]

  I assume the speed problem is the 50Hz/PAL vs. 60Hz/NTSC thing. So I
would guess that the thing to do to fix this code (besides replacing
manifest constants with symbols :-) would be to change it to derive a
50Hz timebase from a CIA timer. Would this be INTB_PORTS? How do I tell
the CIA that I want to be interrupted at 50Hz?

Thanks in advance...

--
| ben@epmooch.UUCP   (Ben Mesander)       | "Cash is more important than |
| ben%servalan.UUCP@uokmax.ecn.uoknor.edu |  your mother." - Al Shugart, |
| !chinet!uokmax!servalan!epmooch!ben     |  CEO, Seagate Technologies   |

peterk@cbmger.UUCP (Peter Kittel GERMANY) (04/04/91)

In article <ben.5586@epmooch.UUCP> ben@epmooch.UUCP (Rev. Ben A. Mesander) writes:
>
>        xdef    mt_brems
>                   ^^^^^------- Is this "end" or something in German?

No, "bremsen" means "to break", "get slower". In a program, I would guess
for a wait routine.

But this doesn't look like a wait routine, when calling RemoveInterruptServ:

>mt_brems:
>        movem.l d2-d7/a2-a6,-(sp)
>        lea     intnode(pc),a1
>        moveq   #5,d0
>                ^^--------- I think this is INTB_VERTB
>        move.l  4,a6
>                ^---------- AbsExecBase?
>        call    RemIntServer
>        bsr     mt_end
>        movem.l (sp)+,d2-d7/a2-a6
>        rts

-- 
Best regards, Dr. Peter Kittel  // E-Mail to  \\  Only my personal opinions... 
Commodore Frankfurt, Germany  \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk

jkh@MEEPMEEP.PCS.COM (Jordan K. Hubbard) (04/05/91)

>>In article <ben.5586@epmooch.UUCP> ben@epmooch.UUCP (Rev. Ben A. Mesander) writes:
>>
>>        xdef    mt_brems
>>                   ^^^^^------- Is this "end" or something in German?
>>
>In article <1057@cbmger.UUCP> peterk@cbmger.UUCP (Peter Kittel GERMANY) writes:
>
>No, "bremsen" means "to break", "get slower". In a program, I would guess
>for a wait routine.

Sorry, I don't mean to nit-pick or anything (and certainly don't want to
offend Dr. Kittel), but lest some first year student of German get badly
confused, I should point out that "bremsen" does not mean "to break", but
rather "to brake." Same pronounciation, different spelling (and very different
meaning. e.g. "Failing to brake in time, John was struck by an 18 wheeler
Mack truck, breaking every bone in his body and teaching him a lesson in
english grammar he'd never forget."   :-)

To round out my petty piece of pointless pontification, "to break" = "brechen".

Well.. Ok.. If I am to be guilty of the dreaded Spelling Flame, at least it's
multi-lingual!

Even better regards,

Jordan

peterk@cbmger.UUCP (Peter Kittel GERMANY) (04/08/91)

In article <m0jOt3b-0003NDC@meepmeep.pcs.com> jkh@MEEPMEEP.PCS.COM (Jordan K. Hubbard) writes:
>>>In article <ben.5586@epmooch.UUCP> ben@epmooch.UUCP (Rev. Ben A. Mesander) writes:
>>>
>>>        xdef    mt_brems
>>>                   ^^^^^------- Is this "end" or something in German?
>>>
>>In article <1057@cbmger.UUCP> peterk@cbmger.UUCP (Peter Kittel GERMANY) writes:
>>
>>No, "bremsen" means "to break", "get slower". In a program, I would guess
>>for a wait routine.
>
>Sorry, I don't mean to nit-pick or anything (and certainly don't want to
>offend Dr. Kittel), but lest some first year student of German get badly
>confused, I should point out that "bremsen" does not mean "to break", but
>rather "to brake." Same pronounciation, different spelling (and very different
                    ^^^^^^^^^^^^^^^^^^^
>meaning. e.g. "Failing to brake in time, John was struck by an 18 wheeler
>Mack truck, breaking every bone in his body and teaching him a lesson in
>english grammar he'd never forget."   :-)
>
>To round out my petty piece of pointless pontification, "to break" = "brechen".

Oops, sorry! But you already provided me with the excuse: English (Ami)
pronunciation is really weird. That's why voice recognition should be
much easier in several other, more phonetic languages.

-- 
Best regards, Dr. Peter Kittel  // E-Mail to  \\  Only my personal opinions... 
Commodore Frankfurt, Germany  \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk