atarionline.pl Software Sprite Engine - 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:
       
      CommentAuthorjhusak
    • CommentTime9 Mar 2013
     
    Ja też nie lubię stereo... Za dużo tracków do opanowania.
    • 2: CommentAuthorwieczor
    • CommentTime9 Mar 2013 zmieniony
     
    Heh :) Właśnie dlatego dodatkowych tracków nie rozważam niezależnie ale np. to samo o oktawę wyżej, przesunięte w fazie, albo do robienia echa pogłosu.
    Dzięki temu na 4 kanałach masz wszystko a na ośmiu masz przestrzeń. Nie masz skakania lewo-prawo jak na Amidze itp.

    No ale nie o tym, nie o tym... Jak Kuba? Będziesz chciał to pociągnąć do końca?
    • 3:
       
      CommentAuthorjhusak
    • CommentTime9 Mar 2013
     
    na razie ugrzązłem w zawiłościach odczytu klawiatury.
    • 4: CommentAuthortrocero77
    • CommentTime9 Mar 2013
     
    Może się przyda:
    ->link<-
    • 5: CommentAuthorxxl
    • CommentTime9 Mar 2013
     
    w rejestrze X przechowywany jest kod klawisza jaki badamy,
    przykladowo sprawdzam czy user naciska litere "X" algorytm:
    cpx #$bd
    beq zgadza_sie_tego_szukam
    nienacisniety
    ldx #0
    clc
    rts

    zgadza_sie_tego_szukam
    lda stick0
    and #%1000 ; prawo
    bne nienacisniety
    nacisniety
    ldx #$ff
    sec
    rts

    sprawdz tylko czy nie sprawdza reg.Y bo nie pamietam.
    • 6:
       
      CommentAuthorjhusak
    • CommentTime9 Mar 2013
     
    Już rozkminiłem :) Sprawdza y, FF - naciśnięty.
  1.  

    wieczor:

    Wszystkie muzyczki piszę na jednego POKEYa a potem dodaje tracki na drugim, które używane są aby dodać przestrzeń ew. wzbogacić brzmienie. Dzięki temu jak masz jednego POKEYa muzyka brzmi dobrze, tak jak powinna, jak jest drugi, słyszysz "szerzej" trochę bogaciej, głębiej.
    I chwała za to podejście :) Przynajmniej mogę sobie spokojnie posłuchać muzy z Boogie Nights na moim Atari z jednym, biednym Pokeyem. A leci dość często, bo moja córka bardzo polubiła. Mi też zresztą pasuje :)
    • 8:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013 zmieniony
     
    Można już trochę pochodzić, ale nie można się naparzać :)

    Zmieniona grafika na format atari, troszkę mu nóżka miga, temu misiu...

    Zastosowany tzw. tesktowy tryb graficzny (taki, jak w BBC Micro i C64)
    Aby zadziałało, dli jest co druga linia, oraz offset z linii na linię to 64 znaki, trochę marnotrwawstwo, ale w kodzie to było kilka prostych ruchów.

    Dane ludzików są kompresowane RLE i w locie rozkompresowywane, ponadto w locie jest też mirroring. (nieaktualna wersja)
    • 9: CommentAuthorxxl
    • CommentTime12 Mar 2013 zmieniony
     
    super :)

    jeszcze chwila i bedzie mozna zabijac.

    nareszcie widac z jaka szybkoscia moze dzialc LN na atari. trzymam kciuki.
    • 10:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013 zmieniony
     
    No właśnie, choć nic nie zmieniałem w algorytmie, przeciwnicy na Atari niemrawo walczą, a te na BBC to trudni przeciwnicy...

    A co do szybkości, to tekstowy tryb graficzny sam w sobie daje 20-30% prędkości graficznym grom. A tutaj jeszcze postaci są rozkodowywane, a następnie przepisywane na ekran już z bufora.
    • 11: CommentAuthorxxl
    • CommentTime12 Mar 2013
     
    ale to tylko na dobre wyjdzie grze na bbc jest za trudna.
    • 12:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013 zmieniony
     
    Nie jest bardzo trudna, tylko nie można stać i lać i dawać się okładać, trzeba robić uniki :D
    • 13: CommentAuthorxxl
    • CommentTime12 Mar 2013
     
    e tam. trzeba byc twardym.
    • 14: CommentAuthorEagle
    • CommentTime12 Mar 2013
     
    Pograłem właśnie kilka minut na bbc i widzę że bez poprawek się nie obejdzie bo tamtą wersje nie da się grać...
    Ale jak na razie Jakub ładnie to wygląd trzymam kciuki.
    • 15:
       
      CommentAuthorRastan
    • CommentTime12 Mar 2013
     
    jhusak: świetne, dobra robota !
    • 16:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013 zmieniony
     
    nowa wersja, można się naparzać, ale nie można wspinać (przynajmniej ja nie umiem)

    No dobra, do tego potrzebny czekan, ale nie umiem rzucać szurikenem.
    • 17:
       
      CommentAuthorxeen
    • CommentTime12 Mar 2013
     
    rewela!
    • 18: CommentAuthorxxl
    • CommentTime12 Mar 2013
     
    nie, no... swietne!
    • 19: CommentAuthornodez
    • CommentTime12 Mar 2013
     
    wow!
    • 20:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013
     
    Nie, to nie jest World of Warcraft!
    • 21: CommentAuthorxxl
    • CommentTime12 Mar 2013
     
    salto do przodu zniknelo... moze to byl ruch ktory umozliwia wspinanie?
    • 22: CommentAuthorpin
    • CommentTime12 Mar 2013
     
    @jhusak - jak należy uruchamiać "LastNinja2.xex"?

    Nie działa mi to na dwóch Atarkach. Po SIO, ładuje chwile i przestaje (spod inita), o reszcie już nie mówię.
    • 23:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013 zmieniony
     
    No przeca pisze, że działa tylko pod emulatorem na razie.

    Wspinanie = czekan

    Na razie spacja podczas gry mi nie działa.
    JKL - różne salta. H - zmiana Holding SPACJA (nie działa) zmiana USING.

    fire dół skos - wzięcie przedmiotu. Fire + dół - kopniak. Fire + góra pięśniak.
    • 24: CommentAuthorpin
    • CommentTime12 Mar 2013
     
    :) - nie działa nawet z iksbajosa. Hehehh
    • 25:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013 zmieniony
     
    Z niczego się nie załaduje, bo się ładuje pod $400-$800, $900-aff (post 29). Tylko z emula. Ale może kiedyś będzie normalnie do xbiosa wychodziło, bo do dosa nie da rady (tzn za dużo zachodu). Kiedyś będzie się ładowało wyżej i się będzie przepisywać niżej, ot co.
    • 26: CommentAuthorpin
    • CommentTime12 Mar 2013
     
    atari800win - odpala, ale widzę same krzaki.

    .. to po kiego pchać się w takie miejsca pamięci? ;)
    • 27: CommentAuthorfder
    • CommentTime12 Mar 2013
     
    Normalnie super. Jak to się stało, że nikt tego nie zrobił, kiedy tak bardzo tego brakowało...
    • 28:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013 zmieniony
     
    Pin, nie narzekaj. Nie ma krzaków, jak basic odłączysz. Wszystkim działa. Ja nie wybierałem tych lokacji, a ich zmiana wiąże się ze sporym nakładem pracy (niejednokrotnie), aby kod był relokowalny na poziomie asemblera (niemal jest).

    fder, nie było internetu, a były animozje międzyplatformowe. I nie było wiedzy międzyplatformowej, tak jak to teraz wykorzystuje xxl, a teraz próbuję ja. Następnie był internet, ale era 8-bit się skończyła, a i archiwów nie było. W latach 20xx nastąpił resentyment, pojawiły się archiwa, dostępna wiedza dla każdego i stąd tyle aktywności na tym polu.
    • 29: CommentAuthorpin
    • CommentTime12 Mar 2013
     
    a - basic. Nie zauważyłem ;)
    • 30:
       
      CommentAuthorjhusak
    • CommentTime12 Mar 2013
     
    BASIC to PODSTAWA.
    • 31: CommentAuthorpin
    • CommentTime13 Mar 2013
     
    :D ... tak, jak możliwość jego wyłączenia z poziomu programu? :P
    • 32:
       
      CommentAuthorjhusak
    • CommentTime13 Mar 2013
     
    Pin, nie bądź u$%#$@%wy, bo specjalnie tak zrobię, że na twoim sprzęcie gra nie ruszy :P
    • 33: CommentAuthorBluki
    • CommentTime13 Mar 2013
     
    Też uważam, że gra, która nie potrzebuje BASIC-a, powinna go wyłączać sama. Przecież to jest prosta sprawa, tak prosta, że powinna być STANDARDEM przy pisaniu nowych gier.
    Całą "brudną" robotę powinien wykonywać komputer, a nie człowiek go obsługujący.
    Chyba nawet po to wymyślono komputery :)
    • 34: CommentAuthorpin
    • CommentTime13 Mar 2013
     
    @Bulki, tylko że ostatnio jak czytam różne bzdury to sam się zastanawiam w jakim to kierunku zmierza ;) Ciekawym by było, jak by ktoś teraz napisał grę na magnetofon. W sumie to przecież wszystko można :D

    Żeby nie było "u$%#$@%wy", to teraz nie piszę tego w stosunku do L.N. :)
    • 35: CommentAuthorpin
    • CommentTime13 Mar 2013
     
    .. tak poza tym, to jak to działa na tym emulatorze? Uruchomiłem, mam ekran z logiem LastNinja a na nim przebierają raciczkami dwa czarne ludziki. No i naciskam co się da i nic się nie dzieje ;)
  2.  

    Bluki:

    Przecież to jest prosta sprawa
    Jak to zrobić?
    • 37: CommentAuthorxxl
    • CommentTime13 Mar 2013
     
    org portb
    .byte $ff
    • 38:
       
      CommentAuthorDracon
    • CommentTime13 Mar 2013
     

    PINokio:

    .. tak poza tym, to jak to działa na tym emulatorze? Uruchomiłem, mam ekran z logiem LastNinja a na nim przebierają raciczkami dwa czarne ludziki. No i naciskam co się da i nic się nie dzieje


    Trzeba bylo wcisnac po prostu spacje. :P
    Uzywaj do uruchamiania lepiej A800Win[ByX] bo jakos lepiej tam to wyglada....
    • 39: CommentAuthorpin
    • CommentTime13 Mar 2013 zmieniony
     
    .. a spacje ;) No faktycznie.
    • 40:
       
      CommentAuthorjhusak
    • CommentTime14 Mar 2013
     
    Żeby nie było "u$%#$@%wy"

    Pin, dzięki, że mnie zacytowałeś bez błędów :)
    • 41:
       
      CommentAuthorjhusak
    • CommentTime14 Mar 2013
     
    org portb
    .byte $ff


    Hmm. to mi daje do myślenia...
    • 42:
       
      CommentAuthormgr_inz_rafal
    • CommentTime19 Mar 2013 zmieniony
     
    org portb
    .byte $ff
    Hmm. to mi daje do myślenia...
    Mi też... Działa dobrze. Ale pytanie, dlaczego to działa?

    I zgadzam się z Blukim - to powinien być standard (o ile nie ma ukrytych wad). Przynajmniej folijka z OPTION by mi nie schodziła :)
    • 43: CommentAuthorwieczor
    • CommentTime19 Mar 2013
     
    Pytanie brzmi: a dlaczego miałoby nie działać? :)
    • 44: CommentAuthormono
    • CommentTime19 Mar 2013 zmieniony
     
    Dlaczego działa. Po zakończeniu boota kontrolę przejmuje loader. Nawet jeśli basic jest włączony, to os nie oddał mu sterowania. Loader zaczyna ładować program, trafia na blok ładujący $ff do portb, więc go tam zapisuje (wyłącza się basic) choć basicf ($3f8) nadal wskazuje że basic jest zainstalowany (oidp 1), memhi ($2e5) jest w $9c1f a i ekran (E:) jest nadal w $9c20..$9fff (żeby się znalazł w $bc20..$bfff trzeba by zapisać memhi, basicf, zamknąć #0 i otworzyć na nowo, albo ręcznie załadować nową dlistę). Bloki w obszarze basica mogą się spokojnie ładować do ramu. Po zakończeniu ładowania loader przekazuje sterowanie do programu. I cała magia.
    • 45:
       
      CommentAuthormgr_inz_rafal
    • CommentTime19 Mar 2013 zmieniony
     
    @wieczor
    Bo jak czytam sobie o PORTB w mapie pamięci to widzę tylko coś o zapisach/odczytach z portu dżojstika. Natomiast o wyłączaniu BASICa jest w $3F8 (BASICF) ale widzę, że tego nie stosujemy :)

    @mono
    Dzięki za wyjaśnienie. Kluczowe jest jednak to zdanie "trafia na blok ładujący $ff do portb, więc go tam zapisuje (wyłącza się basic)". Ciekawi mnie, dlaczego zapis $ff do PORTB wyłącza BASIC.

    Może mam jakąś starą mapę pamięci.

    ====== EDIT: =======
    Dobra, znalazłem więcej tutaj:
    ->link<-
    • 46: CommentAuthormono
    • CommentTime20 Mar 2013 zmieniony
     
    Porta służy do obsługi dwóch pierwszych joysticków. Portb w xl/xe do obsługi pamięci (w tym dodatkowej). Możliwe, że w 400/800 służył do obsługi dwóch kolejnych joysticków... Oni tam mają 4 joye i 8 paddli.

    Edit: A znasz ->link<- ?
    • 47: CommentAuthorxxl
    • CommentTime20 Mar 2013
     
    @mgr_inz_rafal: jesli piszesz gre to na poczatku dobrze by bylo zdecydowac czy w grze bedziesz uzywal procedur systemu operacyjnego. decyzja (jaka by ona nie byla) kilka spraw odrazu uprosci.
    • 48: CommentAuthormono
    • CommentTime20 Mar 2013
     
    To prawda. O te dodatki o których pisałem trzeba by zadbać tylko kiedy używasz osa. Wpp wystarczy samo portb.
    • 49:
       
      CommentAuthorKaz
    • CommentTime4 Oct 2020
     
    Zamieszczę tu sobie przykład software sprite engine:

    • 50: CommentAuthorTrachu
    • CommentTime6 Oct 2020
     
    KAZ a w jaki sposob uzyskano tutaj 8kolorow plus tlo?