atarionline.pl Atalan vs Turbo Basic XL - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthorLex
      • CommentTime22 Sep 2010 21:09
       
      Przejrzałem sobie wstępnie materiały dotyczące tego nowego języka programowania o nazwie Atalan i mam (chyba proste) pytanie do osób które już coś w nim robiły: czy Atalan można jakoś porównać do Turbo Basica XL?

      Już wyjaśniam w czym rzecz: dawno temu napisałem dość "rozbudowaną plikowo" grę na Atari. Dlaczego rozbudowaną? Otóż gra wczytuje się z kasety w oddzielnych modułach powiązanych ze sobą, każdy ma odzielną rozbiegówkę:
      1) moduł uruchamiający interpreter Basica
      2) moduł wczytujący do pamięci i uruchamiający nr 3/4
      3) moduł zawierający dane graficzne do planszy tytułowej
      4) moduł wczytujący do pamięci nr 5/6/7/8 i uruchamiajacy 9
      5/6) moduły zawierające dane graficzne gry
      7/8) moduły zawierające dane muzyczne gry
      9) moduł zawierający główny silnik gry

      Jeśli chodzi o część programową to moduły 2/4/9 są modułami generalnie napisanymi przeze mnie w Turbo Basicu XL ale zawierającymi nieliczne fragmenty kodu maszynowego w formie USR(ADR()). Od razu napiszę że kod jaki tam jest był dość "standardowy" - nie pisałem go ja ale zaczerpnąłem z poradników/książek. Dla pewnej orientacji, łącznie listingi modułów 2/4/9 mają ponad 25 tys. znaków.

      Teraz patrząc na to wszystko i na Atalan, zastanawiam się czy może dał by mi on możliwość jakiegoś połączenia tego w całość, tak by wynikiem był po prostu jeden plik a nie ich "zbiór". Poza tym tak myślę, że być może Atalan umożliwiłby przyśpieszenie pracy programu - która i tak jest jak dla mnie w tej chwili ok, ale moze by sie udało wprowadzić jakieś inne, drobniejsze optymalizacje.
      • 2:
         
        CommentAuthorpirx
      • CommentTime23 Sep 2010 00:09
       
      Hej!

      Najlepiej opublikuj to, co masz! Gdy puścisz swoją grę w świat, gracze na pewno wymyślą co można by było w niej poprawić, dodać, itp. Wtedy może warto będzie napisać sequel w jakimś nowocześniejszym języku, np. Atalanie.

      Najważniejsza jest gra, sposób jej napisania to sprawa wtórna.
      • 3: CommentAuthorLex
      • CommentTime23 Sep 2010 02:09
       
      Niestety na chwilę obecną "wypuszczenie gry w świat" nie jest do końca możliwe z przynajmniej kilku powodów. Wymienię trzy najważniejsze:

      Powód 1 - Ponieważ nigdy nie miałem stacji dyskietek gra była pisana z myślą o magnetofonie. Ze wględu na swoją modułowość, bez odpowiednich zabiegów, które muszę przeprowadzić, nie uruchomi się nawet na emulatorze. Moim celem przed upowszechnieniem, jeśli miałoby ono nastąpić, byłoby uproszczenie formy cyfrowej jaką gra posiada na zwykłą, jednoplikową, tak by nawet "laik" mógł ją odpalić bez problemu. Przyglądając się źródłu gry Snake, zauważyłem, iż posiada ono parę plików a wynikiem jest jeden. Co więcej, jeden z plików ma rozszerzenie cmc, co wskazuje w/g mnie na Chaos Music Composer - w tym też programie napisałem muzykę do mojej gry i muzyka stanowi jeden z wymienionych przeze mnie wcześniej modułów. Skoro udało się taką muzykę dołączyć do Snake'a i zrobić z tego jeden plik, to da radę i z moją grą. Na chwilę obecną więc pozostaje jedynie pytanie o możliwość zintegrowania grafiki, która zrobiłem przy pomocy programu Fun With Art. O przepisanie kodu gry na inny jezyk (w tym przyapdku Atalan) raczej się nie martwię, bowiem już raz to robiłem - tłumaczyłem kod gry z atarowskiego Basica na pecetowski C+ - powstał z tego program na zaliczenie przedmiotu informatycznego.

      Powód 2 - Choć gra jest napisana od początku do końca przeze mnie, to nie ja jestem autorem pomysłu. Autorem jest bardzo znany w tamtym czasie koncepcyjny twórca gier, który publikował swoje gry na łamach wielu czasopism, m.in. w Świecie Młodych i Razem. Grę napisałem z myślą głównie o sobie. Jest to gra strategiczna i wymaga dwóch graczy, a nie zawsze pod ręką był ktoś z kim mogłem zagrać. Napisanie sztucznej inteligencji do zastąpienia drugiego gracza plus oczywiście całej niezbednej "otoczki" potraktowałem jako wyzwanie programistyczne pisane w czasie wolnym. Gra została ukończona, posiadała wszystkie funkcje papierowego oryginału i sprawiła mi dużo frajdy - zarówno podczas pisania jak i potem gdy w nią grałem. W jakiś czas potem próbowałem się skontaktować parokrotnie z twórcą pomysłu by wymienić doświadczenia, zaprezentować efekt, ale niestety czasopisma zdążyły upaść i o kontakt było bardzo trudno. Do dnia dzisiejszego nie udało mi sie takiego kontaktu nawiązać, a nie chcę upubliczniać czegoś bez uzyskania zgody, jakby nie patrzeć, współautora.

      Powód 3 - grę napisałem 18 lat temu. Wtedy marzyłem o założeniu własnej "firmy" i zajmowaniu się m.in. pisaniem rzeczy na Atari. Stworzyłem sobie taką własną "fikcyjną" i pisane programy zawsze specjalnie podpisywałem / przyozdabiałem. Z perspektywy czasu wydaje mi się to okropnie dziecinne i przed szerszym opublikowaniem gry chciałbym mimo wszystko trochę tych oznaczeń "pokasować" - znajdują sie one w elementach graficznych i w kodzie programu.

      Tak więc mając na uwadze chęć spełnienia powyższych powodów przed ewentualną publikacją, chciałbym zacząć od usunięcia pierwszej, moim zdaniem najważniejszej przeszkody: wieloplikowości - stąd ten wątek. :)
      • 4:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 08:09
       
      Kod gry spokojnie może zostać w Turbo-Basicu XL. Nie powinno być problemów ze zrobieniem jednego pliku po kompilacji (aby być tego pewnym na 100% musiałbym zajrzeć w źródła). Nie ma potrzeby przepisywania gry od początku w innym języku. Ja jestem jednak innego zdania: gra może zostać wieloplikowa. Przecież to nie jest jakiś wielki problem. Te wszystkie części trzeba przenieść na dyskietkę i zmienić funkcję odczytującą z "C:" na "D:nazwa" i będzie OK. Chętnie pomogę :)
      • 5:
         
        CommentAuthorxeen
      • CommentTime23 Sep 2010 09:09
       
      nie kasuj tych oznaczeń, takie oznaczenia w stylu PecioSfot 1992 to fantastyczny klimat tamtego okresu :)

      Nie wiem czy dobrze Ciebie zrozumiałem, ale jeżeli chcesz doimplementować AI to w ATALAN, C będzie chyba dużo wygodniej za względu na funckje z argumentami (rekruencja bez specjalnej dodatkowej zabawy jeżeli jest potrzebna) - moje zdanie.
      No chyba że już to zrobiłeś to wtedy rzeczywiśćie nie ma sensu tego przepisywać.
      • 6:
         
        CommentAuthorpirx
      • CommentTime23 Sep 2010 14:09
       
      - nie przejmuj się wieloma plikami - dzisiaj to nie kłopot. Wystarczy zrobić plik .atr, nagrać na niego jakiegoś DOSa (np. DOS II+) i odpalasz, tak jak napisał kolega Larek powyżej.

      - jeśli nie masz kłopotów z C, lepiej użyć cc65, ponieważ Atalan jest jeszcze bardzo młody i podczas pisania większego projektu na pewno natkniesz się na błędy / rzeczy nieskończone. Kuba Husak zrobił w tym języku sporą grę, ale tylko dlatego, że jest jednym z najlepszych specjalistów od 6502, Atari i kompilatorów, jacy w ogóle chodzą po ziemi :)
      • 7: CommentAuthorLex
      • CommentTime23 Sep 2010 15:09
       
      @larek: Gdzie mógłbym znaleźć jakieś informacje nt. kompilatora, o którym wspominasz i który mógłbym wykorzystać?

      @xeen: Jak napisałem gra jest w pełni funkcjonalna - AI też jest i działa. Nawet powiedziałbym że działa "zbyt dobrze". Gra jest trudna - jednak nie z powodu, że AI oszukuje w jakiś sposób, po prostu komputer "myśli" i dokładnie analizuje ruchy gracza. Teraz, z perspektywy czasu, wydaje mi się że nawet powinienem ułatwić nieco rozgrywkę graczowi poprzez wprowadzenie jakichś poziomów trudności - aktualny byłby najtrudniejszym, w łatwiejszych komputerowi zdarzałoby się robić "losowe ruchy" - na razie tego nie czyni i zachowuje się dość bezwględnie wykorzystując wszystkie nasze błedy. ;)
      • 8:
         
        CommentAuthorxeen
      • CommentTime23 Sep 2010 15:09 zmieniony
       
      no to czekamy :)

      edit: jeżeli można podpytać.
      AI to zestaw reguł, czy przeszukiwanie drzewa (np. MinMax + funkcja oceniająca)?
      • 9: CommentAuthorLex
      • CommentTime23 Sep 2010 15:09
       
      Jeszcze jedno, czy obecnie isntieje jakiś edytor atarowskiego Basica na PC? Taki który by np. przypominał edytor Atari (np. coś w stylu MemoPada) ale posiadał funkcje spotykane w dzisiejszych edytorach?
      • 10: CommentAuthorLex
      • CommentTime23 Sep 2010 15:09 zmieniony
       
      Jak człowiek się śpieszy to... nie przemyśli i pisze. Mam nadzieję że nie uznacie że spamuję :P. Kolejne pytanie: czy ktoś się orientuje, czy któryś z obecnie istniejących programów graficznych na PC, ułatwiających robienie grafik na Atari czyta format grafiki robionej w Fun With Art? O muzykę sie raczej nie martwię, bo CMC to jak zdązyłem zauważyć - standard. Zresztą tego póki co nie planuję "poprawiać". ;)

      EDIT: No tak, nawet nie zdążyłem zauważyć, że jest tu możliwy edit postu :P Zauważyłem to dzięki xeenowi - dzięki ;) Co do AI - hmm, oceniam, że jest dość specyficzne bo i sama gra jest specyficzna. Gra (jak każda) posiada pewne zasady rozgrywki. Komputer w trakcie rozgrywki na podstawie tego co robi gracz buduje sobie coś na kształt "pajęczynki" oplatającej planszę gry, tak że jeśli rozgrywka się zbytnio przeciąga i graczowi nie uda się załatwić AI to po pewnym czasie nie zostaje mu już zbyt wiele ruchów, którymi mógłby wciąż mylić AI i praktycznie musi się poddać. Tak jest też w grze rzeczywistej, gdy gramy z kolegą - z tym że kolega oczywiście komputerem nie jest i jak każdy człowiek popełnia błędy. ;)
      • 11:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 16:09
       

      Lex:

      @larek: Gdzie mógłbym znaleźć jakieś informacje nt. kompilatora, o którym wspominasz i który mógłbym wykorzystać?

      To jest problem. Chyba nie ma jakiegoś fajnego opisu, choć mogę się mylić. Tu możesz coś przeczytać: ->link<- (post nr 5)
      Kompilator TBXL jest rozpowszechaniany generalnie wraz z samym TBXL i znajdziesz go np. tu: ->link<-
      (jest to program na Atari, nie na PC)

      Ale uwaga - żebyśmy sie dobrze zrozumieli - kompilator TBXL nie spowoduje automatycznego połaczenia wszystkich plików w jeden! Dzięki kompilacji programu w TBXL można (po pewnych zabiegach) zrobić jeden plik XEX (myślę, że w 95% przypadków). Wymaga to jednak ręcznej pracy programisty. Efektem ubocznym (no, raczej podstawowym ;-) ) jest to, że program działa troszkę szybciej niż wersja niekompilowana.

      Nadal jednak namawiam do zrobienia wersji wieloplikowej na dyskietce. W sumie, to finalnie będzie jeden plik - ATR :). A co w nim będzie siedziało, to już inna historia.
      • 12: CommentAuthorLex
      • CommentTime23 Sep 2010 16:09
       
      @larek: Dziękuję za linki. Mógłbym prosić jeszcze o wytłumaczenie (przynajmniej ogólne) na czym owe zabiegi łaczenia by polegały? Jak np. "dopisać" do takiego skompilowanego pliku dane grafiki/dźwięku?

      Teraz, jeśli chodzi o plik "dyskietkowy": Jak pisałem nigdy w realu stacji dysków nie miałem i nie interesowałem się za bardzo programowaniem pod tym kątem. Jedyne co miałem wspolnego to to, że uruchamiałem DOSy na emulatorze na PC. Jeśli wypuściłbym plik typu ATR to moim zamierzeniem byłoby takie go skontruowanie aby cała procedura automatycznie się uruchamiała. Automatycznie tzn nie tak, że najpierw uruchamiałby się DOS, skąd wybieralibyśmy komendę Load, tylko tak jakto wygląda w znaczącej większości plików/gier. Czy w przyapdku dyskietek jest jakiś sposób przygotowania całości (nie wiem, może jakiś standardowy loader?) tak by to w ten sposób zadziałało?

      PS. Edycję postu już wiem jak zrobić, ale nigdzie na tym forum nie widzę "przycisku" do cytowania - jak to sie robi? :P
      • 13:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 17:09 zmieniony
       
      Każdy DOS ma taką właściwość, iż potrafi wczytać i umieścić w pamięci komputera dowolne dane (program, grafikę, muzykę, wyniki lotto, adres teściowej, itd.). Jest tylko jeden warunek. Każdy taki plik musi mieć odpowiedni nagłówek, czyli informację, ile bajtów należy wczytać i gdzie je umieścić w RAM. Ot i cała tajemnica. Pisząc grę zapewne wiesz co i gdzie jest w pamięci umieszczone (a jak nie wiesz, to tylko tak Ci się wydaje ;-) ), więc nie ma problemu (to tylko trochę roboty), aby taki nagłówek stworzyć do każdego pliku z danymi (plik z CMC już taki nagłówek ma!). Takie pliki z nagłówkami, jak je połaczymy (też jedną z opcji DOSu), będą się samodzielnie wczytywały. Ot i cała tajemnica.

      Jeśli chodzi o samouruchamianie się gry, to jest to najmniejszy problem, a w zasadzie to go nie ma :)
      Chyba we wszystkich DOS-ach da się to w bardzo prosty zrobić. Garść informacji o samostartowaniu programów masz tu: ->link<-

      Przycisku cytowania nie ma :(
      Kaz chyba uważał, że na forum trzeba wszystko robić ręcznie - do czego zresztą każdy programista Atari jest przyzwyczajony ;))
      • 14: CommentAuthorLex
      • CommentTime23 Sep 2010 17:09
       
      @larek: dzięki za kolejnego linka - na pewno się przyda. Co do nagłówka: czy jego struktura jest gdzieś opisana? Jaka opcja DOSu łaczy pliki?

      Skoro przycisku edycji nie ma to jak wyglada format "quote"? I jeszcze się upewnię: ostatnio pisałem "dużo" komentarzy (to ja jestem tym Lexem sprzeciwiającym się kartridżom przy artykule o DM :P) ale tam nie zauważyłem możliwości edycji napisanego komentarza - tak to jest, czy znowu coś przegapiłem? Brak możliwości edycji tam wpłynął też na to że tu jej pocżatkowo nie zauważyłem "z przyzwyczajenia".
      • 15:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 17:09 zmieniony
       

      Lex:

      Co do nagłówka: czy jego struktura jest gdzieś opisana?

      tu: ->link<-

      Jaka opcja DOSu łaczy pliki?

      a to zależy od DOSu. Można to zrobić też jakimś programem, np. takim: ->link<-

      Skoro przycisku edycji nie ma to jak wyglada format "quote"?

      [ quote = ksywka ] ...treść... [ / quote ]
      usuń wszystkie spacje, które występują w nawiasach kwadratowych (inaczej nie dałoby się tego wyświetlić)

      W komentarzach pod nowinkami nie ma możliwości edycji. Wszystkie bluzgi zostają dla potomnych, więc lepiej uważać, co się pisze.
      • 16: CommentAuthorLex
      • CommentTime23 Sep 2010 17:09
       
      @larek: Bardzo dziękuję za odpowiedzi. :) Poki co pozostają pytania o pecetowy edytor do programów napisanych w Turbo Basicu i aplikację która umożliwi mi łatwiejszą edycję grafiki pochodzącej z Fun With Art (pamietam jak się przy niej męczyłem swego czasu na Atari stawiając niemalże pixel po pixelu, hehe) - może takie programy istnieją i ktoś bedzie znał odpowiedzi.
      • 17:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 18:09 zmieniony
       
      W obu przypadkach odpowiedzi są TAK i jednocześnie NIE :)
      Na te krótkie pytania znajdziesz (pewnie) setki odpowiedzi na tym forum, ogólnie na AOL i w innych serwisach...
      Generalnie to temat rzeka.
      Moim zdaniem to najlepiej program w TBXL pisać w TBXL, a najlepszym edytorem TBXL na PC jest Atari800Win PLus z uruchomionym TBXL ;)
      Co do przerabiania grafiki, to chyba najprościej (może nie najwygodniej) jednak bedzie zrobić to tym samym programem, którym się rysowało. Przynajmniej wiesz, jak go obsługiwać.
      • 18: CommentAuthorLex
      • CommentTime23 Sep 2010 18:09
       
      W czasach kiedy pisałem własne programy, edytor na Atari wydawał mi się wystarczający. Teraz, kiedy od 20 lat mam styczność z PCtem bez pewnych rzeczy czuje się jak bez ręki, choćby taki zwykły pasek przewijania listingu w górę/dół. :D

      Podobnie z programami graficznymi. Jestem po części grafikiem i pracując w pewnym środowisku programowym od kilkunastu lat przyzwyczaiłem się do niego. Owszem, mogę poprawiać w emulatorze (i pewnie tak zrobię jeśli nie pojawi sie inne rozwiązanie), ale myslę że uzyskałbym o wiele lepszy efekt końcowy, gdybym mógł to sobie jakoś przekonwertować do "zwykłej" pecetowej bitmapy, a potem, po poprawkach, w drugą stronę.
      • 19:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 18:09
       
      W takim razie zobacz to: ->link<-
      • 20: CommentAuthorLex
      • CommentTime23 Sep 2010 18:09
       
      O, fajne - wypróbuję. Dzięki po raz kolejny. ;)
      • 21:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 18:09 zmieniony
       
      Tylko nie przeginaj z tym rysowaniem w G2F, bo to prawdziwy demon! Jak użyjesz przerwań lub duszków, to będziesz miał problem z uzyciem takiego obrazka w swoim programie. Wtedy pomóc może to: ->link<- (choć nie zawsze!) z poprawką ->link<-
      • 22: CommentAuthorJKR
      • CommentTime23 Sep 2010 19:09
       

      pirx:

      Atalan jest jeszcze bardzo młody i podczas pisania większego projektu na pewno natkniesz się na błędy / rzeczy nieskończone

      Jako autor Snake'a w Atalanie potwierdzam, co napisał Pirx.
      Chociaż akurat połączenie kilku bloków binarnych (z nagłówkiem DOSa lub bez) i wywołanie jakichś procedur z określonych adresów jest już możliwe.
      Warunek: wszystkie te bloki, na etapie kompilacji, trzeba umieścić tak, żeby nie nakładały się w przestrzeni adresowej (nie widzę na razie możliwości wywoływania procedur podczas wczytywania pliku i doczytywania kolejnych bloków).

      Tak czy owak, też radzę na razie wstrzymać się z przepisywaniem na Atalan. Ale za jakiś czas, jak język dojrzeje może będzie warto się pokusić. W Atalanie kod będzie, moim zdaniem, bardziej czytelny niż w Basicu.
      • 23: CommentAuthorLex
      • CommentTime23 Sep 2010 19:09 zmieniony
       
      @larek: Przeginać nie zamierzam - chodzi mi przede wszystkim o dostęp / konwersję grafiki, tak bym mógł ją nieco "dopracować". Podstawową rzeczą jest fakt, że sama gra jest "czarno-biała" - w czasie gdy miałem Atari dysponowałem jedynie czarno-białym telewizorem i nie miałem jak tego dopracowywać. Jedyne co w grze jest kolorowe to "wizytówka", która w zamierzeniu miała posłużyć na dłużej, do wielu programów, więc kolorystycznie dopracowywałem ją u kolegi, który miał kolorowy telewizor. :D Choć i dziś widzę że jest nie do końca wyraźna. Poniżej screeny dla porównania.

      Screen ładowania:


      Podczas grania:


      Co do samego G2F: udało mi się wczytać do niego moją grafikę - musiałem odciąć z pliku dwa pierwsze bajty i zapisać plik jako *.dat, ale hmm.. brakuje na niej kolorów - screen tytułowy po wczytaniu do G2F jest czarno-biały. Wyglada na to że albo te dwa pierwsze bajty zawierały informację o kolorze, której G2F nie potrafił zintepretować (piksele grafiki były w programie przesunięte własnie o 2 w prawo) albo coś robie źle. Ale jeszcze kombinuję - może jakoś dojdę w czym rzecz :D

      @JKR: skoro tak piszesz to pewnie tak jest. Czyli na razie powstrzymam się z samą "konwersją" językową, ale mimo wszystko i tak czekają mnie poprawki "błędów młodości" ;)

      EDIT: Jak tu wyświetlic obrazki? :D Standardowe [img] nie działa :(

      EDIT2: No prosze ja tu kombinuję z [img] a wystarczy linka podac... :]
      • 24:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 20:09
       
      łojojoj! :)
      Grałem kiedyś w Bestię na... kartce papieru! Mam do tej pory oryginał tej gazetki o grach... jak ona się zwała? Sam chciałem kiedyś ją przenieść na Atari, ale jakoś pomysłu mi brakło. Znakomita gra! Jeśli jest to wierna adaptacja, to bomba! Poproszę o jak najszybsze zaprezentowanie jej publicznie! Już się cieszę :)
      • 25: CommentAuthormono
      • CommentTime23 Sep 2010 20:09
       
      @Lex: Jeśli zgrywałeś obrazek z FWA za pomocą Save Block, to format jest następujący:

      offset:
      0: bajt szerokości bloku (1..160)
      1: bajt wysokości bloku (1..192)
      2...: dane grafiki

      Przy czym dane grafiki są zapisywane tak, że ilość bajtów danych graficznych równa się szerokość * wysokość * 2 / 8. A więc dla szerokości nie będących wielokrotnością 4 pikseli dane kolejnej linii nie zaczynają się od następnego pełnego bajtu, ale są umieszczane jeszcze w tym samym bajcie. Przy czytaniu takiego obrazka trzeba każdy piksel odczytany z pliku samodzielnie umieszczać na ekranie.
      Jeśli szerokość bloku jest wielokrotnością 4 pikseli, wtedy nie ma problemu - można dane czytać prosto na ekran.
      • 26: CommentAuthorLex
      • CommentTime23 Sep 2010 20:09 zmieniony
       
      @larek: Joker :) Gra i dla mnie znakomita, dlatego zrobiłem sobie własnego "kolegę" do grania, żeby móc zagrać za każdym razem kiedy przyjdzie mi ochota a nie męczyć o to innych, bo czasem mieli tego dość. :P Adaptacja ma wszystko co było opisane/zawarte w jej instrukcji/opisie. Ale z jej publikacją może być kłopot - jak napisałem chciałem uzyskać zgodę autora pomysłu, a to chyba łatwe nie będzie... :/

      @mono: Ach, czyli dwa pierwsze bajty to tylko wysokość i szerokość, a nie kolory.. :( Jak napisałem - udało mi sie wczytać grafikę do G2F ale dlaczego tam jest wyświetlana całkowicie poprawnie ale bez kolorów tylko monochromatycznie? Co robię źle? Może jakieś opcji w G2F nie właczyłem.. :(
      • 27:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 20:09 zmieniony
       
      Joker! Tak! :)

      Zapomnij o kolorach. W swoim programie ustaw kolory ręcznie przez POKE (albo oczywiście elegancko przez SETCOLOR). Nie ma jednego standardu kodowania wartości kolorów. W zasadzie to każdy program graficzny na Atari zapisywał wartości kolorów jak i gdzie mu się podobało.

      W programie podaj autora oryginału i ewentulanie nazwę gazetki i tyle. Myślę, że autor z pewnością się ucieszy, że jego gra powróciła do życia. A Ty przecież z tego żadnej kasy nie będziesz miał, więc nie powinno to być wielkim problemem.
      • 28: CommentAuthorLex
      • CommentTime23 Sep 2010 21:09
       
      @larek: To ciekawe co piszesz o tych standardach, z tym że ja z tego co pamiętam nie musiałem ustawiać kolorów - program odbierał je bezpośrednio własnie z pliku z grafiką.

      Czy w takim razie to rzecz normalna że obrazki wczytywane z programów graficznych Atari są czarnobiałe w G2F? Bo w katalogu z programem znalazłem parę przykładów i część wczytuje sie monochromatycznie, ale i są takie, które wczytują się kolorowo.
      • 29:
         
        CommentAuthorlarek
      • CommentTime23 Sep 2010 21:09 zmieniony
       
      Widocznie loader pliku z obrazkiem był przygotowany na odczyt tych kilku bajtów odpowiadających za kolor.

      G2F potrafi odczytywać kilka rodzajów plików graficznych. Być może odczytywałeś takie, z którymi sobie radzi w kolorze. Albo odczytywałeś pliki g2f, które zapisywał G2F, więc wie, "gdzie są" kolory. A może tylko wydaje się, że odczytuje w kolorach, a w rzeczywistości obrazek dostaje defaultowe barwy... Różnie może być. Myślę, że G2F może poprawnie odczytywac kolory z plików obrazków formatów PC-towych lub swoich własnych. Jak z Atari zapiszesz zrzut danych z ekranu, to są to dane bez kolorów. Pewnie FWA zapisywał plik z kolorami, ale G2F nie potrafi ich odczytać. Tak sobie tylko głośno myślę.

      A tak, jako ciekawostkę napiszę, że kiedyć zrobiłem taki oto konwerter: ->link<-
      Potrafi on odczytać plik FWA i zapisać go w postaci kolejnych bajtów (z kolorami na poczatku pliku). Nie wiem, czy da on radę odkodować każdy obrazek zapisany w FWA, ale kiedyś w zupełności mi wystarczał.
      • 30:
         
        CommentAuthorKaz
      • CommentTime23 Sep 2010 22:09
       
      Lex - nie mialem czasu wczesniej skomentowac, ale nadrabiam :)

      Już wyjaśniam w czym rzecz: dawno temu napisałem dość "rozbudowaną plikowo" grę na Atari.


      Swietnie sie zapowiada! Oto odpowiedz godna mistrza - wyciaga sie asa z rekawa :)

      Pirx:

      Najlepiej opublikuj to, co masz! Gdy puścisz swoją grę w świat, gracze na pewno wymyślą co można by było w niej poprawić, dodać, itp.


      Jestem tego samego zdania co Pirx. Najlepiej moim zdaniem publikowac tak jak zrobil to TDC ze swoimi grami: jedna publikacja oryginalu z zamierzchlych lat (oryginal dla potomnych) oraz wersji uwspolczesnionej, z poprawkami, etc.

      Lex:

      Powód 2 - Choć gra jest napisana od początku do końca przeze mnie, to nie ja jestem autorem pomysłu. (...) . Do dnia dzisiejszego nie udało mi sie takiego kontaktu nawiązać, a nie chcę upubliczniać czegoś bez uzyskania zgody, jakby nie patrzeć, współautora.


      A nie wystarczajace by bylo napisanie w programie, ze skorzystalo sie z pomyslu takiej to a takiej osoby?

      Xeen:

      nie kasuj tych oznaczeń, takie oznaczenia w stylu PecioSfot 1992 to fantastyczny klimat tamtego okresu :)


      Popieram tu zdanie Xeena.

      Lex:

      Jak człowiek się śpieszy to... nie przemyśli i pisze. Mam nadzieję że nie uznacie że spamuję :P.


      Jak juz pewnie zauwazyles - tworcy sa tutaj lepiej traktowani niz krytycy :), wiec nie masz sie co obawiac. Tworzysz na Atari - jestes nietykalny :P

      Lex:

      Kolejne pytanie: czy ktoś się orientuje, czy któryś z obecnie istniejących programów graficznych na PC, ułatwiających robienie grafik na Atari czyta format grafiki robionej w Fun With Art?


      Akurat ten format nie byl zbyt popularny, co w sumie dziwne, bo w starych czasach byl opis programu FWA w jednym z pism specjalnych Bajtka. Mamy wlasciwie jeden pecetowy program do robienia grafiki na Atari (Graph2Font) i tam nie ma odczytu FWA. Ale to jest maly problem, bo dane - jak zauwazyles - da sie odczytac.

      Mozna tez sprobowac korzystac (ja tak robie) z tego programu: ->link<-
      Jest to program Kameleon dla Atari ST/STE. Korzystam z niego na emulatorze na pececie, szybka konwersja FWA do "normalnego" formatu grafiki Atari i z glowy.

      Lex:

      O muzykę sie raczej nie martwię, bo CMC to jak zdązyłem zauważyć - standard. Zresztą tego póki co nie planuję "poprawiać". ;)


      Sadze, ze CMC to starszy, tracacy popularnosc format. Obecnie najpopularniejszy jest RMT - Raster Music Tracker.

      Larek:

      Przycisku cytowania nie ma :(
      Kaz chyba uważał, że na forum trzeba wszystko robić ręcznie - do czego zresztą każdy programista Atari jest przyzwyczajony ;))


      He he - uwazam, ze byloby fajnie miec sto przyciskow (jak we wspolczesnych atarkach), ale to nie ja napisalem silnik forum. Forum jest w formie tymczasowej, ale jak wiadomo - prowizorki maja najdluzszy zywot...

      Lex:

      Co do samego G2F: udało mi się wczytać do niego moją grafikę - musiałem odciąć z pliku dwa pierwsze bajty i zapisać plik jako *.dat, ale hmm.. brakuje na niej kolorów - screen tytułowy po wczytaniu do G2F jest czarno-biały.


      Jezeli wczytujesz do GFA grafike jako DAT (dane) to wszystko co wczytasz jest traktowane jako surowe dane do wyswietlenia. A format FWA zawiera przeciez znacznie wiecej niz dane obrazu - dane kolorow, przerwan DLI, etc.

      Zreszta nie jest tak, ze kazdy format obrazkow Atari ma w tym samym miejscu informacje o kolorach. Wrecz przeciwnie. Ale to chyba nie jest wielki problem, bo trzeba ustawic co najwyzej 5 rejestrow kolorow...

      Jakby co - podeslij ten plik w formacie FWA to Ci go sam przekonwertuje na innym format Atari.
      • 31: CommentAuthorLex
      • CommentTime24 Sep 2010 06:09
       
      @larek/Kaz: Sprawa z kolorami się wyjaśniła i jest przyczyną moich braków w pamięci po 18 latach :P Przejrzałem kod Basica, uruchomiłem Fun With Art* - okazuje się że wersja obrazka jaka jest zawarta w kodzie programu jest blokową wersją formatu FWA i faktycznie nie zawiera kodów kolorów, a kolory były ustawiane z poziomu programu. Niestety oryginalny pełny plik FWA z kolorami "zaginął" razem z moją kolekcją różnych wytworów programistyczno-graficzno-muzycznych, bowiem wszystkie zapisywałem w systemie Turbo, a jak pisałem w temacie o DM, kartridż który mi to wszystko obsługiwał pewnego dnia sobie padł. Program o jakim piszę w tym temacie miał to szczęście, że kiedyś zapisałem jego finalną wersję w normalnym standardzie kasetowym, ale wszystkie materiały jakie użyłem, wersje pierwotne i testowe "zniknęły" :( W każdym razie wartości kolorów udało mi się odtworzyć z listingu programu. Mam tylko pytanie: czy w G2F można jakoś ustawić nieparzyste wartości kolorów? Mogę ustawić 16, 18, a nie widzę jak ustawić 17 :P

      *) Przy okazji: sprawdziłem wersje Fun With Art, które są tutaj w archiwum serwisu i umożliwiają one tylko odczyt plików z magnetofonu i trochę są bezużyteczne w emulatorze. Musiałem sięgnąć do własnego archiwum i odnaleźć wersję umożliwiającą odczyt plikowy z dysków.

      @Kaz: "Tworzysz na Atari - jestes nietykalny :P" - szczerze? Trochę się boję, że teraz po tym stwierdzeniu, ktoś może sobie pomyśleć, że wobec tego co pisałem w artykule o DM chcę wywalczyć sobie jakieś "lepsze prawa"... :( A ja po prostu zainteresowałem się Atalanem ze względu an to że składnia jest dość czytelna i myślałem, że może przy jego pomocy uda mi się osiągnąć to co w przypadku tego programu zawsze chciałem - jednoplikowość. Więc proszę mimo wszystko nie czynić mnie nietykalnym tylko pisać "normalnie" i też krytykować, wytykać błędy jeśli zajdzie taka potrzeba. Uważam każdą konstruktywną krytykę za bardzo pomocną w samorozwoju.

      Jeśli chodzi o CMC - to może format tracący popularność, ale popularny był i jakieś narzędzia przez ten czas zostały wytworzone - póki co, to mi wystarczy.
      • 32:
         
        CommentAuthorxeen
      • CommentTime24 Sep 2010 07:09
       
      trochę offtopic (sorry Lex): szukałem tego Jokera w sieci (w sensie jakiś skanów), ale bez powodzenia. ma ktoś może jakiś link - z ciekawości bym zerknął. Może to rzeczywiście kopalnia pomysłów?

      A na Besitę czekamy :)
      • 33: CommentAuthorLex
      • CommentTime24 Sep 2010 07:09 zmieniony
       
      @xeen: Z tego co wiem, wyszły tylko dwa numery Jokera. Kopalnią pomysłów jeśli chodzi o programowanie to on nie był, bo generalnie to była gazetka z łamigłówkami/zagadkami. W jednym numerze omawiana gra była swego rodzaju "dodatkiem", w drugim numerze to nawet nie pamiętam czy była jakaś opisana.

      @larek: Póki co sprawdziłem na emulatorze dwie pierwsze z trzech metod podanych w zalinkowanym przez Ciebie artykule metod autouruchamiania programów w Basicu. Obie metody po wczytaniu (w trakcie wczytywania?) modułu nr 4 wywalają "ERROR 12 AT LINE 0" - sęk w tym że ten moduł, ani nawet poprzedni moduł programowy nr 2 takiej linii nawet nie posiadają. Po wyświetleniu błędu, komenda LIST nie daje żadnego listingu, więc nie wiem o co chodzi. Oczywiście program uruchamiany "standardowo" takich błędów nie ma.

      Sprawdziłem własnie metodę trzecią - tu obraz ATR kompletnie nie działa - zawiesza emulator.
      • 34:
         
        CommentAuthorlarek
      • CommentTime24 Sep 2010 08:09
       


      To dla tych, co czekają na wersję komputerową. Już teraz mogą zapoznać się z zasadami gry :)
      • 35:
         
        CommentAuthorlarek
      • CommentTime24 Sep 2010 08:09 zmieniony
       
      @Lex: trudno mi zgadywać, co i dlaczego. Wiem, że najlepiej jest, jak samemu się dochodzi do wszystkiego (też tak mam). Jednak rozważ możliwość przesłania mi źródłowych plików, a postaram się je przenieść na dyskietkę z DOSem i zrobić samostartującą grę. W zamian nic nie chcę :) Odeślę Ci gotowy plik i zrobisz z nim co tylko chcesz i kiedy chcesz, a ja zapomnę, że coś takiego robiłem... W zasadzie to już nie pamiętam ;)
      • 36: CommentAuthorLex
      • CommentTime24 Sep 2010 08:09
       
      Zacząłem się zastanawiać czy moze kompilacja plików coś by pomogła - w koncu to pliki Turbo Basica a nie zwykłego Basica, więc ten fakt może autostartom nie pasować.
      • 37:
         
        CommentAuthorKaz
      • CommentTime24 Sep 2010 08:09
       

      Lex:

      bowiem wszystkie zapisywałem w systemie Turbo, a jak pisałem w temacie o DM, kartridż który mi to wszystko obsługiwał pewnego dnia sobie padł.


      Jakie to turbo bylo?

      Lex:

      Musiałem sięgnąć do własnego archiwum i odnaleźć wersję umożliwiającą odczyt plikowy z dysków.


      To podeslij jak mozesz.

      Xeem:

      szukałem tego Jokera w sieci (w sensie jakiś skanów), ale bez powodzenia


      A do biblioteki Atarowca nie zajrzales...

      ->link<-

      Jest tam ten drugi numer Jokera. Pierwszy numer Larek podeslal i jest na serwerze, ale nie ma go jeszcze wypisanego w bibliotece. Umieszczam tutaj jako zalacznik.
      • 38:
         
        CommentAuthorlarek
      • CommentTime24 Sep 2010 08:09
       
      Jeżeli chcesz kompilować program tylko po to, aby pokombinować z autostartem, to nie jest dobry pomysł. Ale jak już bardzo chcesz, to zajrzyj najpierw tu: ->link<- i sprawdź, czy w Twoim programie nie ma "zakazanych" funkcji i procedur. Kompilator może się wyłożyć na czymś takim i finalnie program będzie działał źle.
      Jeśli gra startuje odpalana ręcznie, to nie ma siły - samostartujacą wersję też się da zrobić. Jest tylko jeden przypadek (który teraz mi przychodzi do głowy), gdy z wersji kasetowej nie zrobimy wersji dyskowej - program i dane zajmują obszar DOSu. Mało prawdopodobne. Mam nadzieję :)
      • 39: CommentAuthorLex
      • CommentTime24 Sep 2010 08:09 zmieniony
       
      @Kaz: To była jakaś (niestety) modyfikacja Turbo 2000. Pamiętam że potem od kogoś pożyczyłem kartridż ze "zwykłym" Turbo 2000 i programy niestety sie nie wczytywały.

      Dyskową wersję FWA wysłałem mailem.

      @larek: Hmm... może mało prawdopodobne ale.. :] Ja dużo danych wczytuję sobie do różnych częsci pamięci więc być może "przypadkowo" nadpisuję coś "dosowego" sobie o czym nie mam i nie miałem pojęcia, jako że DOSa nie uzywałem. Musze w takim wypadku posprawdzać co gdzie wczytuję i jakie obszary zajmuje DOS.. ech. :]

      I jeszcze jedno - jakiego DOSa najlepiej by było gdybym użył jako trzon obrazu ATR? Bo jak widze jest ich całe multum, a ja sie na tym nie znam. :P
      • 40:
         
        CommentAuthorKaz
      • CommentTime24 Sep 2010 09:09
       
      Lex - a w ktorym miejscu kupiles to turbo/kto przerabial? Drugie pytanie - czy masz jeszcze ten cartridge? Sa osoby, jak na przyklad Seban, ktore moglyby na tej podstawie stwierdzic, czy jest to przerobka typowa i zaproponowac rozwiazanie problemu.
      • 41: CommentAuthorLex
      • CommentTime24 Sep 2010 09:09
       
      @Kaz: Nie mam pojęcia kto i kiedy przerabiał. Kupiony był w jedynym sklepiku z programami na Atari, który mieścił się w piwnicy jednego z bloków w moim rodzinnym miasteczku. Sklepik był tam może przez rok i potem się zwinął. Sam kartridz może gdzieś jeszcze jest (niestety duża część moich "starych gratów" uległa zniszczeniu podczas zalania) ale jesli jest, to w tej chwili tak z 250km ode mnie, u rodziny :P
      • 42:
         
        CommentAuthorlarek
      • CommentTime24 Sep 2010 09:09 zmieniony
       
      jakiego DOSa najlepiej by było gdybym użył jako trzon obrazu ATR?

      tego: ->link<-
      • 43:
         
        CommentAuthorKaz
      • CommentTime24 Sep 2010 11:09
       
      Tutaj masz przygotowany obraz dyskietki (przez Larka), a i inne informacje sie moze przydadza:

      ->link<-
      • 44: CommentAuthorLex
      • CommentTime24 Sep 2010 15:09 zmieniony
       
      @Kaz: Już tego linka dostałem wcześniej, od larka :)

      @larek: Chyba masz rację z tym konfliktem z DOSem. Jeśli wrzucę wszystkie moduły do ATRa po czym próbuję najwyczajniej uruchomić je komendą RUN "D:NAZWA" to mam te same błedy co wcześniej - podczas/po module nr 4.

      Czy ta mapa pamięci jest prawdziwa dla każdego DOSa? ->link<-
      W module, który powoduje komplikacje widzę prawdopodobne ładowanie danych z pliku pod adres 2048 (dziesiętnie) który znajduje się w wymienionym na mapie obszarze DOSa ($0700-$1FFF). Ładowane jest tam 1024 bajty danych. Jeśli odpowiedź na moje pytanie o lokację DOSa na mapie pamięci brzmi "tak", to bedę musiał znaleźć jakiś inny wolny obszar na te dane. W tej chwili jeszcze nie rozszyfrowałem dlaczego akurat ten obszar 18 lat temu wybrałem, ani jakie dalsze konsekwencje pociągnie za sobą owa zmiana.
      • 45: CommentAuthormono
      • CommentTime24 Sep 2010 16:09
       
      Nie ładuj tam danych, bo przypadku gdy nie masz tam DOSa to jest to obszar zmiennych używany przez BASIC (pierwsze 256 bajtów od adresu 1792 kiedy nie używasz stacji używane jest na bufor tokenizacji bodajże), lub pierwsze linie programu, więc może to skutkować błędnym działaniem programu. Jeśli nic się nie stało podczas działania programu, to chyba tylko dlatego, że nadpisały się wartości zmiennych.
      • 46: CommentAuthorLex
      • CommentTime24 Sep 2010 17:09
       
      Jako ktoś kto programował z kiepskim, w owych czasach, dostępem do literatury, pisząc programy w dużej mierze działałem metodą prób i błędów. Przez cały czas do tej pory mi to działało, więc nie widziałem potrzeby zmieniać. Teraz dostęp do dokumentacji jest bardziej ułatwiony, więc dużej ilości błędów pewnie bym nie popełnił.

      W każdym razie, obawiam się że zmiana adresów pod którymi umieszczone zostaną dane pociągnie za sobą zmiany w samym kodzie programu. Ponieważ główny kod programu był w dużej mierze odzyskiwany "z kawałków", ponowne moje wgryzienie się w niego będzie wymagało niestety czasu.
      • 47:
         
        CommentAuthorlarek
      • CommentTime24 Sep 2010 17:09
       
      @Lex - daj sobie chociaż spróbować pomóc. Nikt nic nie zrobi, gdy nie widzi źródeł...
      Jeśli tylko ten jeden plik z danymi o długości 1KB wchodzi w obszar DOSu, to jest szansa, że będzie się dało jakoś to ominąć. Ponawiam propozycję pomocy :)
      • 48: CommentAuthorLex
      • CommentTime24 Sep 2010 17:09
       
      Takich rzeczy po pobieżnym przejrzeniu jest więcej. Poza tym nazwy zmiennych zostały podmienione w całym programie w trakcie jego odzysku (nie było innego sposobu). Dodatkowy brak komentarzy powoduje, że kod jest mało czytelny. Na szczęscie mam fragmenty różnych wersji więc to da się jeszcze odwrócić, mam nadzieję. :)
      • 49: CommentAuthorrag
      • CommentTime28 Sep 2010 09:09
       
      Hmmm... "Jokera" chyba nie czytałem, ale Bestię pamiętam. Jest możliwe, że miała pierwodruk/przedruk w "Świecie Młodych"?
      • 50:
         
        CommentAuthorjhusak
      • CommentTime28 Sep 2010 09:09
       
      @Lex.
      Użyj jednego z:
      Dos 2.5 (standard na SingleDensity)
      Dos 4.3 (używa turbo, popularny)
      Dos 6.4 (dos z tekstowym interface, współpracuje z Qmegiem)
      PicoDos - nie używałem, ale jest malutki.

      A jeśli masz kasety w TURBO, zgraj je na wav, może być 8 bitów mono 44kHZ i prześlij chłopakom od turbo :) Oni rozpoznają, o jakie turbo chodzi.