Dzięki ;) Zobaczymy co inni powiedzą, a właściwie napiszą ;) W następnej części (jak motywacja i czas pozwolą) chcę zamknąć intro ;)

Część piąta - czas na ożywienie intra...
Dzisiaj ożywimy nieco nasze intro. Ostatnio przygotowaliśmy sobie grafikę, spróbujmy ją dzisiaj zacząć wykorzystywać w naszej grze, Na początek przypomnę, jak mamy ustawione dane:

Dane:
$95c0-$9fff grafika tytułowa
$9c00-$9fff fonty do gry
$8240-$855f P1
$8560-$887f T4
$8880-$8b9f T5
$8ba0-$8ebf T6
$8ec0-$91df T7
$91e0-$94ff T8

Wczytujemy teraz Turbo Basic, nasze dane (BLOAD"D:DANE.DAT") oraz nasz dotychczasowy kod gry (LOAD"D:GRA1.TB"). Poke 756,$9c (kto przypomni, co to robi?) i listujemy naszą grę. Na początek nieco namieszamy w naszej procedurze INTRO:

100 PROC INTRO
101   GRAPHICS 24:POKE 710,0:POKE 709,
15:POKE 756,$9C
102   MOVE $95C0,DPEEK(88),1600
142   COLOR %1:TEXT 10,100,"Tu b dzie
intro"
150   IF PEEK(53279)<>6 THEN 150
190 ENDPROC

Do dzieła. Na początek zróbmy małą modyfikację:

102   FOR I=39 TO %0 STEP -1
103     MOVE $95C0+1600-I*40,DPEEK(88)
+I*40,40
104   NEXT I

Proszę uruchomić kod. Co się dzieje? Mamy pętlę for-next, która przesyła nam linia po linii naszą grafikę tytułową na początek adresu ekranu. Pamiętamy, że mamy 40 linii, więc licząc od 39 do zera przesuwamy wszystko linia po linii, dostając odwrócony obraz... Dodajmy sobie w linii 103 małe opóźnienie, aby się przyjrzeć, jak to wygląda:

103 MOVE $95C0+1600-I*40,DPEEK(88)+I*40,40:PAUSE 10

Teraz wszystko widać jak na dłoni. W linii 103 możemy oczywiście od razu wyliczyć adres końca grafiki (1600 bajtów szesnastkowo to $640, $95C0+$640=$9C00, pamiętamy że liczymy od zera, czyli $9BFF), wtedy zadziała nieco szybciej (mam mniej liczenia), ale dla naszego przykładu nie robi to różnicy (dobra, dłuższy kod mamy - ale o tym w ostatnim odcinku będzie). Dodajmy nieco więcej "życia" do intra. Mamy 192 linie, najpierw wyświetlmy naszą grafiką na dole ekranu:

103 -MOVE $95C0+1600-I*40,DPEEK(88)+6000+I*40,40:PAUSE 10

Pamiętamy o czasowym zapisywaniu gry (SAVE"D:GRA2.TB" - przypominam tylko) i sprawdzamy. Działa? Działa. Skąd wartość 6000? To proste - nasza grafika ma 1600 bajtów, cały ekran to 7680 - od wielkości ekranu odejmujemy 1600  bajtów, pamiętamy, że liczymy od zera więc odejmujemy jeszcze 40 bajtów, z pewnych przyczyn chcę mieć jedną linię pustą - więc odejmuję jeszcze 40 bajtów... Teraz wszystko przesuńmy w górę (wcześniej proponuję usunąć pauzę - już nie jest nam potrzebna):

105   FOR I=151 TO %1 STEP -%1
106     MOVE DPEEK(88)+I*40,DPEEK(88)+I*40-40,1600
107   NEXT I

W linii 105 określiliśmy skąd przesuwamy nasz obraz (od której linii) i do której (wartość jeden, bo linijkę dalej przesuwamy na adres ekranu), w linii 106 wpisujemy jak przesuwamy. Proszę się pobawić wartościami zmieniając 40 na inne wartości (najlepiej wielokrotność czterdziestu).
Dobrze, mamy napis na górze, ale... Odwrócony. Coś z tym trzeba zrobić... Można to zrobić przepisując z buforem bezpośrednio z ekranu nasze dane lub wykorzystać nasz obrazek z pamięci (ja wolę tak zrobić). Dopiszmy kawałek kodu:

109   FOR I=%0 TO 39
110     MOVE DPEEK(88)+40,DPEEK(88),1600
111     MOVE $95C0+I*40,DPEEK(88)+1560,40
112   NEXT I

Linia 110 przesuwa nam obrazek w górę, natomiast w linii 111 pobieramy jedną linię z naszego obrazka i zapisujemy ją jako ostatnia linia obrazka tytułowego na naszym ekranie. W ten sposób w prosty sposób uzyskaliśmy prosty efekt rolowania obrazka tytułowego.
Zakładam, że w intrze chcemy też wykorzystać grafikę z naszej konwersji. Jesteśmy w trybie graficznym, nic nie stoi na przeszkodzie, wykorzystajmy grafikę T7, ale najpierw zróbmy sobie część ramki - bo czemu nie? Zasada jest taka, że  instrukcja MOVE (lub -MOVE, która działa "od tyłu") możemy się poruszać na ekranie (bez sztuczek) na granicy pełnych bajtów. Nasze obrazki mają 80x80px, więc narysowana część ramki nie powinna nachodzić nam na pełne bajtu obrazka - trzeba uważać szczególnie na linię pionową. Sprawa jest prosta - każdy bajt (w naszym trybie) to odpowiednik ośmiu pikseli. Spróbujmy dodać kod:

120   COLOR %1
121   PLOT 42,50:DRAWTO 140,50
122   PLOT 46,46:DRAWTO 46,140
125   FOR I=%0 TO 79
126     MOVE $8EC0+I*10,DPEEK(88)+2086+I*40,10
127   NEXT I

Co ten kod robi? To proste:
Linia 120 - ustawia nam kolor
Linia 121 - rysuje poziomą część ramki
Linia 122 - rysuje pionową część ramki
U mnie jest to tak dobrane, aby była drobna przerwa między naszym obramowaniem a rysunkiem. Proszę pobawić się tymi wartościami. Pozostałe linie dodają nam rysunek. Proszę teraz uruchomić program.
Coś nam tu chyba nie pasuje, prawda? Mała modyfikacja linii 142 załatwi nam sprawę:

142 COLOR %1:TEXT 10,145,"Tu b dzie intro"

Prawda, że lepiej? To na zakończenie dzisiejszej lekcji jeszcze jedna, drobna modyfikacja wyświetlania obrazka, według mnie uatrakcyjniająca nasze dzieło:

125 FOR I=%0 TO 78 STEP %2
126   MOVE $8EC0+I*10,DPEEK(88)+2086+I*40,10
127   MOVE $91D6-I*10,DPEEK(88)+5246-I*40,10:PAUSE %2
128 NEXT I

Analizę pozostawiam Wam. Jak zwykle oczekuję komentarzy, czy wszystko jest jasne. W następnym odcinku dodamy sobie teksty do intra.
W załączniku atr z bieżącą wersją - pracujemy na wersji gra1.tb, dochodzimy do wersji gra2.tb. Smacznego.

3,428

(19 odpowiedzi, napisanych Bałagan)

Super. Miłej zabawy - jak pisałem, muszę nieco miejsca zrobić u siebie, a szkoda aby tylko miejsce zajmowała.  o dogadaniu z XL/XE to wiadoma sprawa akurat w tych drukarkach. Dobrze, że kaseta ok - choć pewnie przyda jej się nieco tuszu ;)

3,429

(77 odpowiedzi, napisanych Fabryka - 8bit)

Dobra, jak kit, to kit... Dopisuję się i ja - ale z zaprogramowanym wsadem ;)


Kit,
1. ZuluGula - 1szt
2. Lopez - 1 szt, wysyłka razem z płytką SIMMExp
3. perinoid - 1szt + zaprogramowany EPROM (standardowy OS, QMEG, standard+patch turbo, 4-ty nieistotny).
4. pancio.net - 1szt.
5. JLS - 1 szt.
6. _kriss_ - 1szt.
7. sun - 1 szt + zaprogramowany EPROM (poproszę taki zestaw jak perinoid - jeśli już będziesz miał spaczowany OS).
8. piwkooo - 1szt.
9. Sikor 1szt (szczegóły ustalimy jak będziesz miał, ok?)

Gotowiec,
1. ZuluGula - 1szt + 1szt EPROM
2. uicr0Bee - 1 szt + 1szt EPROM - wysyłka razem do lopeza.

@dely: to wykasuj te niepotrzebne i zbędne proszę, odniosłem się do faktów w przykładach xxl-a.

Jest. Jak masz odpowiednio dużo kasy możesz ją zdobyć, to primo. Secundo - można ją zabaczyć, dotknąć, itp. Są poza fazami prototypu.

To jak WiFi - niedostępne dla mas, więc nie ma. Stan na dzień dzisiejszy.

3,433

(293 odpowiedzi, napisanych Fabryka - 8bit)

Czyli jak napisał perinoid - 99% to kwestia kalibracji głowicy. Sprawdź jeszcze dla pewności prędkość obrotową Twoich napędów (o ile pamiętam 288RPM jest prawidłową wartością) i spróbuj to wyregulować.

Rastan napisał/a:

Monty on the Run, Rick Dangerous, Kung-fu Master

Ale Rickiego i KFM nie ma. Chociaż nie, KfM jest taki krap straszny w Turbo Basicu ;P

Ruff and Reddy, Yogi's... ten, no, jak mu było... Plastron. Jak pisałem - kilka (naście) by się jeszcze znalazło. Zresztą ludzika z Caverni ukradzino chyba do Magic Dimmension...

3,436

(31 odpowiedzi, napisanych Bałagan)

W drugą stronę ponoć działa (oryginały na tej konsoli), mi się nie udało kupić, więc "se nie sprawdzę". Btw: tak, do poruszania po menu, ale tylko w porcie pierwszego gracza.

3,437

(56 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

No miałem zrobić w sobotę za tydzień, ale powtórzymy po nowym roku też może. zresztą: http://www.atari.org.pl/forum/viewtopic … 23#p256723 - a po nowym roku możemy powtórzyć jakoś.

3,438

(1 odpowiedzi, napisanych Zloty)

Za tydzień, w sobotę, 21.12 od godziny 18-tej, proponuję tu: http://www.pizzerianadickensa.pl/ - aktualne jak się wpisze co najmniej 6 osób, jak mniej - zobaczymy. Zweryfikujemy do środy do 20-tej. Wpisujcie się poniżej, proszę.

A ROM XLXE czy altirra Może adresy się nie zgadzają

No jak to Nikt nie dał jeszcze "Alley Cat Toż to precjoza jest...
Dodałbym do powyższej listy jeszcze Moon Patrol, Tales of Dragons & Caveman, Twilight World... Parę innych by się znalazło, ale musiałbym się zastanowić.

A próbowałeś innej wersji MyDOSa? Bo może coś z atr nie ten teges... Lepiej jakbyś dał zdjęcie ekranu po wczytaniu dosa.

3,442

(30 odpowiedzi, napisanych Bałagan)

@Dracon: przestałem się przejmować. Niedokończone gry wystawiane na party to dla mnie żenua.

3,443

(31 odpowiedzi, napisanych Bałagan)

Szczęściarz ;)

3,444

(42 odpowiedzi, napisanych Sprzęt - 8bit)

Większość - http://www.atarimuseum.com/computers/8b … /65xe.html, choć w sumie płyta chyba prawie identyczna. Zasadniczo problemem tu są chyba kości jednobitowe (stabilność Ultimate), ale mogę się mylić.

3,445

(31 odpowiedzi, napisanych Bałagan)

No, u mnie ni ma :(

3,446

(15 odpowiedzi, napisanych Bałagan)

Noo, ja mam majsterkowanie dla każdego chyba takie jak na tej aukcji: https://apollo-ireland.akamaized.net/v1 … ;s=644x461

3,447

(56 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Mam. Marcus źle numer mieszkania wpisał i pewnie to była przyczyna ;D DPD dało d..y, a DHL wykazało się logiką i przysłało sms-a o przekierowanie.
@Rastan, @voy: podajcie adresy via mail, podeślę
@perinoid: podeślin nr telefonu, umówimy się na odbiór z drukarką razem
@reszta: kiedy się na odbiór umawiamy? Może sztabik jakiś?

Infiltrator?

3,449

(22 odpowiedzi, napisanych Sprzęt - 8bit)

x_angel napisał/a:

występuje w 64XE

A to jakaś nowa odmiana Commodore jest? :P

3,450

(15 odpowiedzi, napisanych Bałagan)

http://kultura.gazeta.pl/kultura/7,1272 … #s=BoxOpMT - może nie związane z Atari, ale wielka szkoda. Fajne rzeczy robił w programie. :(