Komentowana treść: Szkółka asemblera
[#1] Re: Szkółka asemblera
To szkółek asemblera się namnożyło ostatnio. W Retrokomp z tego co pobieżnie przejrzałem też jest szkółka pisania dema w asemblerze na Amidze (i nie tylko od strony kodu - jest objaśnione jak skonwertować IFF oraz użyć modułów Protrackera). No i Asman coś przygotował do Pisma PPA, które przestało się ukazywać.

Mnie tylko odrobinę martwi, że kod z załączonego artykułu opiera się w zasadzie w całości na rejestrach sprzętowych, to może rzutować na kompatybilność.

No i używają Forbid() do wyłączania multitaskingu na czas działania programu. Jeśli naprawdę chcą przejąć całkowicie kontrolę nad procesorem jest do tego odpowiednia funkcja z lowlevel.library - SystemControl(), w systemie 3.1.

Pytanie tylko dlaczego nie korzystać z dobrodziejstw mutltitaskingu i funkcji systemowych. Rozumiem, że RastPort i Layers są obarczone dużym narzutem i do tego typu produkcji się nie nadają.

W mojej szkółce nie będzie ustawiania rejestrów bezpośrednio z niewieloma wyjątkami, o których wspomniałem niedawno (czyli Blitter i Copperlista użytkownika). Moje przykłady będą bardziej kompatybilne pomiędzy różnymi modelami Amig i będą przyjazne dla użytkownika. Szykuję też parę niespodzianek - np. demo w okienku :)

Asembler daje ogromne pole manewru w wielozadaniowym środowisku jakim jest Amiga. Pamiętajmy, że liczba instrukcji w naszym programie ma zasadnicze znaczenie, bo nasz program nie jest jedynym wykonywanym.

