kategoria:
[#1] Programowanie na A1200
Witam. Domyślam się, że tych pytań było wiele, ale nigdzie nie znalazłem zadawalających odpowiedzi. W jakim środowisku można pisać programy/gry na klasyczną Amigę 1200? I czy można pisać pod Windowsem i tworzyć format ADF? Czy można pisać np. w C++? :)
[#2] Re: Programowanie na A1200

@pokulan, post #1

W jakim środowisku można pisać programy/gry na klasyczną Amigę 1200?


W każdym odpowiednio do tego skonfigurowanym.

pod Windowsem


Hmm... Ale jeśli już koniecznie musisz to obczaj serie artykułów asmana w papierowym PPA.

tworzyć format ADF


Jeśli już koniecznie musisz to możesz użyć adflib do tego.

Czy można pisać np. w C++? :)


Jak lubisz sobie strzelać w stopę to tak. Jak nie to będziesz pisał w C albo w asemblerze.
[#3] Re: Programowanie na A1200

@strim_, post #2

Czemu strzelać w stopę? Czy poradniki o AMOS'ie są jeszcze gdzieś dostępne?
[#4] Re: Programowanie na A1200

@pokulan, post #3

Jeśli dysponujesz 060/500Mhz to możesz pisać i w C++ A na poważnie - ten język się po prostu nie nadaje do tak wolnej maszyny - to marnowanie i tak już bardzo ograniczonych zasobów. Nawet C jest słabym wyborem jeśli chcesz robić coś naprawdę dynamicznego. Pozostaje tylko Assambler.
[#5] Re: Programowanie na A1200

@_arti, post #4

O matko jak ja ogarnę assemblera :O
[#6] Re: Programowanie na A1200

@pokulan, post #5

Tak na marginesie tenże język (asm) jest bardzo prosty. Wracając do pierwszego posta, to prawdę mówiąc ciężko cokolwiek sensownego napisać na podstawie tak ogólnych i niedokładnych pytań. Przydałoby się byś udźwignął ten ciężar, napisał więcej co dokładnie chciałbyś zaprogramować na danej maszynie, jakie masz doświadczenie z maszyną i co wiesz na temat programowania.

Ostatnia aktualizacja: 27.02.2014 22:05:06 przez asman

Ostatnia aktualizacja: 27.02.2014 22:06:41 przez asman
[#7] Re: Programowanie na A1200

@pokulan, post #1

Wiesz co? Ja Ci powiem tak - o programowaniu mam jeno blado blade zielono zielone pojęcie. Nigdy nie wylazłem poza zabawy z Atari Basic i Amosem na Amidze. Ale pamiętam świetne cykle artykułów publikowanych na łamach "Magazynu Amiga" - tam było i o assemblerze (Bartek Pampuch), i o C (Kamil Iskra), i o Amos (Prusik). Zaciągnij z Sieci komplet "MA", przeszukaj pod kątem interesującego Cię tematu - gwarantuję, że znajdziesz coś dla siebie. Elitarni, zaawansowani fachowcy podśmiewali się z Amosa, zapewne - jak na ów czas - rację mieli (jakąś tam, swoją). Jednakowoż, na dzień dzisiejszy, jeśli chcemy mieć pokolenie nowych, młodych wilków dłubiących coś, co się daje zapuścić na Klasyku, no to Amos przestaje być śmiesznym językiem, przeciwnie wręcz - jest całkiem solidnym punktem startowym do tworzenia czegoś sympatycznego dla Ami.
Podstawą - jak zawsze - jest zapał i chęć. I do tego pomysł. A realizacja... To już w dowolnym języku, wedle wiedzy, umiejętności.

Serdelki
Des
[#8] Re: Programowanie na A1200

@pokulan, post #1

Wszystko zależy od tego jakie chcesz pisać programy. Jeśli mają to być zwykłe programy okienkowe działające pod WB to wybierz język wysokiego poziomu taki jak AMOS lub C.

Jeśli natomiast chcesz pisać dema/gry lub inny soft korzystający bezpośrednio z amigowego hardware'u to, aby osiągnąć zadowalającą wydajność, musisz użyć assemblera. Nie jest to nic strasznego - pisanie niskopoziomowego kodu, szczególnie na platformach retro, jest całkiem fajne i tylko z pozoru wydaje się być czarną magią. szeroki uśmiech Polecam do tego środowisko ASM One.

Na tym kanale znajdziesz szereg przystępnych video-tutoriali traktujących o programowaniu Amigi z naciskiem na sprzęt i pisanie efektów graficznych.

Ostatnia aktualizacja: 27.02.2014 23:42:37 przez MasterM
[#9] Re: Programowanie na A1200

@MasterM, post #8

Pisanie programów działających w środowisku AmigaOS, z wykorzystaniem systemowego API pod AMOSem to droga przez mękę. Niby są jakieś rozszerzenia umożliwiające korzystanie z API systemowego, jednak są to tylko protezy.
Jeśli AmigaOS i jego systemowe GUI to: C (zdecydowanie polecam, pisanie w C pod Ami jest przyjemne, system bardzo dobrze "rozumie" się z logika tego języka), E (nie znam, ale wiem, że pisanie pod system jest równie przyjemne jak w C), Pascal i wbrew pozorom assembler (AmigaOS obsługuje się z poziomu asm niezwykle łatwo).
[#10] Re: Programowanie na A1200

@wali7, post #9

Co racja, to racja. AMOSa umieściłem chyba tylko dlatego, że sporo osób z niego korzysta. Pisanie jakichkolwiek poważniejszych programów w dowolnym dialekcie BASICa to męka. Też polecam język C.
[#11] Re: Programowanie na A1200

@_arti, post #4

Chciałem sprostować swoją wypowiedź*. Jak właśnie wytłumaczył mi jeden amigowiec (nieakywny już na PPA ale czytający) to nie jest do końca tak, że skompilowany kod C++ będzie wolniejszy niż ASM. Wszystko zależy od programisty, jego wiedzy jak i od planowanego efektu końcowego. Można bez problemu napisać kod w C/C++, który zrobiony z głową, będzie równie wydajny jak ten assamblerowy... albo posiłkować się tylko wstawkami ASM w miejscach, gdzie WIADOMO, że kompilator C/C++ jest wolniejszy... ale póki nie jesteś Kiero, Krashanem czy Piru, myśle, że nie musisz się tym przejmować ;)


* ) cały czas się człowiek uczy...
[#12] Re: Programowanie na A1200

@_arti, post #4

To zależy o jakim standardzie piszesz. Nie widzę żadnych przeszkód żeby używać C++98, bez RTTI. Różnice w wielkości binarek i szybkości wykonania zapewne będą (względem c), ale nie jakieś dramatyczne.
Kolejna sprawa - "C jest słabym wyborem jeśli chcesz robić coś naprawdę dynamicznego"? Jest to mocno subiektywne i takie kategoryczne stawianie sprawy to dość naiwne podejście.

Konkluzja - można pisać w różnych językach, stwierdzenie "pozostaje tylko asm" to przykre dziedzictwo z lat poprzednich. Co więcej, to dziedzictwo kosztowało nas (nas - jako Amigowców) dużo softu. Nie każdy miał chęci i czas pisać od zera/rozwijać istniejący asmowy kod. Kod w C jest dużo czytelniejszy, i o ile programista nie dał ciała, jest prostszy w utrzymaniu i rozwoju niż odpowiadający mu kod w asm.

edit: Miło Arti, że umiesz się przyznać do pomyłki :)

Ostatnia aktualizacja: 28.02.2014 10:51:15 przez baderman
[#13] Re: Programowanie na A1200

@pokulan, post #1

http://sun.hasenbraten.de/vasm/
http://sun.hasenbraten.de/vbcc/

Ostatnia aktualizacja: 28.02.2014 11:12:52 przez ] SKOLMAN_MWS ˇ agrEssOr [
[#14] Re: Programowanie na A1200

@_arti, post #11

to nie jest do końca tak, że skompilowany kod C++ będzie wolniejszy niż ASM


w przypadku 68k i Amigi, do samego konca

Ostatnia aktualizacja: 28.02.2014 11:37:53 przez sigma2pi
[#15] Re: Programowanie na A1200

@sigma2pi, post #14

No to ja juz nie wiem... jeden amigowy programista mowi tak, drugi odwrotnie. Mam metlik w glowie ;)
[#16] Re: Programowanie na A1200

@_arti, post #15

A czy wsrod amigowcow kiedykolwiek, pojawila sie zgodnosc opinii w danym temacie?
[#17] Re: Programowanie na A1200

@pokulan, post #1

My piszemy swoją gierkę w C (tak, ludzie, robimy progress, ale powolny) i pisze się nam całkiem przyjemnie i dowodzi to tego, że można w nim bez wstawek asmowych robić całkiem średniozaawansowane produkcje. Nasze środowisko wygląda tak, że mamy UAE z postawionym WB3 i kompilatorem DICE, katalog windowsowy ze źródłami podpięty jako amigowy dysk twardy. I piszę sobie swój kod pod Windowsem w Notepad++ (Proxy pisze w SublimeText) i potem tylko alt+tab na UAE i wpisuję w konsoli make.

ADFa generujemy również za pomocą UAE. CPU podczas kompilacji i ogólnego testowania ustawiony na tryb turbo, przy sprawdzaniu płynności działania gry włączam cycle exact.

W C++ nie pisz, chyba że masz do dyspozycji coś lepszego niż pakiet GNU. W ogóle nie używaj pakietu GNU, bo generuje ogromny kod względem typowo natywnych kompilatorów amigowych. Do tego te dedykowane pozwalają m.in. na lepsze zarządzanie pamięcią chip/fast przy deklaracji zmiennych.

Ostatnia aktualizacja: 28.02.2014 12:27:41 przez teh_KaiN
[#18] Re: Programowanie na A1200

@selur, post #16

święta racja
[#19] Re: Programowanie na A1200

@selur, post #16

A czy wsrod amigowcow kiedykolwiek, pojawila sie zgodnosc opinii w danym temacie?


Szczególnie kiedy swoje opinie w większości wypowiadają osoby nie mające praktycznej wiedzy w temacie.
.
[#20] Re: Programowanie na A1200

@pokulan, post #1

Moim zdaniem C jest najbardziej naturalnym językiem dla Amigi i najlepiej integruje się z systemem i procedurami zawartymi w Kickstarcie. A do zwiększenia wydajności można zawsze wykonać assemblerowe wstawki w newralgicznych miejscach.
Co innego demka i inne aplikacje wyciskające siódme poty ze sprzętu, tu się siedzi w assemblerze i programuje bezpośrednio rejestry sprzętowe.

Co do Amosa, na początku daje łatwość tworzenia ale później raczej ogranicza.
Kiedyś z kumplem napisaliśmy niewielką strzelawkę w grafice wektorowej. Zaczęliśmy od Amosa, bo było prościej i dosyć szybko było widać efekty pracy. Chodziło to co raz bardziej mułowacie, więc zaczęliśmy wplatać assemblera uzyskując nawet 10-krotne przyspieszenie niektórych fragmentów. Na końcu to co pozostało z Amosa przenieśliśmy do C osiągając nirwanę amigowego programisty ;)
.
[#21] Re: Programowanie na A1200

@_arti, post #15

No to ja juz nie wiem... jeden amigowy programista mowi tak, drugi odwrotnie. Mam metlik w glowie ;)


No bo to jest kwestia subiektywna i zależy od zdolności programisty, zły programista assemblera może napisać wolniejsze procedury niż ekspert w dziedzinie C i ich kompilatorów, ale na Boga, od kiedy to porównuje się parametry samochodów rajdowych sadzając za kółko do gorszego eksperta, a do lepszego laika, stwierdzając że nie zawsze szybszy samochód jest szybszy, co to za wniosek?

Tak samo tutaj, porównując dwa języki, oczywistym jest, że mówimy chyba o hipotetycznym porównaniu kodu napisanego przez specjalistów w danym języku, a w tym przypadku assembler wygrywa z językiem C pod kątem optymalizacji kodu , natomiast przegrywa pod kątem czasu poświęconego na napisanie programu. Przyczyna jest prosta, w językach wysokiego poziomu nie masz 100% kontroli nad tym jaki kod wygeneruje kompilator, w przypadku assemblera to człowiek jest kompilatorem.

Wniosek: Zoptymalizowany kod w assemblerze jest szybszy niż zoptymalizowany kod w C/C++, a o ile to już będzie zależało od złożoności programu (przy prostych procedurach, różnica może być naprawdę znikoma). Twierdzenie, że tak jest, jest wyciąganiem wniosków, ale nie na temat szybkości danych języków, a zdolności programisty, a to przecież nie było tematem prawda? Rozumując w ten sposób, można też powiedzieć, że nie zawsze Amiga jest szybsza od C64, bo ta sama gra była pisana przez eksperta na C64 i laika na Amigę.



Ostatnia aktualizacja: 28.02.2014 15:34:15 przez sanjyuubi
[#22] Re: Programowanie na A1200

@teh_KaiN, post #17

Fajny sposób. Jest może jakieś podświetlanie/podpowiedzi składni amigowych funkcji?

Nasze środowisko wygląda tak, że mamy UAE z postawionym WB3 i kompilatorem DICE


Porównywałeś może szybkość kompilacji z innymi komilatorami (np.SAS,Aztec)?
.
[#23] Re: Programowanie na A1200

@pokulan, post #1

A może AmiBlitz 3.5?
[#24] Re: Programowanie na A1200

@pokulan, post #1

Napisz najpierw coś pod Windowsem i dla Windowsa, to przynajmniej może ktoś będzie używał tego softu i będzie jakiś pożytek dla świata z Twojego wysiłku...
[#25] Re: Programowanie na A1200

@_arti, post #15

nie czuje sie amigowym programista ok, racja, to wg. mnie miano ktore nalezy sie innym bywalcom ppa.pl jak np: krashan, asman, michal zukowski -- tak z pamieci na szybko, ktorzy maja na swoim koncie ukonczone na Amidze programy!!!. Od 6/7 lat nie programuje profesjonalnie tzn. programuje tyle ile musze i ani grama wiecej, i nie jest to C/C++ od ponad 10 lat... Ostatnio siedze przy kodzie Franco2 (mam tez wieksza czesc kodu innej amigowej niewydanej jeszcze gierki jednoplanszowej, co traktuje jako poligon do doswiadczen) po iles tam godzin na tydzien (na razie nie wiecej niz 5 i nie z braku czasu tylko zwyklego lenistwa ) i powiem tak, wlasciwie bez ASMa nawet nie ma co podchodzic do tematu na 68000/7Mhz!!! z 1-2MB Chip. Osobiscie uzywam od poczatku do konca tylko Amigi choc przymierzam sie raczej na MiniMiga jako minimum, wzglednie uzywam WinUAE lub innego UAE - i tylko amigowe narzedzia.

Natomiast zgadzam sie z opinia naturalnosci C oraz nienaturalnosci C++ w amigowym systemie, jednak to wg. mnie realnie zabawa powyzej 68020+/14Mhz/Fast, a praktycznie min. 68030/Fast, chociaz masochisci moga probowac swoich sil takze na 68000/7Mhz pod systemem :).

Natomiast co innego jest AMOS. AMOS posiada mnostwo wbudowanych "niebanalnych" procedur w ASM, takze program w gruncie rzeczy sklada sie wywolan tych procedur i wlasnie dlatego programy pisane w AMOSie dzialaja znosnie nawet na golej A500, w tym wzgledzie wydaje sie to byc lepszy wybor nawet od C, jezeli kogos nie razi antysystemowosc AMOSa .

Co do jakosci kodu wypluwanego przez kompilatory C dla Amigi to trudno wypwiadac mi sie szerzej i jednoznacznie z braku na tym polu jakiegos wiekszego doswiadczenia, ale kiedys badalem krotka testowa procedure (nie hello world! :) ) i nigdy kod nie byl w 100% zadowalajacy , ani z SAS/C 6.58 - choc niezly, ani vbcc, ani gnu c, chociaz ten ostatni w tamtym przypadku wyrzucil z siebie najlepszy jakosciowo kod w ver. 2.95.3, to jednak zaden pewnik, bo w innym przypadku moze byc inaczej, diceC nie sprawdzalem.

Ostatnia aktualizacja: 28.02.2014 21:39:28 przez sigma2pi
[#26] Re: Programowanie na A1200

@rePeter, post #22

Nie porównywałem, bo kompiluję w trybie turbo i póki co mi to nie robi. Co prawda miałem pomysł przesiąść się z pisaniem na moją A600, jak się do tego przymierzę to pewnie zacznę testy w tym kierunku też, bo obecnie kastelhak w cycle exact od zera kompiluje się dłuuuuuugo :)

Co do podświetlania i podpowiadania - myślę, że jest to do zrobienia za pomocą edycji plików z definicjami funkcji, które NPP/Sublime właśnie używa do podświetlania i podpowiadania. Nie zagłębiałem się w to, ale idea jest szczytna - choć pewnie generacja kompletnego pliku do takich celów byłaby żmudną robotą.

Ostatnia aktualizacja: 28.02.2014 23:27:10 przez teh_KaiN
[#27] Re: Programowanie na A1200

@teh_KaiN, post #17

W ogóle nie używaj pakietu GNU, bo generuje ogromny kod względem typowo natywnych kompilatorów amigowych.

To obiegowa opinia osób, które słabo znają GCC.

Do tego te dedykowane pozwalają m.in. na lepsze zarządzanie pamięcią chip/fast przy deklaracji zmiennych.

Z tym można sobie poradzić alokując bufory w pamięci chip dynamicznie.
[#28] Re: Programowanie na A1200

@MorphOS_pl, post #27

Chyba wezmę się za assemblera, ciągle uważam, że to samobójstwo no, ale cóż zobaczymy póki nie spróbuje to się nie przekonam :)
[#29] Re: Programowanie na A1200

@pokulan, post #28

Chyba nadal nie określiłeś rodzaju oprogramowania jakie chcesz tworzyć.
.
[#30] Re: Programowanie na A1200

@rePeter, post #29

Jakieś proste gierki, programiki nic wielkiego :)
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