1 Ostatnio edytowany przez Siemek (2007-02-19 00:40:17)

Zabieram się za zrobienie gry, którą dawno temu planowałem zrobić na małe Atari (nic wielkiego, więc nie chwalę się szczegółami). Grafikę mam zrobioną, "moduły" czy też "funkcje" również opracowane (w innym języku na pc), teraz tylko muszę to przenieść na Atari. Wybór padł na Turbo Basic XL. Prace będą wykonywane pod emulatorem pod Windowsem. Zanim zabiorę się za robotę, mam kilka pytań, a właściwie próśb o pomoc.

1. Czy istnieje możliwość tworzenia kodu TBXL pod PC (np. w jakimś specjalnym edytorze) a następnie bezproblemowe przeniesienie tego np. do pliku ATR, żeby załadować pod TBXL i uruchomić? Czy może zmuszony jestem do wstukiwania programu w edytorze TBXL?

2. Jak wygląda szybkość skompilowanego programu TBXL w zakresie wyświetlania na ekranie znaków w trybie gr.0? Gra ma wyświetlać grafikę na bazie zmodyfikowanej tablicy znaków 8x8 pikseli. Postać gracza ma stać zawsze na środku ekranu. W momencie ruchu przewija się otoczenie (skokowo o 1 znak). Czyli po każdym pstryknięciu joyem ma być wyświetlonych na ekranie powiedzmy 30x24 znaków, czyli 720 znaków. Czy jeśli będę je wyświetlał znak po znaku (print), to czy po skompilowaniu efekt będzie płynny, tzn. nie będzie efektu wolnego rysowania planszy? Pamiętam że pod zwykłym bejzikiem było to powolne.

3. W pewnych momentach gry będę chciał wyświetlić na ekranie taki jakby popup z opcjami, takie okienko. Po wybraniu opcji okienko ma zniknąć i wrócić ma na ekran to co było pod spodem. Czy jest jakaś możliwość przekopiowania fragmentu pamięci odpowiedzialnej za fragment ekranu w inne miejsce, żeby potem przywrócić stan obrazu przekopiowując ten zbiór bajtów z powrotem?

4. W jakim formacie najlepiej wypuścić grę w świat? Czy powinien to być ATR, czy może pojedynczy plik wykonywalny (xex czy jak mu tam)?

Najbardziej chciałbym mieć możliwość wyświetlania znaków na jakimś wirtualnym ekranie, tak było w amigowym Amosie - można było rysować na ekranie logicznym/wirtualnym, a potem jedną instrukcją przekopiować to na właściwy ekran. I to najlepiej przez TBXL-owe instrukcje służące do przekopiowywania fragmentów pamięci z miejsca w miejsce.

2

> 2.

jesli zdefiniujesz obraz tak, zeby linia nie miala 32 znaki tylko np 255 to skroll moze byc realizowany przez zapis 2 bajtow a nie przesuwaniu 32 bajtow...

> 3.

tak, to nie jest problem, powinienes najpierw poczytac jak atari tworzy obraz, nie bylo by tych pytan...


> Najbardziej chciałbym mieć możliwość wyświetlania znaków na jakimś wirtualnym ekranie, tak było w amigowym Amosie - można było rysować na ekranie logicznym/wirtualnym, a potem jedną instrukcją przekopiować to na właściwy ekran.

w amosie nie calkiem kopiowal ekran, raczej zmienial jego adres... na atari jest tak samo - blyskawicznie (poczytaj o technice page fliping - chyba w basicu miguta jest to opisane)

http://atari.pl/hsc/ad.php?i=1.

3

1. Oczywiście. Pod Windowsem możesz użyć dowolnego edytora, następnie narzędzia w rodzaju makeATR, czy plugina ATR do Total Commandera.
2. Niewiele się różni od nieskompilowanego, bo i tak korzysta z systemowego edytora, który jest nieznośnie powolny. Trochę (nawet kilkukrotnie) tę sprawę poprawia QuickEd, ztcw jak do tej pory dostępny tylko pod SpartaDOS X.
3. MOVE, -MOVE
4. Rybka. Byleby się nie okazało, że jest to zip, wewnątrz zipa atr, a w środku atra znów zip, lub coś w tym rodzaju. Opierając się na swoich doświadczeniach optuję jednak stanowczo za wersją "pojedynczy plik wykonywalny", ew. spakowane archiwum zip/tgz (bez ATR).

Owszem, masz taką możliwość. Adres wyświetlania i adres pisania to dwie oddzielne rzeczy, w TBXL też to robiłem i da się. :)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

4

