1

takie krotkie pytanko, w ktorym Zinie byl opis formatu plików TMC ?

p.s.
moze ktos pokusi sie o spis tresci z Zinow ktore wyszly na malucha ?

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

2

albo lepiej wypruje przy okazji stuff ze wszystkich - bo zdarza sie, że w magu jest, a luzem na necie nie bardzo. Ostatnio szukałem np. Proffesional Copy 2.1 / fox - i znalazłem wielkie zero. Dobrze, że Trub mi podesłał :)

TeBe - a że tak zapytam - coś fajnego szykuje sie do tety ?

Kontakt: pin@usdk.pl

3

W "Energy #2" znajdziesz pakiet z TMC ver. 1.11, o ile spakowane to ARC'em, ale chyba nie. Dokumentacja do programu jest w dwu plikach. W drugim (raczej) z nich znajduje sie opis formatu.

4 Ostatnio edytowany przez tebe (2005-11-08 18:25:28)

ok, juz mam, w plikach DOC dolaczonych do TMC111 byla odpowiednia informacja

a to efekt, relocator TMC 111 w postaci makra do MADS'a, tyle ze dziala dopiero od wersji 1.6.8 MADS'a :)

/*
  TMC111 Relocator

 $0000..$001C    - bajty informacyjne
 $001D        - musi byc tu zawsze spacja ($20)
 $001E        - tempo, jest to wartosc o jeden mniejsza niz w CMC, MPT lub Delcie
 $001F        - czestotliwosc odtwarzenia na ramke
 $0020..$005F    - mlodsze bajty adresow instrumentow
 $0060..$009F    - starsze bajty adresow instrumentow (jezeli po zORowaniu daja 0, to znaczy, ze dzwiek jest pusty)
 $00A0..$011F    - mlodsze bajty adresow patternow
 $0120..$019F    - starsze bajty adresow patternow
*/

.macro    tmc_relocator

    .get :1                                             // wczytaj plik do bufora MADS'a

    new_add    equ :2                                   // nowy adres modulu TMC

    old_add    equ .get[2] + .get[3]<<8                 // stary adres modulu TMC
    length    equ .get[4] + .get[5]<<8 - old_add + 1    // dlugosc pliku TMC bez naglowka DOS'u

    .put[2] = .lo(new_add)                              // poprawiamy naglowek DOS'a
    .put[3] = .hi(new_add)                              // tak aby zawieral informacje o nowym

    .put[4] = .lo(new_add + length - 1)                 // adresie pliku TMC
    .put[5] = .hi(new_add + length - 1)

ofs    equ 6

    fps    equ .get[ofs+$1f]                            // liczba wywolana playera na ramke

    ?tmp = .get[ofs+$20] + .get[ofs+$60]<<8             // sprawdzamy adres pierwszego instrumentu

    ift ?tmp = 0                                        // jesli adres = 0 tzn ze plik jest pusty
     ert 'Song is empty'
    eif

// instruments

    .rept 64

    ?tmp = .get[ofs+$20+.r] + .get[ofs+$60+.r]<<8

    ift ?tmp <> 0
    ?hlp = ?tmp - old_add + new_add

    .put[ofs+$20+.r] = .lo(?hlp)
    .put[ofs+$60+.r] = .hi(?hlp)
    eif

    .endr

// patterns

    .rept 128

    ?tmp = .get[ofs+$00a0+.r] + .get[ofs+$0120+.r]<<8

    ?hlp = ?tmp - old_add + new_add

    .put[ofs+$00a0+.r] = .lo(?hlp)
    .put[ofs+$0120+.r] = .hi(?hlp)

    .endr

// out new file

;    .sav 'test.tmc',length + 6        // zapisujemy zawartosc bufora MADS'a do pliku

.endm

takie makro ulatwia zycie, nie trzeba uruchamiac TMC aby zmienic adres modulu, ktory pozniej polaczymy z naszym programem, wiecej przykladow zastosowania tego makra bedzie w nastepnej paczce z MADS'em

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

5

To i do MPT dorób, będzie "końplet"

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.