atarionline.pl MAD-Pascal - Początki - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1:
       
      CommentAuthorbocianu
    • CommentTime16 May 2019
     
    Pirxowi chodziło chyba, żebyś sprawdził czy rozkaz przełączania zestawu znaków się w ogóle wywołuje, wstawiając w to miejsce np. zmianę koloru ramki lub tła...
    • 2: CommentAuthorMADRAFi
    • CommentTime16 May 2019
     
    wykonuje sie , wystarczy ze wstawie ten sam zestaw znakow i mam inny obraz ;)
    • 3: CommentAuthorsun
    • CommentTime16 May 2019 zmieniony
     
    wniosek? drugi zestaw jest schrzaniony, albo nie załadował się tam, gdzie się spodziewasz, czyli adres 1 + $400 a tam jest sieczka. Poza tym... ciągle nie wiemy jaki używasz tryb. Zakładam że $02, więc $400 jest ok, ale może źle to widzę i nie jest to $02.

    CHBASE $D409 Write
    SHADOW: CHBAS $02F4
    Character Base Address
    This specifies the page of the base address for the character set. ANTIC Modes 2, 3, 4, and 5 use 128 characters in the character set and require the CHBASE value begin on a 1K boundary. ANTIC Modes 6 and 7 use 64 characters, so the CHBASE value must begin on a 512 byte boundary.
    • 4: CommentAuthorpirx
    • CommentTime17 May 2019 zmieniony
     
    LOGO_CHARSET_ADDRESS = $DC00;

    ROM masz wyłączony, bo to adres w ROM właśnie?
    • 5: CommentAuthorMADRAFi
    • CommentTime17 May 2019
     
    Skoro pod tym adresem jest wgrany font i sie pokazuje na ekranie, to chyba wylaczony :)

    jak dla mnie to pod adresem gdzie powinien znajdowac sie poczatek 2 zestawu fontu jest sieczka. Albo to co w pliku fnt nie jest tym czym powinno albo mad-pascal zle wczytuje ten plik 3kb.
    • 6: CommentAuthortebe
    • CommentTime18 May 2019
     
    ->link<-

    nowa wersja G2F z zapisem obrazka w trybie DLI do pliku *.PAS

    tylko zmiany kolorów, bez PMG, tylko w pierwszej linii nowego wiersza
    • 7:
       
      CommentAuthorDracon
    • CommentTime18 May 2019
     
    "The requested URL /graph2font_v4.0.2.7_full.7z was not found on this server."
    • 8: CommentAuthorMADRAFi
    • CommentTime18 May 2019
     
    Juz Tebe poprawil
    • 9: CommentAuthorMADRAFi
    • CommentTime19 May 2019
     
    Dzieki wytezonej pracy na spotkaniu udalo sie zlokalizowac blad w kodzie :)
    Zapomnialem przepisac prawidlowy adres pamieci ekranu. Akurat 2 font ladowal w miejscu ktory byl nadpisywany :)

    Polecam lokalne spotkania :)
    Udalo sie dzieki wspolpracy z kolega Krotkim zlokalizowac kilka innych bledow i je wyeliminowac.
    • 10: CommentAuthorgorgh
    • CommentTime20 May 2019
     
    Fajnie, to zawsze spora ulga
    • 11: CommentAuthortebe
    • CommentTime20 May 2019
     
    jest taka metoda, najlepiej właśnie komuś zacząć tłumaczyć jak działa program krok po kroku, zaczniemy wtedy zwracać uwagę na rzeczy które wydawały się nam oczywiste i które pomijaliśmy przez swoją oczywistość
    • 12: CommentAuthormav
    • CommentTime20 May 2019
     
    Może to być nawet gumowa kaczuszka.
    • 13:
       
      CommentAuthorbocianu
    • CommentTime20 May 2019
     
    ...ale koniecznie żółta :)
    • 14: CommentAuthorMADRAFi
    • CommentTime20 May 2019 zmieniony
     
    Szukam metody w jaki sposob mozna odtworzyc pojedynczy instrument spod mad pascala z pliku cmc.
    zakladam ze na 3 kanalach gra mi muzyka wykorzystujac unit cmc. 4 kanal chcialbym przeznaczyc wlasnie na efekty.
    Piszacy w asm pewnie maja to juz rozpracowane. W unicie CMC nic takiego nie wystepuje co moglbym uzyc jako gotowiec.


    Przy okazji jakby ktos mial jakolkolwiek muzyke ktora zostawila 1 kanal nieuzywany to bylbym wdzieczny. Przydalabay sie do testowania efektow.
    • 15: CommentAuthorsun
    • CommentTime21 May 2019
     
    Z tego co pamiętam, to CMC łączy 2 kanały w 1 16 bitowy dla basu na stałe, więc muza zabiera 4 kanały, ale mogę się mylić.
    • 16: CommentAuthorMADRAFi
    • CommentTime21 May 2019
     
    Nie mylisz sie. Musialbym miec 2 kanalowa muze z okazjonalnym 3 konalem tak by sie z efektami nie pokrylo.
    • 17: CommentAuthorurborg
    • CommentTime21 May 2019
     
    @sun
    Też tak pamiętam że cmc miało na sztywno 3 kanały z czego 1 16-bitowy.
    • 18: CommentAuthorMADRAFi
    • CommentTime22 May 2019 zmieniony
     
    Mam pewna obserwacje/problem i nie wiem z czego to wynika
    Tworze sobie display liste ktora zawiera 2 tryby tekstowe z rozna iloscia kolorow.
    Rozne linie musza miec rozny font i kolory.
    I teraz sa 2 przypadki:
    1. display lista z 1 DLI
    dl_start
    dta DL_DLI + DL_BLANK8
    dta DL_MODE_40x24T5 + DL_LMS, a(TXT_ADDRESS)
    :12 dta DL_MODE_40x24T5
    :11 dta DL_MODE_40x24T2
    dta DL_BLANK8
    dta DL_JVB, a(dl_start)


    W tym wypadku DLI ma zliczanie numerow linii i zmiane parametrow wedlug linii.
    Wszystko dziala oprocz 1 kreski ktorej nie moge sie pozbyc ( jakies smieci w pamieci)

    2. display lista z 4 DLI - kazda odpowiada za wprowadzenie zmiany w foncie i/lub kolorach

    dl_start
    dta DL_DLI + DL_BLANK8
    dta DL_MODE_40x24T5 + DL_LMS, a(TXT_ADDRESS)
    :5 dta DL_MODE_40x24T5
    :5 dta DL_DLI + DL_MODE_40x24T5
    ;:2 dta DL_DLI + DL_MODE_40x24T5
    :2 dta DL_MODE_40x24T5
    :11 dta DL_DLI + DL_MODE_40x24T2
    dta DL_BLANK8
    dta DL_JVB, a(dl_start)


    I tutaj powstaje problem, gdyz nie wszystkie DLi sie wykonuja.
    Zauwazylem ze max moga wykonac sie 2, gdy probuje uzyc 3 lub 4 obraz jest nieprawidlowy, gdyz DLI sie nie wykonaly wiec nie zaladowaly prawidlowego fontu.


    W VBL jest odgrywana muzyka cmc w tym czasie.

    Jakies sugestie jak to rozwiazac?
    • 19: CommentAuthortebe
    • CommentTime22 May 2019
     
    adres display listy, używasz predefiniowanej tablicy która jest umieszczana w pamięci od adresu CODE_ORIGIN+... na który nie masz wpływu, oprócz jego wartości początkowej

    jeśli umieścisz wszystkie te predefiniowane tablice na początku bloku programu to będą ustawiane od CODE_ORIGIN+..., jeśli poprzedzisz je innymi tablicami to zostaną przesunięte w pamięci

    musiałbyś wyznaczyć ściśle jakiś adres pod który będziesz przepisywał swoje predefiniowane tablice
    • 20: CommentAuthorMADRAFi
    • CommentTime22 May 2019
     
    Tebe musialbys jakos lopatologicznie tlumaczyc. Nic mi to nie mowi co napisales.
    przecierz display listy umieszczam pod okreslonym adresem w pamieci.
    const.inc:
    DISPLAY_LIST_ADDRESS_TITLE = $A000;

    resources.rc:
    DISPLAY_LIST_ADDRESS_TITLE rcasm 'dlist_title.asm'
    • 21: CommentAuthortebe
    • CommentTime22 May 2019
     
    a to przepraszam :)
    • 22: CommentAuthormav
    • CommentTime22 May 2019
     
    Czemu akurat z cmc? RTM nie jest wydajniejszy? Na pewno posiada możliwość "nieużycia" 4 ścieżek, tylko 3.
    • 23: CommentAuthorMADRAFi
    • CommentTime22 May 2019 zmieniony
     
    Akurat CMC daje mi mozliwosc wstrzymywania i kontynuowania odgrywania muzyki po operacji IO.
    Mam w grze troche odczytywania z dyskietki oraz mozliwosc zapisu.
    • 24: CommentAuthorMADRAFi
    • CommentTime14 Jun 2019
     
    Czy ktos orientuje sie, Mono?, w mozliwosci zmian w odtwarzaniu plikow rmt?

    Tak by moznabylo wstrzymac odtwarzanie dzwieku na czas operacji I/O i kontynuowania odtwarzania dzwiku od miejsca w ktorym go zatrzymalismy.
    • 25: CommentAuthorVidol
    • CommentTime14 Jun 2019
     
    Aby odtwarzac muzyke musisz raz lub wiecej razy na ramke skakac do jsr RASTERMUSICTRACKER+3
    Robisz to w petli glownej lub na przerwaniu Vbl, wiec aby zatrzymac muzyczke na czas wczytywania danych wystarczy przestac wykonywac procedure RASTERMUSICTRACKER+3. Najprosciej by to zrobic to trzeba zarezerwowac sobie jakis znacznik na stronie zerowej czy muzyczka ma grac czy nie, 0-cisza, 1-graj, i sprawdzac go przed wywolaniem playera.
    • 26: CommentAuthorgorgh
    • CommentTime14 Jun 2019
     
    z tym, że jak przestaniesz grać to będzie pogłos na kanałach, bo rejestry pokeya nie będą wyzerowane
    • 27: CommentAuthorVidol
    • CommentTime14 Jun 2019
     
    fakt, i po I/O tez bedzie sieczka w pokeyu i tu zaczynaja sie schody, ciekawe jak to jest zrobione w cmc?
    • 28: CommentAuthorgorgh
    • CommentTime14 Jun 2019
     
    być może jest na to sposób, aby przed IO wyciszyć pokeja (jest taka opcja w rmt playerze, skacze się jsr rastermusictracker+cośtam), po IO wyzerować rejestry pokeja i wrócić do odgrywania, nie gwarantuję, że to zadziała
    • 29: CommentAuthorMADRAFi
    • CommentTime14 Jun 2019
     
    No wlasnie, niby proste a jednak nie.

    Musialby mi to ktos wszystko rozpisac. Nie mam az takie wiedzy na temat pokeya :)

    Potem to jeszcze bede musial zakodowac do modulu MAD-Pascala :)
    • 30: CommentAuthorgorgh
    • CommentTime14 Jun 2019 zmieniony
     
    porozmawiaj z Mono, kontakt znajdziesz tutaj albo na atari area, mono jest specem jeśli chodzi o technikalia
    edit: panem Mono ;)
    • 31: CommentAuthorsun
    • CommentTime8 Jul 2019
     
    Przyłączę/podłączę się jako pytający:
    MadPascal + pamięć rozszerzona + TMemoryStream oraz używanie etykiet extmem w resources.
    Posiłkowałem się przykładem examples\extmem\vscrol.
    A jeśli mam więcej zasobów niż 1 obrazek, mogę zadeklarować to też jako extmem i zostanie to załadowane jedno za drugim czy też muszę skleić to w 1 plik?
    <code>
    bitmap1 extmem 'assets\pic1'
    bitmap2 extmem 'assets\pic2'
    bitmap3 extmem 'assets\pic3'
    </code>
    Dostęp przez TMemoryStream to tylko ustawienie offsetu (Position) - to przetestowałem :).
    • 32: CommentAuthortebe
    • CommentTime9 Jul 2019
     
    zostanie załadowane od adresu w pamięci dodatkowej BITMAP1, BITMAP2, BITMAP3

    adres pamięci dodatkowej = [0..$fffff], MP (MadPascal) widzi maks 1 MB pamięci dodatkowej (64 banki * 16384 bajty)

    ile jest dostępnej pamięci można sprawdzić w SIZE, po wykonaniu CREATE
    • 33: CommentAuthorsun
    • CommentTime9 Jul 2019
     
    Fantastycznie. Sprawdzam empirycznie, dziękuję.
    • 34: CommentAuthorsun
    • CommentTime28 Jul 2019
     
    Pytanie: co to za magiczne pliki .FEAT do RMT playera i czy coś je generuje z modułu czy jak?
    • 35: CommentAuthortebe
    • CommentTime29 Jul 2019
     
    pliki FEAT generuje RMT
    • 36: CommentAuthorsun
    • CommentTime29 Jul 2019
     
    Dzięki, teraz widzę :) Szukałem, ale nie wpadłem, że to tędy droga.