atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Ruszyła edycja zimowa Silly Venture 2024 z 2024-12-06 08:48 (3)
Historia Robbo w J2ME (Java) z 2024-12-04 20:10 (6)
Spowiedź autora symulatora lotu z 2024-12-01 13:44 (10)
11-latek naprawia komputer szachowy z 2024-11-30 12:08 (8)
Tajemnice Atari 5200 (KWAS #35) z 2024-11-27 00:44 (10)
Spotkanie z autorem gry "F-16 Falcon Strike" z 2024-11-22 15:06 (3)
Jak Xorcerer zrobił grafikę do dema STE? z 2024-11-22 14:12 (6)
Pomagamy Atarowcowi! z 2024-11-20 15:02 (28)
Wyniki ATASCII Compo 2024 z 2024-11-10 20:06 (13)
Wyniki konkursu ABBUC 2024 z 2024-11-02 15:54 (19)
Konkurs na grafikę ATASCII 2024 - głosowanie z 2024-10-27 23:34 (14)
Nowszy RECOIL z 2024-10-27 16:05 (0)
W sobotę KWAS #35 w Krakowie z 2024-10-16 00:17 (7)
Giełda 80/90 w Gdańsku z 2024-10-15 13:45 (5)
Pędź Mietku, pędź! z 2024-10-10 12:44 (42)
ATASCII Compo - 4. edycja z 2024-10-06 19:12 (16)
Gra "Dangerous City" uwolniona! z 2024-10-03 15:49 (25)
Miniaturowe Atari #2 z 2024-09-30 19:15 (13)
Wkrótce "Bubble Bobble" na Atari z 2024-09-27 10:34 (52)
Pokłosie KWAS #34 - Projektowanie cartów Atari z 2024-09-26 20:28 (9)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier (konwencja Kaz)
Aktualizacja: 2024-12-05
Liczba katalogów: 8501, liczba plików: 37171
Zmian katalogów: 43, zmian plików: 90

0-9 A B C D
E F G H I
J K L M N
O P Q R S
T U V W X
Y Z inne
zipCałość 2935 MB

Katalog gier (konwencja TOSEC)
Aktualizacja: 2021-07-11

Opisy gier
"Old Towers" (Atari ST) opisał Misza (19)
Submarine Commander opisał Kaz (35)
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (16)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (36)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (3)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (8)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (19)
Basil The Great Mouse Detective opisał Charlie Cherry (125)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
«« nowszestarsze »»

Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
O kodowaniu efektów dema na Atari STE
Obiecaliśmy, że koderzy bardzo szczegółowo opowiedzą o wybranym przez czytelników AtariOnline.pl efekcie z ich dema The Coders' Guide to the Demoscene, zorganizowaliśmy ankietę, w której czytelnicy oddali wiele głosów nie na konkretny efekt, ale na możliwość, by koderzy sami wybrali, o czym chcą opowiedzieć. Opłaciło się, bo autorzy dema opowiedzieli w detalach o dwóch efektach... Zapraszam na ich analizę zainteresowanych tematem. Nawet jeśli nie jesteś koderem, a tylko odbiorcą, to warto wiedzieć ile i jakiej pracy wymagają niektóre efekty w demach. Nagranie i montaż: Misza. Prawie dewie godziny intelektualnej, koderskiej strawy tutaj:



Autorzy dema: Jakub "Acid Maker" Kruszona-Zawadzki, Krzysztof "Dr. DF0" Kielak, Piotr "Scorpio" Ejdys, Roman "Xorcerer" Fierfas, Michał Popiel-Machnicki, Róża Popiel-Machnicka oraz Jakub Husak. Opublikowane na Silly Venture SE2024. O tym, jak demo było tworzone przez całą ekipę członkowie grupy opowiadają na YT tutaj, demo wygląda zaś tak (filmik od Xorcerera).

2024-09-22 15:58 by Kaz
komentarzy: 27
immolator @2024-09-22 20:08:45
Dzięki!
George @2024-09-23 07:45:24
Dzięki! Z chęcią obejrzę!
0xF @2024-09-23 11:10:20
Coder's pr0n! Nareszcie zrozumiałem, dlaczego to demo ma 30 MB, chociaż wciąż uważam to za kontrowersyjne, co rozwinę na forum. Najfajniejszą rzeczą, której się nauczyłem, jest pętla na RTS, chociaż na 6502 to już nie taki dopał (6 cykli na RTS vs 8 na DEC ZP + BNE). A gotowy kod do rysowania krótkich linii można spokojnie przenieść nie tylko na 6502, ale na dowolną architekturę.
tebe @2024-09-23 11:54:47
:) pętla RTS ? w sensie wrzucasz na stos n-adresów początku takiej pętli, uruchamiasz i po każdym RTS skacze na wskazany początek

taka pętla może wykonywać skoki pod różne adresy, niekoniecznie na początek takiej pętli
0xF @2024-09-23 12:26:46
Dokładnie.
0xF @2024-09-23 13:24:20
Z minusów trzeba uważać, żeby przerwanie nie zamazało stosu do następnego użycia.
Z plusów zysk będzie większy, jeśli pętla jest długa i branch nie sięga.
mono @2024-09-23 15:40:59
Przecież przerwanie niczego nie zamazuje, bo adresy są za wskaźnikiem stosu.
0xF @2024-09-23 15:45:56
A jak wykonasz tę pętlę drugi raz, co? Przecież zapis na stos przed każdym użyciem się nie opłaca. Robisz LDX count2sp,Y TXS
Cyprian @2024-09-23 16:59:02
68k ma dwa stosy - użytkownika USP i superwizora (np. przerwania) SSP.
Druga sprawa, jeśli program działa w trybie superwizora i korzysta z SSP to tu też przerwanie nie powinno nic namieszać.
Przerwanie zrzuca stan/rejestry na stos na wejściu przerwania i przywraca je na wyjściu, czyli z punktu widzenia programu, stos nie został naruszony.
0xF @2024-09-23 17:47:49
Zrzuca na stos nie naruszając stosu?
Cyprian @2024-09-23 18:53:10
na 68k z punktu widzenia aktualnie wykonywanego programu przerwanie nie narusza stosu, gdyż wyjście z przetrwania przywraca jego pierwotny adres.
Konop @2024-09-23 18:58:04
Przerwania musiałyby nie manipulować stosem w ogóle (co może być uciążliwe) lub dysponować swoją ramką w obrębie stosu (osobnym wskaźnikiem stosu). W tym drugim przypadku należałoby zapamiętać gdzieś na boku w pamięci te 3 bajty odkładane przy wywołaniu przerwania, przywrócić zawartość stosu pod tymi lokalizacjami podczas wyjścia oraz wychodzić przez jmp odpowiednio modyfikując rejestr flagowy. To ostatnie stanowi pewne wyzwanie.

To tylko teoria, bo w praktyce na A8 to niepraktyczne w szczególności, gdy pętla mogłaby kończyć się przez dex/dey bne.

Trzeba uważać na to, aby przerwanie nie nadpisało stosu również podczas pierwszego wykonania pętli.
pirx @2024-09-23 19:03:17
co do kodu do rysowania linii - oczywiście da się zrobić na malucha, nie będzie taki ładny, bo kilka rozkazów na punkt, dodatkowo jednak trochę mało ramu na dane i któtki stos.
ale końcepcja zadziała.
0xF @2024-09-23 21:11:16
Konop, ciekawa analiza. Odtworzenie flag trzebaby zrobić kilkoma instrukcjami już po przywróceniu wskaźnika stosu TXS i rejestru X.
Założenie jest oczywiście takie, że w pętli potrzebne nam X i Y do celów innych, niż zliczanie przebiegów pętli.
O co chodzi w ostatnim zdaniu? Dlaczego pierwsze wykonanie pętli jest szczególne?
0xF @2024-09-23 21:31:14
Ciekawe wyzwanie :)
V
0 CLV
1 BIT CONST64
NZ
00 CMP #A-1
01 CMP #A
10 CMP #A+1
11 BIT CONST128 ; w pętli zrobiliśmy BIT, bo przecież nie PLP, trzeba obsłużyć razem z V
C
0 CLC
1 SEC
I - tylko jeśli mamy IRQ
0 CLI
D - teoretycznie, bo raczej nie zmieniamy na przerwaniu
0 CLD
1 SED
Konop @2024-09-23 21:35:04
Rozumiem, że można przyjąć założenie o tym, że to się w praktyce nie zdarzy w przypadku efektów synchronizujących się do VBL, ale w ogólności musimy być pewni, że przerwanie nie zniszczy nam zawartości stosu w trakcie wykonywania pętli na głównym wątku, bez względu na to, czy jest to pierwsze, czy kolejne wywołanie. No i oczywiście to samo dotyczy sytuacji, w której inicjujemy "stos". Tutaj również przerwanie występujące w trakcie tej operacji nie jest mile widziane. Oczywiście należy to synchronizować.
Konop @2024-09-23 21:46:56
Pierwotnie sądziłem, że to może być skomplikowane, ale zapamiętanie rejestru flagowego w osobnej komórce pamięci gdzieś na początku przerwania, a później odtworzenie go tuż przed powrotnym skokiem w postaci lda storedFlags pha plp jmp (returnAddressPtr) powinno być wystarczające.
0xF @2024-09-23 21:55:29
Albo synchronizujemy się do VBL, albo robimy takie VBL, które sprząta po sobie na stosie (patrz wyżej).
Z DLI co 8 linii to już za duży narzut.
Dla inicjalizacji stosu jest jeszcze trzecia opcja: bez przestawiania wskaźnika stosu.

