Grawitacja 2024 Czas na kolejną edycję 8 bitowego GameJamu. Tenebra na Atari ST/STE Wersja gry na duże atari. Wyniki FujiCup 2023 Wyniki konkursu FujiCup na najlepszą grę dla 8-bit Atari w 2023 roku zostały ogłoszone! TONY na małe Atari Nowa gra na małe Atari, w Hiresie, produkcja Rafała Dudka (brat XXL-a), Popmilo i Caruso. Cosmic Hero 2 Bohater ratujący Ziemię w kryzysowej sytuacji powraca po 30 latach.
tak przy okazji że się pojawiłem bo znowu mnie wena nabrała na małe atari , jest fajny sposób na szybkie czytanie tablicy np:
lda table,x inx
zakładając że tablica nie leży na stronie zerowej , najprostszą rzeczą jaką można wykminić to:
umieszczamy tablicę na pozycji 0 na stosie czyli - table equ $100
po czym ustawiamy wskaźnik stosu na 0
ldx #0 txs
wtedy każdy rozkaz PLA oczytuje nam wartość tablicy , jednocześnie zwiększając wskaźnik stosu o 1 :) przy czym nie rusza nam to rejestrów x i y a wskaźnik stosu określa element tablicy
Podobnie buforowanie X na wskaźniku stosu rozkazem TXS i TSX mogłoby w pewnych sytuacjach przyśpieszyć kod ale kosztem szybkiego czytania tablic na stosie :)
Oczywiście ograniczeniami są przerwania i tego typu kod może być użyty do efektów np wyrabiających się między kolejnymi przerwaniami i aktualizującymi wskaźnik stosu oraz jego zawartość bądź buforując kawałek stosu gdzieś indziej. Teoretycznie przy małej liczbie skoków i przerwań na sam stos wystarczy zostawić kilka bajtów a odtwarzać jedynie znacznik stosu
do tego może byc długa droga ale jeśli będzie trochę samozaparcia to kto wie ;) Na razie mam napisane 2 playerki typu softsynth grające w trybie PDM ( 8 bitowy sampel) na 4 kanałach syntch plus sample .
Wracając do demo efektów jeszcze:
Uzupełnienie odnośnie kefrens barów , bo o ile algorytm był przedsawiony poprawny o tyle realizuje się to nieco inaczej.
Bufor ekranu ustawiamy najlepiej na stronie zerowej i display listą rozciągamy go na maxa na tym samym adresie co linię. Zanim ekran zacznie byc rysowany kasujemy bufor na stronie zerowej , następnie czekamy na rozpoczęcie rysowania obrazu i co 1 bądź 2 linie dorysowujemy kolejnego bara w buforze ekranu - wiec w kolejnej rysowanej linii mamy bara z góry w dól , w następnej lini już 2 , w kolejnej 3 itp i tak do dołu ekranu - wyrabiamy się spokojnie w ramce
ja w swoim intrze Night Flight zrobiłem kefreny tak, że miałem jedną linię ekranu i następny rozkaz to był skok do tej samej linii ekranu, na dole ekranu nadpisywałem Display Listę tak, że był rozkaz końca DL, dobry pomysł jak chce się zrobić to w 256 bajtach, minus jest taki, że rozkaz skoku generuje jedną pustą linię https://www.pouet.net/prod.php?which=61928
W ramach ogarniania chaosu, porządków, reorganizacji przestrzeni, etc. znajduję różne papiery z dawnych lat... nie wiem czy to wszystko jest warte zachowania/udostępniania... jednak przed wrzuceniem tego w niszczarkę postanowiłem zeskanować niektóre z tych materiałów, zdaje sobie sprawę że to już raczej ciekawostka historyczna, jednak nierozerwalnie wiąże się ze sceną i niejako również z "demo effects". Być może ktogoś to zainteresuje, zatem przestawiam skany paru artków z magazynu Amiga z roku '95 poruszającego tematy:
Jeżeli znajdę coś więcej to oczywiście będę dorzucał. Jak wspominałem wyżej, to właściwie już wiedza historyczna, ale może zainspiruje kogoś do dalszego kopania w sieci i poszukiwania wszystkich części tejże serii, lub zajęcia się jakimś tematem z przedstawionych na tych kartkach.
Wybaczcie jakość, ale to co skanowałem to były kserokopie, które dostawałem od znajomego mającego wtedy Amigę, a ponieważ wiedział on że interesują mnie takie rzeczy, kserował mi niektóre artykuły.
EDIT: Dorzucam parę skanów starych kserówek z mag. Amiga, tym razem dotyczących przetwarzania dźwięku:
To niestety znowu ja... z nową porcją historycznego bałaganu...
Był kiedyś (w latach '90) wydawany taki dwutygodnik, który zwal się PC Kurier. Znajdowały się tam różne artykuły, czasami panował tam okropny chaos, czasami ogromny mętlik, jednak pośród tego wszystkiego dało się znaleźć ciekawe artykuły i ciekawe perełki... często napisanie w sposób "patrzcie jakie to proste!"... gdy tylko magazyn ten wpadł mi w ręce zawsze przeglądałem go w poszukiwaniu ciekawostek i inspiracji.
Był w nim dział "Dla Praktyków", zawsze znalazło się tam coś ciekawego... teraz po latach okazało się że część kserokopii przetrwała... zatem wrzucę to co znalazłem hurtem, pierwszy art będzie związany z "demo effects", bo przecież w latach '90 każdy chciał zrobić swoją wersją "Cubic spline" czy "Bézier curve" i zaprezentować ją światu, a przypadku Slight tą osobą był RZóG, który to zaprezentował ów efekt w demie Overmind ;-)
^^^ efekt o którym mowa jest dokładnie od 4:28
Nie pamiętam niestety czym posiłkował się RZóG, ale przeglądając swoje materiały napotkałem na art. z PC Kuriera, pt. "Krzywe Sklejane". TeBe się pewnie ucieszy bo to z działu "Dla Praktyków: Turbo Pascal", a więc język bardo mu bliski ;), zatem ciekawych jak to wyglądało w latach '90 zapraszam do rzucenia okiem: Dla Praktyków: Turbo Pascal - Krzywe Sklejane
ps) Jeżeli znajdę coś w podobnej tematyce nie omieszkam tu umieścić. No chyba że uważacie że to nie miejsce na tego typu linki, wtedy przeniosę to wszystko do wydzielonego wątku. Jeżeli tak, proszę o uwagi i informację zwrotną.
Ostatnio edytowany przez seban (2021-02-16 01:34:18)
ps) wszystkie wcześniejsze materiały wrzuciłem również w formacie DJVU (mają drastycznie mniejsze rozmiary). PDF-y są generowane bezpośrednio z Linux-owego xSANE, więc w środku nich są osadzone nieskompresowane pliki "prosto ze skanera/xSANE", więc PDF-y mają niestety monstrualne rozmiary. Wybaczcie, ale mojego archaicznego Canon Lide 50, obsługuje tylko i wyłącznie Linux. Canon postanowił zakończyć wsparcie (sterowniki) na WinXP, a nie mam zamiaru wywalać sprawnego sprzętu i kupować nowego tylko dlatego że Canon tak postanowił.
Ostatnio edytowany przez seban (2021-02-16 23:41:52)
To jeszcze dwa słowa o pierwiastkowaniu, oczywiście to co wkleiłem ma jedynie znacznie powiedzmy historyczno-sentymentalne, bo "dzisiejsze" rozwiązania są nieco inne, ale aby być fair należy tutaj załączyć dwa linki:
Zasadniczo można też spojrzeć na temat od strony arytmetyki modularnej. Temat ryje trochę banię (przynajmniej mi, ja zawsze miałem problemy z kongruencją na matematyce dyskretnej). Jeżeli chcemy podzielić A przez B, to to jest to samo co pomnożyć A przez odwrotność B. Liczby naturalne nie mają odwrotność, ALE w arytmetyce modularnej już tak*, a taką arytmetyką się posługujemy: jest to modulo 65536 dla 16 bitów albo 4294967296 dla 32 itd. Odwrotność B, czyli B^-1 to taka liczba, że B * B^-1 = 1 modulo m. Jest gwiazdka, bo warunkiem jest, że liczba musi być względnie pierwsza z modulem, ale to jest w miarę prostę, bo jeżeli nie jest względnie pierwsza, to robimy tyle przesunięć w prawo, aż będzie (i wtedy liczbę A trzeba też o tyle samo przesunąć). Wracając do sedna sprawy dla naszego przypadku 3^-1 mod 65536 jest 43691, czyli $AAAB, a 3^-1 mod 4294967296 = 2863311531 czyli $AAAAAAAB, bo $3 * $AAAB = $2001, a $3 * $AAAAAAAB = $200000001. Podejrzewam, że podobieństwo do liczb TeBego jest nieprzypadkowe :) Tera przykład: wylosujmy sobie liczbę, np 2811. 2811 / 3 = 937. Szestnastkowo to $AFB / $3 = $3A9. W arytmetyce modularnej mamy $AFB * $AAAB = $75203A9. Odrzucając wszystko powyżej 16 bitu zostaje nam $3A9.
Może jeszcze tylko dodam, że odwrotność liczby w arytmetyce modularnej można policzyć rozszerzonym algorytmem Euklidesa, albo zrobi to za nas Wolfram Alpha :)
Ostatnio edytowany przez laoo/ng (2021-07-20 09:15:22)