epi: pod mydosem odpalalem kiedys jakies programiszcza w stylu quicked - ztcp to bylo cos z flash40 w nazwie...
xxl: twoj sposob ogranicza szerokosc mapy do 255 pozycji - pytanie czy to wystarczy pytajacemu?

1. albo tak jak wspomnial epi, albo:
- zapisujesz w zwyklym teksciaku, ale w formacie uniksowym (tj. koniec linii to jeden znak 0xa)
- jakims programem (moze byc wlasny w C, moze byc np. "tr" z cygwina) konwertujesz znak konca linii z uniksowego na atarynkowy
- wczytujesz tak obrobiony plikczers w emulcu poprzez

ENTER "H:PLICZEK.TXT"

przy emulacji dysku twardego z odpowiednio ustawiona sciezka do katalogu ze zrodlem
- ewentualnie po zmodyfikowaniu mozesz "wyeksportowac" nowa wersje na blaszaka poprzez

LIST "H:CHGW.TXT"

ztcp zmiane konca linii z blaszanej na atarkowa ma chyba emulec atari800win+ - i chyba nawet nie trzeba zapisywac plikczersa w "unix mode"

2. lepiej bezposrednio po pamieci ekranu pisac (doczytaj np. w DeRe (lub w po polsku w zipie z tej stronki) jak sie ja obsluguje, albo wskocz na irca gdzie ktos mily i pomocny (a sami tacy tam przesiaduja) podpowie ci jak to zrobic)

3. transfer pamieci, najlepiej procka asemblerowa... (czyli to co wspomnial epi)

4. najprostrza w obsludze byla by binarka (w twojej nomenklaturze - skompilowany .xex)

jak zaznaczyl to xxl - tam (w amosie) nie bylo nic kopiowane, a jak tego sie dokonuje na atari zrozumiesz po przeczytaniu na prawde niewielkiej ilosci tekstu (np. wspomniany powyzej) na temat sprzetu atari...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

5

jellonek: O właśnie, zapomniałem o konwersji i Enter-owaniu, dzięki!

jellonek napisał/a:

wskocz na irca gdzie ktos mily i pomocny (a sami tacy tam przesiaduja)

ROTFL roku! :D

Siemek: ogólnie Turbo Basic XL jest bardzo fajnym narzędziem, pod warunkiem, że umiesz sprytnie dołączać do niego wstawki maszynowe. :)
Powodzenia!

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

6

1. moim zdaniem użycie windowsowego narządu w celu edycji - lekki masochizm; pisać "kod" i co chwile chrzanić się z przerzuceniem tego do ateera i odpalaniem na emu, czy atarce przez sio2pc?? - przy częstym sprawdzaniu programu w chwili, kiedy dzieje się cos "niedobrego" :) - znaczące straty czasu.

2. nie wiem, czy tak niewiele się różni się program skompilowany od nieskompilowanego - jak na mój gust przyspieszenie jest różne - średnio około 2 razy szybciej.

3. MOVE w tym przypadku zasadniczo powinien wystarczyć :)

4. tylko nie bootowalny sektorowo ATR, oraz nie zintegruj tego jakimś cudem z jakimś egzotycznym dosem :)- może przecież być w postaci plików - nawet kilkudziesięciu - jaki problem, czyli poniekąd atr, lecz z dosem i całością w plikach

tak przy okazji - uważaj na kompilację, jeśli decydujesz się na zabawe z ext ramem. Program po kompilacji siedzi troszkę jakby gdzie indziej :)

epi :) - będzie gra pod trs desktop ?? :):):)

Kontakt: pin@usdk.pl

7

Pin:
2. dziubek, chodzi o samo wyświetlanie. Wyżej d*y nie podskoczysz!
4. Nie, nie ATR.
5. No właśnie znalazłem taki jeden prosty motyw we flaszu, co by się nadawał do przeniesienia jako aplikacja dołączona do deski.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

8

2. fakt - no jeśli chodzi o wyświetlanie - to tylko "QE" - (quicked.sys)
4. byle nie sektowrowy boot, lub byle by nie przywiązany do jakiegoś egzotyczneho dosa i byle by nie przywiązany do urządzenia D1: !!!!
5 - jaki ????????????????

Kontakt: pin@usdk.pl

9

jellonek napisał/a:

xxl: twoj sposob ogranicza szerokosc mapy do 255 pozycji - pytanie czy to wystarczy pytajacemu?

szerokosc mapy mogla by miec max dlugosc lini antica czyli chyba 4 kb (4096?)

http://atari.pl/hsc/ad.php?i=1.