Ale PHA zamaże stos, a mieliśmy zostawić czysty?
0xF @2024-09-23 22:00:41
Prościej będzie zapamiętać na VBL, które trzy bajty stosu popsuliśmy (TSX STX vbl_sp) i przywracać je przed następną pętlą.
0xF @2024-09-23 22:43:42
NZ
00 LSR $D20C
01 INC $D20C
10 DEC $D20C

Da radę przenieść ten offtop na forum?
Amigowiec @2024-09-24 00:02:22
Ja pisałem na copperze paski decrunchu w ten sposób... IYKWIM
Ktos @2024-09-24 07:48:24
Wreszcie rozmowa o konkretach a nie pitu pitu dla przewodniczacego
Konop @2024-09-24 08:21:57
0xF: PHA zapisze na tym nowym ("przerwaniowym"), dedykowanym stosie, jeszcze przed odtworzeniem wskaźnika stosu, więc powinno być OK. Tak, z DLI to raczej odpada. Tak, inicjalizacja stosu mogłaby odbywać się również przez regularne zapisy do pamięci bez użycia wskaźnika stosu, ale trzeba uważać na bieżącą zawartość wskaźnika stosu no chyba, że chcemy mieć jeszcze trzeci stos. Skończylibyśmy wtedy z a) regularnym stosem na głównym wątku wykorzystywanym poza pętlą rysującą , "stosem" wykorzystywanym do powrotu na początek pętli rysującej, stosem "przerwaniowym". Zastanawiałem się szerzej, gdzie można byłoby realnie skorzystać z faktu, że odczyty ze stosu są szybsze (3 cykle) w stosunku do regularnej pamięci, albo gdzie wygenerowalibyśmy krótszy kod (1 bajt na pla), ale to byłyby zawsze naciągane przykłady.
Konop @2024-09-24 08:36:11
Faktycznie, trzeba zadbać dodatkowo o N i Z. lda storedFlags / pha / plp / txs / ldx oldX / ldy oldY / lda oldA / FixNandZCode jmp (returnAddressPtr).
Konop @2024-09-24 08:39:59
Ten fragment FixNandZCode musiałby być dynamicznie nadpisany w zależności od tego jak ustawione były flagi N i Z w storedFlags. To jest do zrobienia.
Kaz @2024-09-24 09:28:29
Dyskusję, na prośbę Fox-a, przeniosłem na forum tutaj:
https://atarionline.pl/forum/comments.ph...
0xF @2024-09-24 10:50:28
Dzięki Kaz, przeniosłem do nowego wątku https://atarionline.pl/forum/comments.ph...
nickname
e-mail / website (opcjonalnie)

