atarionline.pl Gra/gry od tbxx - 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: CommentAuthortbxx
    • CommentTime28 Oct 2015 zmieniony
     
    Co zrobiłem nie tak, że nie ma/nie widać pocisków 1&2?
    • 2: CommentAuthormono
    • CommentTime28 Oct 2015
     
    Może GTICTL ($26f) nie ustawiłeś?
    • 3: CommentAuthorxxl
    • CommentTime28 Oct 2015
     
    jak dasz 255 zamiast 240 to bedzie gucio
    • 4: CommentAuthortbxx
    • CommentTime28 Oct 2015
     
    Dzięki;) nie wiem dlaczego mi się ubzdurało wpisać 240 zamiast 255.
    • 5: CommentAuthortbxx
    • CommentTime29 Oct 2015
     
    Robię przymiarki do kolejnej gry. I w końcu udało mi się osiągnąć to co chciałem:D

    • 6:
       
      CommentAuthorkris3d
    • CommentTime29 Oct 2015
     
    @tbxx, który to tryb gr? te kropki w tle to grafika czy fonty?
    Oczywiście jest to TurboBasicXL?:) Tez go uwielbiam;)
    • 7: CommentAuthortbxx
    • CommentTime29 Oct 2015
     
    1. tryb to GR.0 z włączonym GTIA (9)
    2. "kropki" w tle to fonty
    3. i oczywiście jest to TBXL (program na filmie nie jest jeszcze skompilowany)
    4. też go uwielbiam
    • 8:
       
      CommentAuthorkris3d
    • CommentTime31 Oct 2015
     
    Nie ma głupich pytań więc je zadam:

    1. Dlaczego dwa sprity z prawej i pociski zmieniają kolory na tle a dwa z lewej nie?
    2. Dlaczego sprity tutaj wybatwiają czcionkę?
    3. Czy i kiedy sprity przykryją czcionkę i dlaczego?

    Początkuję w PMG więc wybaczcie;) Dzięki.
    • 9: CommentAuthorbrx
    • CommentTime31 Oct 2015
     
    Skoro nikt Ci wciąż nie chce opowiedzieć, z tego co pamiętam przy mojej "nieco" zrujnowanej pamięci, w trybach GTIA podkolorować obszar potrafią jedynie pociski. Ewentualne pretensje po tylu latach tylko do ówczesnych konstruktorów małego Atari :)
    • 10:
       
      CommentAuthorkris3d
    • CommentTime1 Nov 2015
     
    hmm, chodzi mi oczywiście o przylladowy obrazek a nie o filmik.
    Dziwne żeby podkolorowywały tylko missie, ale mogę się mylić, jestem Kapitan Nemo w PNG:)
    • 11:
       
      CommentAuthorlarek
    • CommentTime1 Nov 2015 zmieniony
     
    Priorytety. Zobacz rejestry GTIA - PRIOR (GPRIOR): ->link<-

    Tu też w miarę dobrze opisane (623): ->link<-
    I tu: ->link<-
    • 12:
       
      CommentAuthorkris3d
    • CommentTime2 Nov 2015
     
    @larek, dzięki za info, raczej przebrnę przez priorytety PMG pod kątem BASIC-a a nie asemblera, ale i idea ta sama więc powoli coś się tam podświetla między moimi neuronami:)

    A po co o to pytałem o to wszystko? Ponieważ do końca tego roku mój Monster powinien otrzymać:

    + planszę tytułową z kolorową (no dobra, podkolorowaną:)), hiresową grafiką, a co mi tam!:)
    + muzyczkę na start by bocianu
    + usprawnienia w samej grze: dodanie kolejnych elementów, dźwięków i bohaterów
    + zmianę trybu graficznego, prawdopodobnie GR.15
    + zmiany konstrukcyjne: fonty w trybie graficznym + grafika wczytywana z "zewnątrz" ale tu się jeszcze zastanowię
    + obsługa liczników przeniesiona do pola GR.0, co wiąże się przebudową "ramki planszy"
    + kompilacja kodu TBXL (o ile nie popieprzą się przydziały pamięci dla grafiki i muzyki)

    @tbxx, sorry że Ci się wpieprzyłem ze swoim projektem do Twojego wątku, mam nadzieję że wybaczysz:)
    • 13: CommentAuthortbxx
    • CommentTime25 Jul 2016
     
    Całkiem nietypowy jak na mnie "sposób" premiery nowej gry:

    ->link<-
    • 14:
       
      CommentAuthorxeen
    • CommentTime11 Oct 2016
     
    o - na c64 zrobili: ->link<-
    • 15: CommentAuthorAdam
    • CommentTime12 Oct 2016
     
    No bo to popularny typ łamigłówek :)
    • 16: CommentAuthortbxx
    • CommentTime9 Aug 2017
     
    Takie zapytanie:
    np. w GR.0 mogę sobie włączyć GTIA. A czy można to zrobić np. od drugiej linii? Jeśli tak, to jak?
    • 17: CommentAuthormono
    • CommentTime9 Aug 2017 zmieniony
     
    W przerwaniu DLI.

    Edit: Musisz wpisać nową konfigurację GTIA nie do GTICTS ($26f), tylko do rejestru hardwareowego GTICTL ($d01b).
    • 18: CommentAuthortbxx
    • CommentTime11 May 2019
     
    Panowie, potrzebuję pomocy ;)

    Pod Turbo Basic XL mogę max ustawić rozdzielczość 320x192 (GRAPHICS 24). Poratuje ktoś zrozumiałą procedurką DL pod TBXL aby wyciągnąć 320x240 ?
    • 19:
       
      CommentAuthorKaz
    • CommentTime11 May 2019
     
    W MAD Studio nie wygereujesz?
    • 20:
       
      CommentAuthorxeen
    • CommentTime11 May 2019
     
    nawet jeśli dasz swoją DL - to jakich rozkazów TBXL będziesz używał aby coś robić na takim ekranie? Nie jestem przekonany czy wszystkie dobrze zadziałają...
    • 21: CommentAuthortbxx
    • CommentTime11 May 2019
     
    podejrzewam, że mogą być problemy, bo te się lubią przyciągać :/

    z instrukcji przydały by się: PLOT, DRAWTO i PAINT

    jak się nie będzie dało, to będę próbował rzeźbić na pamięci obrazu :/ tak ze DL i sposób użycia się przydadzą.
    • 22: CommentAuthorpirx
    • CommentTime12 May 2019
     
    niestety nie da się łatwo zrobić 240 linii tak, żeby mieć ciągłą pamięć ekranu. problem polega na tym, że antic adresuje 4KiB, więc musisz przeładować adres ekranu 3 razy (240 linii to 9600 bajtów), a tego nie da się zrobić 3 razy, bo 4096 nie dzieli się równo na 40.
    reasumując - oczywiście 240 linii można mieć, ale trzeba zaprojektować własną organizację pamięci ekranu i własne procki do rysowania po nim. Ciągłą pamięć da się uzyskać dla max 204 linii obrazu i dla takiego rozmiaru dałoby się zmodyfikować procki do rysowania w TBXL.
    • 23: CommentAuthortbxx
    • CommentTime12 May 2019
     
    Próbując ugryźć problem od innej strony mam taki program do DL (z edytora DL Mad Studio):

    10 REM DISPLAY LIST EXAMPLE
    20 GRAPHICS %0
    30 DL=DPEEK(560)
    40 LO=PEEK(DL+4)
    42 HI=PEEK(DL+5)
    44 HIDL=INT(DL/256)
    46 LODL=DL-HIDL*256
    50 POKE 559,%0
    60 FOR I=%0 TO 31:READ B:POKE DL+I,B:NEXT I
    61 POKE DL+32,65
    62 POKE DL+33,LODL
    64 POKE DL+34,HIDL
    66 POKE DL+1,LO
    68 POKE DL+2,HI
    70 POKE 559,34
    80 FOR I=%1 TO 25:POKE 82,%0:PRINT "DISPLAY LIST EXAMPLE":NEXT I
    90 DATA 66,176,54,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
    100 END


    tylko nie jestem wstanie "pisać" na dodatkowych liniach:


    (nawet próbując POKE z adresem ekranu)

    I druga sprawa, w tym przypadku potrzebowałbym użyć do 3 zestawów znaków. Rozumiem że do tego trzeba już użyć DLI. Jak by wyglądało takie DLI zmieniające np. Charset co 1 wiersz ?
    • 24: CommentAuthorpirx
    • CommentTime12 May 2019
     
    i to jest bardzo dobra koncepcja, tzn. zrobienie tego na znakach.
    pisać pokiem nie możesz najprawdopodobniej dlatego, że ten ekran nachodzi na ROM. jeśli chcesz działać systemowo, to powinieneś obniżyć RAMTOP (106) i wtedy zrobić gr.0, ale żeby pisać systemem w dodatkowych wierszach to by trzeba było coś zaczarować, nie pamiętam gdzie (ale się da, tylko nie pamiętam czy wystarczy poke, czy trzeba modyfikować kod w ROMie/ew. nadpisywać handler E:/S:).

    ale generalnie to polecam olać system i dłubać ręcznie, bo i tak, jeśli chcesz mieć DLI to musisz powkładać wstawki w asemblerze.

    zmiana znaków na DLI jest relatywnie prosta, ale to się da zrobić tylko w asm i na wiele sposobów, ciężko tak wrzucić 1 rozwiązanie dla Ciebie. na pewno musisz zaplanować ile chcesz charsetów i jak ma być ułożony ekran, itp.

    może popatrz w mad paskala, tam są ładne przykłady, pisze się praktycznie jak w bejziku (tzn. oczywiście inaczej, ale przeniosłem prg. z basica do mada praktycznie 1-1 przepisując kolejne wiersze) a wstawki w asm robi się znacznie łatwiej, niż w TBXL, bo praktycznie natywnie.
    • 25: CommentAuthortbxx
    • CommentTime12 May 2019
     
    Wiem już mniej więcej co chciałbym zrobić, i jak to mniej więcej działa... tylko dalej nie wiem jak to zrobić :/
    1. w DL wartość każdego wiersza w którym chcę zmienić charset do "2" dodaję "128"
    2. jednym DLI mogę zmienić charset w 1 linii
    3. DLI są krótkie, można kilka zmieścić pod $600

    zakładając, że mam 3 charsety z adresami: ADR_CH1, ADR_CH2, ADR_CH3:

    1. w pierwszych liniach mam normalny zestaw ustawiony przez POKE 756,ADR_CH1

    2. później w DL odpowiednie "2" zmieniam na "130" (2+128)
    3. w $600 piszę odpowiednią liczbę DLI:

    DLI1:
    czary mary z ADR_CH2
    skok do DLI2
    Powrót z przewania

    DLI2:
    czary mary z ADR_CH3
    skok do DLI3

    DLI3:
    czary mary z ADR_CH1
    skok do DLI4

    DLI4:
    czary mary z ADR_CH2
    powrót do DLI1?

    4. ustawiam adres DLI - DPOKE 512,$600
    5. włączam DLI - POKE 54286,192


    Jak dobrze rozumiem moim problemem są jedynie te "czary mary"?
    • 26: CommentAuthorpirx
    • CommentTime13 May 2019 zmieniony
     
    czary mary nie są specjalnie skomplikowane, to tylko

    lda #>charset1
    sta chbase

    może ew.

    lda #>charset1
    sta wsync
    sta chbase

    żeby się adres znaku zmienił od krawędzi ekranu.

    Trzeba popróbować, w którym miejscu się rozpoczyna DLI dla trybu znakowego, czy to jest na górze, czy na dole wiersza, nie pamiętam.

    zamiast zmieniać adresy DLI możesz modyfikować wartość wstawianą do chbase, np. jak charsety są po kolei to robiąc coś w rodzaju
    dli
    pha
    mod lda #>charset1
    sta chbase
    clc
    adc #4 ;1KiB dalej
    sta mod+1
    pla
    rti

    a na VBI ustawiasz znów pierwszy charset

    lda #>charset1
    sta mod+1
    • 27: CommentAuthortbxx
    • CommentTime13 May 2019
     
    pod względem ASM, DL, DLI jestem bardzo zielony (no może już seledynowy), jako że program będzie w TBXL, więc wstawkę DLI (ASM) będę wpisywał "liczbowo" po DATA ;P

    znalazłem sobie przykładowe DLI zmieniające kolor tła od wybranego wiersza ekranu (GR.0):

    DATA 72,169,68,141,10,212,141,24,208,104,64


    Pobrałem też Asembler 6502 Ruszczyca, a dokładniej tabelę z rozkazami / kodami operacji. Na podstawie której, z powyższego kodu DLI wyszło mi:

    PHA
    LDA #n (68)
    STA Q ($D409) 'VSYNC'
    STA Q ($D018) 'COLOR2'
    PLA
    RTI

    dobrze?
    • 28: CommentAuthorpirx
    • CommentTime13 May 2019
     
    bardzo!
    • 29:
       
      CommentAuthorKaz
    • CommentTime13 May 2019
     
    No proszę! Tomek, widzisz, zmuszenie się do realizacji tego, co wymyślone spowodowało, że już prawie-prawie poznałeś asembler :D