26

Odp: Prima-Aprilis compo

O.K. - demo można ściągnąć stąd: http://sikor_soft.w.interia.pl/temp/demou.atr (proszę gdzieś dodać na stały serwer, bo stąd za kilka dni zniknie) ;) Wszyscy wymienieni w creditsach i nie tylko są proszeni o zakupienie sobie piwa na grzybsoniadzie i wypicie w moim towarzystwie, jako prowodyra ;)
Dzięki za przednią zabawę ;)
Sposób uruchomienia: wgrać atr-a z Basiciem, wejść do basica, wpisać: RUN "D:PADEMO.BAS" i napawać się widokiem dema ;)
Może za rok zrobimy kolejną edycję ;)

Sikor umarł...

Odp: Prima-Aprilis compo

Jest błąd w linku, powinno być: http://sikor-soft.w.interia.pl/temp/demou.atr

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

28

Odp: Prima-Aprilis compo

dziwne. u mnie działają oba linki  :/

Odp: Prima-Aprilis compo

U mnie w firmie jest bardzo restrykcyjne proxy+firewall, pewnie dlatego.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

30

Odp: Prima-Aprilis compo

Może tak nowa edycja? Mamy 26.03 - więc jeszcze kilka dni zostało... O.K., zacznę...

10 GR.0:POKE 710,0:?"Prima Aprilis - edycja 2010 ;)"

Uprzejmie się prosi o dodawanie nowych linijek kodu. Deadline - 30.03 (trza to jeszcze przepisać i dodać do atra... :P )

Ostatnio edytowany przez Sikor (2010-03-26 22:37:49)

Sikor umarł...

31

Odp: Prima-Aprilis compo

20 POKE 752,0
100 LOCATE 0,0,A
110 POSITION 0,0:? CHR$(254)
120 POSITION 38,0:? CHR$(A);
130 GOTO 100

Ostatnio edytowany przez maw (2010-03-27 10:43:32)

___
Press play on tape...

32

Odp: Prima-Aprilis compo

10 GR.0:POKE 752,1:POKE 710,0
20 ?"Prima Aprilis - edycja 2010 ;)"

Ostatnio edytowany przez mono (2010-03-27 11:09:25)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

33

Odp: Prima-Aprilis compo

Właściwie, to czemu nie :D
Oto muzyka z filmów edukacyjnych z chemii:

30 DIM F(3),V(3),P(3),D(3),C(5)
40 FOR S=0 TO 3:V(S)=0:P(S)=0:NEXT S
50 DATA 0,8,4,2,12,10
60 FOR I=0 TO 5:READ D:C(I)=D:NEXT I
70 S=0
130 IF V(S)>0 THEN V(S)=V(S)-1:GOTO 190
140 POS.P(S),20:? " ";
150 F(S)=INT(256*RND(0))
160 V(S)=INT(16*RND(0))
170 P(S)=39-INT(F(S)/256*40)
180 D(S)=INT(6*RND(0))
190 POS.P(S),20:? CHR$(20);
200 SOUND S,F(S),C(D(S)),V(S)
210 S=S+1:IF S>3 THEN S=0
220 GOTO 100

Trochę mroczna wyszła...

Edit: Ale ciągle interesująca ;P W załączniku cały program.

Edit 2: Można by jeszcze dodać dłuższy scroll i wskaźnik poziomu sygnału dla każdego z kanałów :) i ulepszyć equalizer i generowanie dźwięków do skali temperowanej np.

Ostatnio edytowany przez mono (2010-03-27 12:25:09)

Post's attachments

PRIMAA.LST 555 b, liczba pobrań: 3 (od 2010-03-27) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

34

Odp: Prima-Aprilis compo

Trochę dłuższy skrol:

11 DIM T$(1000):L=37
12 T$="       Prima Aprilis - edycja 2010 ;)"
20 POKE 710,0:? T$(1,L);
100 L=L+1:IF L>LEN(T$) THEN L=1
120 POS.38,0:? T$(L,L);

Zmienną T$ można w kolejnych liniach 13..19 rozszerzać o kolejne teksty.

Edit: Kto zrobi skrola? :)

Ostatnio edytowany przez mono (2010-03-27 14:44:54)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

35

Odp: Prima-Aprilis compo

Hehe, chyba wyjdzie lepiej niż ostatnio... Czekamy, co ktoś dalej dopiszę - proponuję dopisywać do pełnego kodu, aby potem szybko i prosto przenieść na Atari ;)

Sikor umarł...

36

Odp: Prima-Aprilis compo

Nikt się nie chce bawić? No to naści - wskaźnik poziomu sygnału:

90 DIM LL$(128),LR$(128),L$(6):L$(1)=CHR$(160):L$(2)=CHR$(25):L$(3)=CHR$(32):L$(4)=CHR$(32):L$(5)=CHR$(153):L$(6)=CHR$(160)
91 FOR I=0 TO 15:FOR J=0 TO 7
92 LL$(1+I*8+J)=L$(2+SGN(2*J-I)):LR$(1+I*8+J)=L$(5+SGN(2*J+1-(15-I)))
93 NEXT J:NEXT I
170 P(S)=38-INT(F(S)/256*39)
185 IF S<2 THEN V=1+V(S)*8:POSITION 0,22+S:? LL$(V,V+7);
186 IF S>=2 THEN V=1+V(S)*8:POSITION 30,20+S:? LR$(V,V+7);
205 IF S<2 THEN D=V(S)/2:IF D<=7 THEN V=1+V(S)*8+D:POSITION D,22+S:? LL$(V,V);
206 IF S>=2 THEN D=INT(0.5+V(S)/2):IF D<8 THEN V=8+V(S)*8-D:POSITION 37-D,20+S:? LR$(V,V);

Ostatnio edytowany przez mono (2010-03-28 00:02:38)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

37

Odp: Prima-Aprilis compo

Czyli póki co mamy:

10 GR.0:POKE 752,1:POKE 710,0
11 DIM T$(1000):L=37
12 T$="       Prima Aprilis - edycja 2010 ;)"
13 T$="....Idea by Sikor, programming by Sikor, Maw, Mono..."
14 T$="made only for fun........."
20 POKE 710,0:? T$(1,L);
90 DIM LL$(128),LR$(128),L$(6):L$(1)=CHR$(160):L$(2)=CHR$(25):L$(3)=CHR$(32):L$(4)=CHR$(32):L$(5)=CHR$(153):L$(6)=CHR$(160)
91 FOR I=0 TO 15:FOR J=0 TO 7
92 LL$(1+I*8+J)=L$(2+SGN(2*J-I)):LR$(1+I*8+J)=L$(5+SGN(2*J+1-(15-I)))
93 NEXT J:NEXT I
100 L=L+1:IF L>LEN(T$) THEN L=1
120 POS.38,0:? T$(L,L);
170 P(S)=38-INT(F(S)/256*39)
185 IF S<2 THEN V=1+V(S)*8:POSITION 0,22+S:? LL$(V,V+7);
186 IF S>=2 THEN V=1+V(S)*8:POSITION 30,20+S:? LR$(V,V+7);
205 IF S<2 THEN D=V(S)/2:IF D<=7 THEN V=1+V(S)*8+D:POSITION D,22+S:? LL$(V,V);
206 IF S>=2 THEN D=INT(0.5+V(S)/2):IF D<8 THEN V=8+V(S)*8-D:POSITION 37-D,20+S:? LR$(V,V);

P.S.
Jeszcze nie sprawdzałem, czy działa, bo jeszcze nie ma deadline-u. Ale jakby komuś się chciało - poproszę ;)

Sikor umarł...

38

Odp: Prima-Aprilis compo

Kod w aktualnej postaci wygląda tak:

10 GRAPHICS 0:POKE 752,1
11 DIM T$(1000):L=37
12 T$="       Prima Aprilis - edycja 2010 ;)"
13 T$(38)="    Idea by Sikor, programming by Sikor, MaW, Mono..."
14 T$(91)="    Made only for fun."
15 T$(113)=""
20 POKE 710,0:? T$(1,L);
30 DIM F(3),V(3),P(3),D(3),C(5)
40 FOR S=0 TO 3:V(S)=0:P(S)=0:NEXT S
50 DATA 0,8,4,2,12,10
60 FOR I=0 TO 5:READ D:C(I)=D:NEXT I
70 S=0
90 DIM LL$(128),LR$(128),L$(6):L$(1)=CHR$(160):L$(2)=CHR$(25):L$(3)=CHR$(32):L$(4)=CHR$(32):L$(5)=CHR$(153):L$(6)=CHR$(160)
91 FOR I=0 TO 15:FOR J=0 TO 7
92 LL$(1+I*8+J)=L$(2+SGN(2*J-I)):LR$(1+I*8+J)=L$(5+SGN(2*J+1-(15-I)))
93 NEXT J:NEXT I
100 L=L+1:IF L>LEN(T$) THEN L=1
110 POSITION 0,0:? CHR$(254)
120 POSITION 38,0:? T$(L,L);
130 IF V(S)>0 THEN V(S)=V(S)-1:GOTO 190
140 POSITION P(S),20:? " ";
150 F(S)=INT(256*RND(0))
160 V(S)=INT(16*RND(0))
170 P(S)=38-INT(F(S)/256*39)
180 D(S)=INT(6*RND(0))
185 IF S<2 THEN V=1+V(S)*8:POSITION 0,22+S:? LL$(V,V+7);
186 IF S>=2 THEN V=1+V(S)*8:POSITION 31,20+S:? LR$(V,V+7);
190 POSITION P(S),20:? CHR$(20);
200 SOUND S,F(S),C(D(S)),V(S)
205 IF S<2 THEN D=V(S)/2:IF D<=7 THEN V=1+V(S)*8+D:POSITION D,22+S:? LL$(V,V);
206 IF S>=2 THEN D=INT(0.5+V(S)/2):IF D<8 THEN V=8+V(S)*8-D:POSITION 38-D,20+S:? LR$(V,V);
210 S=S+1:IF S>3 THEN S=0
220 GOTO 100

Ostatnio edytowany przez mono (2010-03-28 13:39:22)

Post's attachments

PRIMAA2.LST 1.15 kb, liczba pobrań: 4 (od 2010-03-28) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

39

Odp: Prima-Aprilis compo

nie bo wygląda tak :P

//EDIT: oczywiście, to listing basica, nie turbo

Ostatnio edytowany przez maw (2010-03-28 15:12:03)

Post's attachments

apriliscompo.tbl 1.54 kb, liczba pobrań: 10 (od 2010-03-28) 

Tylko zalogowani mogą pobierać załączniki.
___
Press play on tape...

40

Odp: Prima-Aprilis compo

Ja ostatnio chyba widziałem jakiś program pisany przez kilka osób w Basicu, nawet się zaczynał podobnie...

230 REM Copyright 2010 by:

41

Odp: Prima-Aprilis compo

Mono no patrz, kopyrajdów w kodzie nie uwzględniłeś, jak mogłeś zapomnieć!

___
Press play on tape...

42

Odp: Prima-Aprilis compo

Pozwolisz MaW, że zerknę:

70 DLL=PEEK(560)+256*PEEK(561)+6:DLV1=16
300 POKE DLL,DLV1-16:POKE DLL+2,128-DLV1
310 DLV1=DLV1*2:IF DLV1>128 THEN DLV1=16
320
330
340
350

Teraz chyba nieco lepiej.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

43

Odp: Prima-Aprilis compo

@MaW: Nie wiem do czego potrzebujesz tablicy E, ale wstawiłem Twój kod (nieco zmodyfikowany) do mojej wersji i wygląda to tak:

10 GRAPHICS 0:POKE 752,1
11 DIM T$(1000):L=37
12 T$="       Prima Aprilis - edycja 2010 ;)"
13 T$(38)="    Idea by Sikor, programming by Sikor, MaW, Mono..."
14 T$(91)="    Made only for fun."
15 T$(113)=""
20 POKE 710,0:? T$(1,L);
30 DIM F(3),V(3),P(3),D(3),C(5)
40 FOR S=0 TO 3:V(S)=0:P(S)=0:NEXT S
50 DATA 0,8,4,2,12,10
60 FOR I=0 TO 5:READ D:C(I)=D:NEXT I
70 S=0
80 DLL=PEEK(560)+256*PEEK(561):DLV1=16
90 DIM LL$(128),LR$(128),L$(6):L$(1)=CHR$(160):L$(2)=CHR$(25):L$(3)=CHR$(32):L$(4)=CHR$(32):L$(5)=CHR$(153):L$(6)=CHR$(160)
91 FOR I=0 TO 15:FOR J=0 TO 7
92 LL$(1+I*8+J)=L$(2+SGN(2*J-I)):LR$(1+I*8+J)=L$(5+SGN(2*J+1-(15-I)))
93 NEXT J:NEXT I
100 L=L+1:IF L>LEN(T$) THEN L=1
110 POSITION 0,0:? CHR$(254)
120 POSITION 38,0:? T$(L,L);
130 IF V(S)>0 THEN V(S)=V(S)-1:GOTO 190
140 POSITION P(S),19:? " ";
150 F(S)=INT(256*RND(0))
160 V(S)=INT(16*RND(0))
170 P(S)=38-INT(F(S)/256*39)
180 D(S)=INT(6*RND(0))
185 IF S<2 THEN V=1+V(S)*8:POSITION 0,21+S:? LL$(V,V+7);
186 IF S>=2 THEN V=1+V(S)*8:POSITION 31,19+S:? LR$(V,V+7);
190 POSITION P(S),19:? CHR$(20);
200 SOUND S,F(S),C(D(S)),V(S)
205 IF S<2 THEN D=V(S)/2:IF D<=7 THEN V=1+V(S)*8+D:POSITION D,21+S:? LL$(V,V);
206 IF S>=2 THEN D=INT(0.5+V(S)/2):IF D<8 THEN V=8+V(S)*8-D:POSITION 38-D,19+S:? LR$(V,V);
210 S=S+1:IF S>3 THEN S=0
300 A=PEEK(20)
310 IF PEEK(20)=A THEN 310
320 POKE DLL,DLV1-16:POKE DLL+6,128-DLV1
330 DLV1=DLV1*2:IF DLV1>128 THEN DLV1=16
10000 GOTO 100

Zsynchronizowałem zmiany dlist z ramką (linia 300..310), żeby ekran nie latał "w te i we wte" ;) oraz modyfikuję puste linie na początku dlist i tylko jeden wiersz trybu 0 dzięki czemu mamy na ekranie 23 wiersze, a nie 22.
Jeśli chodzi o synchronizację to trick jest prosty - komórka 20 zmienia się co ramkę na VBLK więc czekam na zmianę po czym szybko zapisuję nowe puste linie do dlist. BASIC jest na tyle wolny, że odbywa się to zapewne już po wyświetleniu drugiego wiersza trybu tekstowego (który zamieniany jest na puste linie). Gdyby w przyszłości metoda okazała się za wolna, można spróbować innej sztuczki:

300 A=PEEK(20): FOR B=0 TO 1:IF PEEK(20)=A THEN B=0:NEXT B
310 POP

Technika jest szybsza niż GOTO, bo BASIC przy każdej pętli FOR odkłada na stos "adres" początku pętli FOR..NEXT dzięki czemu nie szuka numeru wiersza (wyszukiwanie wiersza odbywa się zawsze od początku pamięci programu, co trwa i trwa). No a POP zdejmuje to, co FOR wstawiło.

Ostatnio edytowany przez mono (2010-03-31 19:29:27)

Post's attachments

PRIMAA3.LST 1.31 kb, liczba pobrań: 2 (od 2010-03-31) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

44

Odp: Prima-Aprilis compo

O.K. To uważamy tegoroczną edycję za zakończoną. Dla leniwych - atr w załączniku. Wczytujemy z Basiciem ;)
Uczestnikom, którym się chciało - dziękuję za zabawę ;)

Post's attachments

primaaprilis_2010.atr 90.02 kb, liczba pobrań: 9 (od 2010-03-31) 

Tylko zalogowani mogą pobierać załączniki.
Sikor umarł...

45

Odp: Prima-Aprilis compo

Bardzo fajna ścieżka dźwiękowa. Słuchałem jej dwie minuty, ma swój urok!

Atari 800XE/U1MB/Sophia2/PokeyMax + A1050 Toms Multi + CA2001

46

Odp: Prima-Aprilis compo

Ej, co jest - cenzura ? a gdzie mój zakłucacz dźwięków ???

350 SOUND INT(RND(0)*4),RND(0)*255,10,RND(0)*15

Sikor, poprawiaj atr-a!

___
Press play on tape...

47

Odp: Prima-Aprilis compo

Dodaj do atra i załącz ponownie - no problem. Wszystkie pliki poza dosowymi na dysku - to nasz listing ;P Ja po prostu dodałem lst do atr-a - możesz poprawić, jak chcesz ;)

Sikor umarł...

48

Odp: Prima-Aprilis compo

Sikor! Jeszcze do północy jest godzina! Ja chce mój efekt wstawić :D

@MaW: To ja już wstawię Twój zakłócacz, który wywaliłem przypadkiem i dodam wszystko do atra.
@Sikor: Jeszcze chwilka - cierpliwości :)

Ostatnio edytowany przez mono (2010-03-31 22:07:00)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

49

Odp: Prima-Aprilis compo

@mono: spoko, wszak to zabawa tylko ;P Wstawisz, dopiszesz wersję (1.2, a co :L) i już :D

Sikor umarł...

50

Odp: Prima-Aprilis compo

No to właśnie wstawiam :)

85 DIM E$(9):E$(1)=CHR$(18):E$(2)=CHR$(6):E$(3)=CHR$(124):E$(4)=CHR$(7):E$(5)=CHR$(18):E$(6)=CHR$(6):E$(7)=CHR$(124):E$(8)=CHR$(7):E$(9)=CHR$(18):DATA 1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,0,1,1,1,1,0
86 DIM X(4),Y(4),A(4),DX(8),DY(8)
87 FOR I=0 TO 4:X(I)=INT(39*RND(0)):Y(I)=INT(16*RND(0)):A(I)=6.28318*RND(0):NEXT I
88 FOR I=0 TO 8:READ X,Y:DX(I)=X:DY(I)=Y:NEXT I
89 P=0:PI=3.1415926:PIPI=2*PI:PI2=PI/2:PI4=PI2/2:PI8=PI4/2
400 I=INT((A(P)+PI8)/PI4)
410 POSITION X(P),2+Y(P):? E$(1+I,1+I)
420 X(P)=X(P)+DX(I):Y(P)=Y(P)+DY(I)
430 IF X(P)>38 THEN X(P)=0
440 IF X(P)<0 THEN X(P)=38
450 IF Y(P)>15 THEN Y(P)=0
460 IF Y(P)<0 THEN Y(P)=15
470 A(P)=A(P)+PI2*RND(0)-PI4
480 IF A(P)>=PIPI THEN A(P)=A(P)-PIPI
490 IF A(P)<0 THEN A(P)=A(P)+PIPI
500 P=P+1:IF P>4 THEN P=0

Efekt jest piorunujący (!) haaaa - nazwałem go "ślimaki" ;) To jedyny efekt do dema, który potrafię zakodować... :/ Wiem - to przykre, ale niestety taka jest prawda. Przykro mi bardzo.

Edit: A w załączniku kod.

Ostatnio edytowany przez mono (2010-03-31 22:43:06)

Post's attachments

PRIMAA4.LST 1.97 kb, liczba pobrań: 3 (od 2010-03-31) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje