kategoria:
[#31] Re: Programowanie na A1200

@pokulan, post #30

No to chyba asembler będzie zbędny. Zresztą jak masz zapał.
[#32] Re: Programowanie na A1200

@pokulan, post #30

Jeżeli mają to być "proste" programiki, to szkoda czasu na zabawę w asma.
Proponuję pisać w C, a ewentualnie krytyczne fragmenty napisać w asmie (gcc bez problemu połączy wszystko racem).
Poza tym, znajomość C przyda się koledze bardziej, niż asma. Pisząc w C bez problemu można przekompilować program na praktycznie dowolną platformę (czego się o asmie powiedzieć nie da...).
Jednym słowem - jeżeli masz wybór - inwestycja wolnego czasu w poznanie C będzie o wiele bardziej owocna, niż poznawanie asma...
[#33] Re: Programowanie na A1200

@pokulan, post #30

Zacznij od tego jeśli chodzi o C, złapiesz podstawową wiedzę odnośnie pisania pod system amigowy, potem sam sobie wybierzesz narzędzie do dalszej pracy. Dodatkowo tutek Cię naprowadzi na dobry obraz dysku twardego do UAE, który ma preinstalowaną tonę narzędzi deweloperskich - w tym GCC i AsmOne.

@MorphOS_pl: być może nie mam racji co do GCC, ale Twoja wypowiedź nie rozwiewa w tym wypadku żadnych wątpliwości. Świat byłby lepszy gdybyś rozwinął swoją myśl. :) To, co mnie głównie odrzuca od GCC na Amidze to konieczność używania ixemul.library. Wiem, że można skompilować kod tak, że nie będzie ta biblioteka potrzebna, ale zakładam że wtedy jej wymagane fragmenty zostaną bezpośrednio dołączone do kodu wynikowego. Nie deasemblowałem powstałych plików wykonywalnych, ale mam takie silne przeczucie i to jest pierwsza rzecz, która przemawia za nadmiernie wielkim outputem. Mylę się?

Ostatnia aktualizacja: 03.03.2014 07:32:52 przez teh_KaiN
[#34] Re: Programowanie na A1200

@teh_KaiN, post #33

-noixemul i po problemie (gcc korzysta wtedy ze "standardowego" libnix-a). Poza tym - mozesz napisać własny kod startowy - i wtedy masz pełną kontrolę, nad tym co jest linkowane...
[#35] Re: Programowanie na A1200

@pokulan, post #28

jak rozumiem C++ dlatego że uważasz że to taki najpopularniejszy język? Tak właśnie jest i jeśli upatrujesz swoją karierę w programowaniu to prędzej czy później musisz poznać tą abominację

Tylko fakt jest taki że nie zaczyna się nauki od C++ tylko od C abyś nie ponauczał się idiotyzmów plus plusowego języka jakich w samouczkach i książkach cię nauczą. Assembler oczywiście też trzeba znać i nie jest nawet ważne że 68K to martwa architektura. Po to trzeba go znać choć trochę aby mieć pojęcie jak jest kod kompilowany. Zanim 'liźnie' się ASM człowiek ma dziwne założenia co do tego co dalej się dzieje z kodem napisanym czy to w C, C++, Pascalu czy jakimkolwiek innym języku...

Jednak zaczynanie od ASM jest bez sensu bo nie nauczysz się C, nauczysz się programować z samymi jumpami (niesławne GOTO) i generalnie nie będziesz miał żadnej wiedzy jak programować na nie-Amigi. No i słomiany zapał prędzej ucieknie. Poza tym pisanie 100% programu w Assemblerze to jakaś głupota by była. Tak na Amidze jak i nowych komputerach w ASMie pisze się tylko procedury gdzie wykonuje się wiele razy ten sam kod aby zmaksymalizować wykorzystanie procesora a sam program pisze się w C/C++ aby zminimalizować czas na pisanie programu. Np. pisząc grę assemblera używa się do elementów silnika czyli tworzysz procedury rysowania obiektów i efektów w Assemblerze a samą grę w C. Bo np. po co proces ładowania poziomu do pamięci pisać w Assemblerze? Oszczędność kilka cykli procesora które są niczym w porównaniu do opóźnień urządzeń I/O się nie opłaca i lepiej tą energię umysłową przeznaczyć na inteligentniejszy proces ładowania niźli na używanie swojego mózgu w charakterze kompilatora.

to było tak ogólnie jeśli chodzi o programowanie a jeśli chodzi o Amigę to możesz spokojnie pisać w C na Amidze, szczególnie A1200. Za assembler weź się jak dojdziesz do jakiegoś rysowania bardziej zaawansowanego które będzie zacinać. Wtedy raz że będziesz miał motywację a dwa że próbując rozwiązać problem wydajności zobaczysz naocznie ile daje piłowanie Assemblera.

Czyli na przykładzie gry pisz ją tak aby oddzielić grę od jej silnika tj. rysowanie obiektów, wykrywanie kolizji, itp. oddzielnie od samej logiki gry i najlepiej w zupełnie innych plikach i wszystko w C. Potem dopiero mając jakiś kawałek grywalnego i działającego kodu zmieniasz newralgiczne elementy na assembler. No chyba że jesteś assemblerowym guru (wiesz, ten co medytuje ) i lepiej rozumiesz assembler niż C ale że nie jesteś to lepiej pisać w C. Ba, nawet zmiany w kodzie Assemblera imho najlepiej równocześnie wprowadzać do kodu C i oba na raz testować. Trochę więcej roboty ale zawsze ale to zawsze pisanie ładnego czystego i zorganizowanego dobrze kodu jest optymalnym wykorzystaniem czasu bo zawsze ale to zawsze najwięcej czasu idzie na tzw. usuwanie bugów. Pisząc byle jak ten czas potrafi być o rząd wielkości większy niż pisanie samego kodu. Pisząc na raz w C i Asm jeśli się gdzieś pomylisz to raz że to prędzej wyłapiesz a dwa że raczej nie pomylisz się w dwóch miejscach na raz. Czasami podczas takiej operacji można wpaść na bardziej optymalną wersję procedury.
[#36] Re: Programowanie na A1200

@pokulan, post #28

Ja również polecam Ci język wysokiego poziomu C lub C++. Tak jak pisał kolega wyżej, lepiej zacząć od takiego języka naukę programowania. Osobiście doradza po, krótkim wstępie programowania strukturalnego naukę programowania obiektowego ;).

Poniżej link do przykładu, może nie idealnego, mojej aplikacji napisanej w całości w C++ na Amigę prawie 20 lat temu ;). Program uruchomiony pod WinUAE. W oryginale program działał na A1200 i A4000 bez problemów ;), do pracy wykorzystuje ekran 640x256 256 kolor.

https://www.dropbox.com/s/q670y453imrkn9o/RealGame01.avi

Do programowania w C czy C++ świetnym wyborem jest StormC, który ciągle można kupić w necie, jak i w wersji darmowej znaleźć na AMIGA Developer CD 2.1. StormC dostarczany jest z edytorem podświetlającym składnie i prostym IDE oraz debuggerem pozwalającym na pracę krokową itd. Jako środowisko polecam WinUAE lub A1200 z HD. W najnowszej wersji StormC pozwalał na używanie jako kompilatora również gcc (wybór przy tworzeniu projektu).
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