Ostatnia aktualizacja: 27.10.2015 21:50:53 przez Hexmage960
[#2] Re: Szkółka asemblera

@Hexmage960, post #1

Bo to jest typowo "classicowe" retro-podejście do sprawy. Na tak zaprogramowanych grach (a nawet programach użytkowych) Amiga wypłynęła. W czasach świetności Amigi wielu twórców miało w nosie fakt, że platforma ta ma jeden z najfajniejszych systemów operacyjnych świata. Liczyła się szalona jazda po rejestrach i trakowanie Amigi jak bardziej rozbudowanego C64 czy Atari XL/XE. Na początku takie podejście to było fajne, efektywne i efektowne i wręcz uskrzydlało Amigę. Ale potem te skrzydła zmieniły się w kulę u nogi, która ściągnęła Amigę na samo dno i utopiła.
Na szczęście nowe systemy amigowe (zarówno oficjalny AmigaOS4 jak i podróby typu MorphOS/AROS) odcięły się od tych retro-technik i wszystko co na nich działa jest napisane dosyć zgodnie ze sztuką.
[#3] Re: Szkółka asemblera

@MDW, post #2

Uskrzydliły Amige bo była komputerem rozrywkowym . I tak właśnie się powinno programować Amige, to były lata świetności. Póżniejsze "mundrołkowanie" systemowe można se w buty włożyć, amigi już wtedy NIE BYŁO.
[#4] Re: Szkółka asemblera

@pabloz, post #3

No wiesz, każdy ma swoje spojrzenie na historię Amigi.
Dla mnie zarówno gry NDOS jeżdżące po rejestrach jak i sam system to niezaprzeczalne i nierozłączne dobro, a najmniej docenionym dla ludu w temacie Amigi jest właśnie system.
Bez ami-systemu moje amigowanie skończył bym już 95 roku ok, racja
[#5] Re: Szkółka asemblera

@BULI, post #4

Podpisuję się pod wypowiedzią kolegi BULI wszystkimi czterema kopytami. Jak ktoś uważa, że Amiga to maszynka do gierek, a po śmierci C= poleciał w te pędy ją sprzedać i kupić peceta to jego sprawa. Niech tylko nie przychodzi teraz i nie pluje na tych, którzy tego nie zrobili (czasem do dziś). Wstyd, panie pabloz.

A w ogóle to ewentualny oftop na temat kiedy Amiga jeszcze była, a kiedy jej nie było i dlaczego ci, którzy platformę porzucili mają dyktować tym, którzy przy niej zostali jak ma wyglądać ich hobby można prowadzić w komentarzach do tego artykułu. Dziękuję.
[#6] Re: Szkółka asemblera

@pabloz, post #3

Dla mnie nie ważne, czy program jest napisany w C, asemblerze, Fortranie, Modula-2, tudzież Basicu, Pascalu, czy Logo. Przykładowo na dyskach Freda Fisha znajdziemy programy w każdym z tego typu języków.

Ważne by był napisany z pewnymi wytycznymi, czyli: mieć możliwość instalacji na dysku twardym, zapewniać kompatybilność ze wszystkimi modelami Amig. To jest w cenie. Nie musi działać pod systemem, choć i to da się zrobić (Colonization).

Typowana na najlepszą gra The Settlers działa w multitaskingu (nie wyłącza Workbencha).

Czy dziś kiedy używa pan Amigi woli pan żonglerkę dyskietkami, czy jednak wygodę jaką zapewnia twardy dysk?

Ja cenię sobie i oprogramowanie i gry na Amigę. Nie potrzebuję żadnego z nowych systemów, bo wiem czego chcę od komputera i wiem jak uzyskać to czego potrzebuję na Amidze.

Jest po prostu kilka szkół.
[#7] Re: Szkółka asemblera

@Hexmage960, post #6

Typowana na najlepszą gra The Settlers działa w multitaskingu (nie wyłącza Workbencha).


Obawiam się ze nie działa w multitaskingu. Co prawda nie wyłącza WB, ani DOSa (gdy z niego zostanie odpalona) i po zakończeniu gry można użyć "Quit", aby wrócić do WB/DOSa, jednak podczas gry nie działa powrót do ekranu WB (za pomocą klawiszy ctrl + M).

Ja za multitasking uważam sytuację, gdy sobie gram i w dowolnej chwili bez wyjścia z gry przełączam ekran na WB i wpisuję jakąś notatkę w CEDzie lub sprawdzam na IBrowse forum i po chwili (za pomocą ctrl + M) ponownie wracam do gry.
[#8] Re: Szkółka asemblera

@Andrzej Drozd, post #7

Jakie Ctrl+M? Przecież do tego służy LewaAmiga+M...
[#9] Re: Szkółka asemblera

@Hexmage960, post #1

ja nie wiem... sami malkontenci.

na forum to wszyscy by chcieli aby powstawały dema, gry itp. przed party każdy ma nadzieje że inni zrobią. tutaj koleś pokazuje jakie to proste - naprawdę w tym tutorialu i w tutorialach na YT nie da się już tego prościej wytłumaczyć. nie ma sensu komplikować tego tutoriala opowiadając o intuition, wb, multitaskingu czy innych trzewiach systemu.
tutaj gościu napisał że artykuł jest o low-level programming ale oczywiście pojawia się masa komentarzy że tak się przecież nie pisze na amigę... eh

powiem tak. takie artykuły to jest to co może spowodować że będzie więcej produkcji na amigę. i ja osobiście mam w d... że pan uczy jak pisać na bare-metal a nie pod WB. gdybym taki artykul zobaczył pół roku temu pewnie pomogło by mi to bardzo przy pisaniu mojego pierwszego demka. a tak musiałem uczyć się tego wszystkiego i dochodzić do tej wiedzy sam. (+tutoriale photona na YT).

poza dzieleniem się wiedzą w przystępny sposób samo pisanie takiego artykułu to żmudna praca.

nie marudzić więc! tylko gratulować i życzyć sobie więcej!
[#10] Re: Szkółka asemblera

@Andrzej Drozd, post #7

Masz rację. Choć pewnie Hexmegowi chodziło o powrót do systemu. Można to osiągnąć bardzo łatwo, wystarczy tylko rezerwować pamięć przy pomocy systemu i pozrzucać przerwania oraz inne ważne rejestry sprzętowe które modyfikujemy. I tak powinna być pisana każda gra i demo obecnie (chyba ze ktoś bardzo potrzebuje każdego bajtu pamięci i robi coś na A500, to tylko dyskietka z bootblockiem i organizacja pamięci po swojemu).
[#11] Re: Szkółka asemblera

@retronav, post #9

ja nie wiem... sami malkontenci.


Niestety, forum ppa to największe skupisko "programistów teoretyków i malkontentów", jakie istnieje w sieci. Tygodniami potrafią dyskutować (na co oczywiście czas znajdują) o kursach kodowania i "koszerności programowania pod system" zamiast napisać choć linijkę kodu (bo tu już "czasu nie mają")
[#12] Re: Szkółka asemblera

@flops, post #10

i tak właśnie robię w swoim mini demku :)

nie chcę nikogo obrażać moim komentażem ( i poprzednim też) ale wg mnie nie ma się co silić na pisanie pod system teraz.

a powiem że pisanie na bare-metal w przypadku amigi jej układów i m68k to naprawdę frajda. i jak się załapie to szybko się idzie do przodu. dlatego będę bronił tego artykułu. naprawdę czekam na więcej. sam zaczynam drążyć tematy np c2p czy innych efektów bo już myślę o kolejnym demku. wszystko dzięki temu że komuś chciało się tutoriale do sieci wrzucić.
[#13] Re: Szkółka asemblera

@recedent, post #8

O widzisz, wkradł mi się błąd czeskonorweski.
[#14] Re: Szkółka asemblera
Pisanie produkcji scenowych i gier na klasyka w pełni pod systemem nie ma sensu. Oczywiście miło jest jeżeli demo gładko wróci do Workbencha i zwróci pamięć. Jednak całkowicie systemowe pisanie w pewnym sensie kłóci się z ideami demosceny, czyli wyciskania maksa ze sprzętu. Pod system można (i należy) pisać oprogramowanie użytkowe, albo gry z gatunku tych działających w okienku Workbencha.
[#15] Re: Szkółka asemblera

@retronav, post #12

no właśnie, nic dodać nic ująć
[#16] Re: Szkółka asemblera
Dobry artek. Więcej takich! OK
[#17] Re: Szkółka asemblera

@Krashan, post #14

Skoro i tak wiekszosc leci przez c2p to co za roznica jak i tak liczy tylko procek?
[#18] Re: Szkółka asemblera

@retronav, post #9

Definicja słowa "malkontent" ze Słownika Języka Polskiego:
człowiek negatywnie nastawiony do życia, niezadowolony z rzeczywistości, we wszystkim doszukujący się ujemnych stron; maruda, zrzęda, tetryk

Myślę, że to określenie do mnie nie pasuje Nie zrzędzę na wszystko. Jest zupełnie odwrotnie - we wszystkim doszukuję się pozytywów, jestem optymistą, propaguję zdrowe podejście do Amigi (klasycznej).

Jest dokładnie jak Flops opisał! Chodzi mi o to, że w dzisiejszych realiach twardy dysk stał się standardem. Podobnie programy przyjazne dla użytkownika. Jeśli już na starcie program wyłącza mi multitasking (i to w niewłaściwy sposób) jestem zdezorientowany.

Proszę mi wybaczyć, ale stawiam pewne wymagania przed programami, z których korzystam. Przykładowo Solid Gold, o ile jest świetną grą, troszkę razi, że został wydany w postaci ADF. Instalacja na twardym dysku jest przeze mnie bardzo mile widziana.

Zobacz i zagraj sobie w takie gry jak Colonization, a zrozumiesz o czym mówię! A może nawet przekonasz się do moich racji.

Proszę też sobie wyobrazić taką sytuację - autorzy piszą po rejestrach sprzętowych i robią programy nieprzyjazne dla użytkownika, bo zwyczajnie używają wyłącznie emulatora Amigi. W tle chodzi im jakiś edytor tekstu. W emulatorze odpalają i wyłączanie multitaskingu im nie wadzi. A co ma zrobić biedny użytkownik prawdziwej Amigi kiedy odpala takie demo?

Oczywiście wielce gratuluję Ci, że uczysz się programować na Amidze i to z sukcesem! Ponieważ nie chcę dzielić grupy programistów piszących na naszą ukochaną Amigę powiem tak: akceptuję i wspieram każdego programistę amigowego - czy pisze wyłącznie po rejestrach, czy korzysta z systemu. Każda technika ma swoje plusy i minusy. Niech każdy pisze jakie ma preferencje.

Niech ten kurs i mu podobne będą przyczynkiem do nowych bajecznie pięknych produkcji na Amigę.

A teraz zamilczę w takich sprawach dopóty .... nie wydam własnej produkcji, która będzie posiadać mile widziane przeze mnie cechy. Najpewniej będzie to program użytkowy. szeroki uśmiech

Pozdrawiam i miłego kodowania!
[#19] Re: Szkółka asemblera

@michal_zukowski, post #17

Skoro i tak wiekszosc leci przez c2p


Nie na A500.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem