2,701

(51 odpowiedzi, napisanych Różne)

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.

2,702

(51 odpowiedzi, napisanych Różne)

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 :)

2,703

(51 odpowiedzi, napisanych Różne)

@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.

2,704

(51 odpowiedzi, napisanych Różne)

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.

2,705

(26 odpowiedzi, napisanych Bałagan)

A AprilisCompo? Jeszcze parę godzin jest :) Ja mam nawet efekt zrobony, ale MaW miał swoje poprawki wprowadzić...

2,706

(51 odpowiedzi, napisanych Różne)

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

2,707

(51 odpowiedzi, napisanych Różne)

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);

2,708

(51 odpowiedzi, napisanych Różne)

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? :)

2,709

(51 odpowiedzi, napisanych Różne)

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.

2,710

(51 odpowiedzi, napisanych Różne)

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

2,711

(5 odpowiedzi, napisanych Bałagan)

Zero Zero Siedem.

2,712

(17 odpowiedzi, napisanych Software, Gry - 8bit)

A jakbyś spróbował w emulatorze na jeden dysk zapiąć atra (docelowego), a na drugi katalog z plikami (źródłowy) po czym użył zwykłego kopiera na Atari?

Dely: Funkcjonalność, której potrzebujesz realizowana jest za pomocą sio2bsd/aspeqt i podłączanie przez nich katalogu na pc jako dyskietki w dowolnie wybranym napędzie.

2,714

(40 odpowiedzi, napisanych Bałagan)

Bo one nie znikają. Procedura jest taka:
1. Wchodzisz na forum aa i klikasz "Nowe posty".
2. Czytasz pół godziny kolejne posty w wątkach przy czym nie jest istotne, czy klikasz je w tym samym oknie i wychodzisz przez "Wróć" w browserze, czy w nowych kartach/oknach - strona z listą ostatnich wątków ma być brana z cache przeglądarki.
3. W międzyczasie ktoś np. po 2 minutach od kliknięcia przez Ciebie "Nowe posty" tworzy nowy post w wątku T, którego nie masz na liście.
4. Po zakończeniu czytania wątków (pół godziny) klikasz "Nowe posty" i nie zobaczysz wątku T, bo minęło 15 minut od utworzenia nowego postu w wątku a forum stwierdziło, że przecież minutę temu czytałaś jakiegoś posta więc musiałaś widzieć i ten w wątku T.
Ja w ten sposób dzisiaj przegapiłem parę postów i dopiero "Aktywne  tematy" pozwoliły mi się w tym z grubsza zorientować.

2,715

(40 odpowiedzi, napisanych Bałagan)

Ja omijam problem przez kliknięcie linka "Aktywne tematy", którego w starym forum nie było. Problem ze znikaniem nowych postów jednak jest drażniący.

2,716

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

http://atariki.krap.pl/index.php/SIO hasło-klucz: 1090.

2,717

(37 odpowiedzi, napisanych Zloty)

.

Edit: Nie doczytałem, że sio2sd na c64 :) W takim razie nic nie wezmę :(

2,718

(1 odpowiedzi, napisanych Bałagan)

Kotlecik nie kotlecik. Powiedziałbym, że meisstersteak ;)
Ten utwór wystawiany był na konkursie muzycznym na atarionline w wersji na GTIA (1-bit) i zajął 4 miejsce (a tu komentarz Autora).
MrBeep lubi robić kawałki, po których trudno rozpoznać przez jaki układ dźwiękowy są grane :) Niektóre można znaleźć tutaj, a inne tutaj.

Prawda. Niestety obawiam się, że IOBoard używa FTDI do transmisji szeregowej i z komunikacji z dziurkarką nici. Trzeba by użyć czegoś w rodzaju pl2305 (jakiś odpowiednik ftdi).

Zrobił się offtop :/

Ale po co Ci sterowniki? Robisz tak:
$ mkfifo lptatari
$ sio2bsd -s /dev/ttyUSB0 -p lpatari -t
$ lp < lpatari
To na razie pomysł - zapominam sprawdzić czy zadziała.
Zaletą jest obsługa dowolnej drukarki od PC :)

Można też próbować poprzez sio2pc i sio2bsd.

2,722

(17 odpowiedzi, napisanych Software, Gry - 8bit)

W dos 2.x i dos xl można użyć max. 64 plików. Sparta DOS X ma ograniczenie na 1423 plików w katalogu (choć wg dokumentacji zaleca się nie więcej jak 200), poprzednie wersje do 126.

2,723

(1 odpowiedzi, napisanych Software, Gry - 16/32bit)

Czy mógłbym prosić STkowców o udostępnienie kilku standardowych fontów .CFN z programu Calamus 1.09N? Chodzi mi o fonty, które nie korzystają z krzywych Beziera (a takie podobno w tej wersji programu występowały).

2,724

(29 odpowiedzi, napisanych Software, Gry - 8bit)

Bardzo proszę: http://sdx.atari8.info/sdx_files/4.42/whatsnew.txt

2,725

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

Siedzi tam zwykły konwerter TTL<->RS232 - popularny MAX232 (może być odpowiednik innej firmy o symbolu np. ADM232). Też mam konwertera od Dudiego i nie ma problemu zarówno z podłączeniem do gołego Atari, jak i XF551.
Skopiować ATR na dyskietkę możesz np. podłączając do stacji SIO2PC z jakimś programem obsługującym komunikację SIO (APE, Aspeqt, sio2bsd), a stację do Atari. Konfigurujesz stacje na osobne numery (switchem w stacji, odpowiednią opcją w programie), po czym kopierem całodyskowym na Atari kopiujesz ze stacji która mapowana jest przez SIO2PC na żywą dyskietkę na normalnej Atarowskiej stacji - lub odwrotnie.