Aktualne tematy
Historia Mirage (36)
ostatni: 06-12-2024 10:48, Kaz
Sdrive - wgrywanie plików cas z o... (4)
ostatni: 06-12-2024 10:22, druzil28
Gra "TONY" (488)
ostatni: 06-12-2024 09:44, rafaldudek
Nowe okładki gier (521)
ostatni: 06-12-2024 04:24, lexx
Silly Venture 2024WE - in tribute... (129)
ostatni: 05-12-2024 23:07, Mq
Muzyka i Atari ST/STE (70)
ostatni: 05-12-2024 20:24, Kaz
Zmiany w bazie gier, dem, użytków (967)
ostatni: 05-12-2024 20:22, Kaz
Atari 800XL Mapa Pamięci - Proced... (8)
ostatni: 05-12-2024 19:44, iSiek
Drugi fire w joyu - jak? (26)
ostatni: 05-12-2024 16:34, starymarabut
Zdekompletowane płyty do XE (5)
ostatni: 05-12-2024 11:13, takron27
Atari 7800+ - Brac retro chyba si... (6)
ostatni: 05-12-2024 09:21, streak
Robbo na komórkę (Java, J2ME) (165)
ostatni: 04-12-2024 15:35, Kaz
Turbo Blizzard płytki (9)
ostatni: 04-12-2024 15:30, zaxon
Silly Venture 2024 - bilety na po... (10)
ostatni: 04-12-2024 15:14, Alex
Silly Venture 2024 - wolny pokój ... (4)
ostatni: 04-12-2024 15:13, Alex

Kategorie Forum Atarum

Użytkowników: 2858
Ostatnio zarejestrowany: macz
Postów ostatniej doby: 27

Spotkania i zloty/Meetings & Parties

Najbliższe imprezy
link do naszych spotkań online, zapraszamy do odwiedzenia kanału zoom również przez kod QR:

KWAS

Kalendarz AOL


Społeczność/Community


Rozmawiali
Wywiad z Mariuszem Jaroszem i Kaz (14)
Wywiad Dracona z Mr. Bacardim i Kaz (16)
Tomasz Dajczak i Kaz (22)
Lech Bąk i "Świat Młodych" i Kaz (26)
Michał "Mike" Jaskuła i Kaz (30)
F#READY i Dracon (22)
Daniel „Arctus” Kowalski i Dracon (25)
KATOD i TDC (15)
Mariusz Wojcieszek i "Adam" (17)
Romuald Bacza i Ramos (16)
Śledzenie Amentesa i Larek (9)
Leszek Łuciów i Charlie Cherry (17)
TO JUŻ ZA TOBĄ: rozmowa z Bobem Pape i cpt. Misumaru Tenchi (39)
Rob Jaeger i Emu (53)
Jacek "Tabu" Grad i Dracon (0)
Alexander "Koma" Schön i Kaz (0)
Maciej Ślifirczyk i Charlie Cherry (0)
Jarek "Odyniec1" Wyszyński i Kaz (0)
Marek Bojarski i Kaz (0)
Olgierd Niemyjski i Ramos (0)
«« nowszestarsze »»

Stragan
Nowe, pojemniejsze RAM-Carty oferuje Kaz (21)
"mouSTer" czyli myszka ST oferuje Kaz (30)
Atari USBJoy Adapter oferuje Jakub Husak (0)
Programy: Kolony 2106 oferuje Kaz (7)
Sprzęt: rozszerzenia oferuje Lotharek (128)
Gadżety: naklejki, pocztówki oferuje Sikor (11)
Sprzęt: cartridge RAM-CART oferuje Zenon (7)
Miejsce na drobne ogłoszenia kupna/sprzedaży oferuje Kaz (58)
Sprzęt: interfejs SIO2IDE oferuje Piguła (0)
Sprzęt: interfejs SIO2SD oferuje Piguła (58)

Użytki/Utils
Sprzęt/Hardware

Wynalazki
Podwójna pamięć na cartridgu napisał Zenon (7)
Zmiana barw i klawiszy napisał Kaczor (21)
Odtwarzacz MP3 jako magnetofon Atari napisał Zaxon (22)
ArTARI napisał Larek (10)
SIO2SD 1010 napisał Lotharek (10)
Atari 2600 w telewizorze napisał Kaz (9)
Sam zrobiłem wtyczkę SIO napisał Szary (14)
SIOki w praktyce napisał Sikor (12)
Obudowy SIO2SD napisał Kaz (14)
Moje SIO2SD napisał Rocky (8)
Atari, LCD i tuner TV napisał Rocky (14)
Atari Allacha napisał Nosty (14)
Electron wymiata! napisał Kaz (7)
Atari w joysticku napisał Kaz (13)
«« nowszestarsze »»