101

(57 odpowiedzi, napisanych Sprawy atari.area)

Może po prostu poprosić, o usunięcie zbędnych obrazków?

102

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

Tak jak pisałem ze skanów stron magazynu Razem udostępnionych przez uicr0Bee przepisałem (z mizerną w tym przypadku pomocą OCR-a) 2 listingi, które tam znalazłem: Trzy Kostki i Kalendarz. Zrobiłem też niezbędne poprawki - szczegóły w tamtym wątku. Opis po zsynchronizowaniu plików z OCR wyszedł zupełnie bezbłędny!

Przy okazji odszukałem oryginalny program Calendar, który wraz z wieloma innymi dostępny jest tu:
http://www.atarimania.com/documents/gam … _atari.pdf
Niestety nie odnalazłem odpowiednika Trzech Kostek.

Do małej optymalizacji (do samodzielnego zaaplikowania) wykorzystałem sposób użycia POKE / PEEK zamiast / z RESTORE z tej książki:
https://www.retrocomputers.gr/media/kun … i_text.pdf

Program Trzy Kostki nieco odchudziłem, ale, że jeszcze trochę można zrobić, nie udostępniam tej wersji (może później tu dodam).

PS. Tak się złożyło, że sam kiedyś pisałem kalendarz, a niedawno program z obracaną kostką. Poprawiałem też już inne tego typu programy :)

Edit: W 3-ech Kostkach znalazłem błąd - gdy na pytanie "na jaką liczbę stawiasz?" odpowiedzią będzie liczba powyżej 6, bądź litera (nie P i nie wyraz POMOCY), to stan konta zmniejszy się o podaną krok wcześniej stawkę, można w ten sposób doprowadzić do ujemnego stanu konta (kilkukrotnie wpisując błędną wartość np. literę), jeżeli później podamy literę P to po wyświetleniu pomocy zobaczymy ujemny stan konta, bez możliwości dalszej gry, a jeżeli wpiszemy wartość oczek to niespodziewanie zakończymy grę z zerem na koncie. Kolejny błąd tym razem nie krytyczny - ilość oczek możemy podać ujemną (0 szans na wygraną).

poprawka (do zaaplikowania we własnym zakresie):

410 REM 
440 IF LI<1 OR LI>6 THEN 360
450 TRAP 34567:CS=CS-ST

Przy okazji zmieniłem "THEN 370" na "THEN 360", tak aby nie tylko przy błędzie, a również przy niewłaściwej wartości wyświetlić ponownie pytanie. Linię 410 można usunąć, choć żeby nie było wątpliwości lepiej zostawić z REM.

Edit2: W linii 1150 jest literówka "MACISNIJ", oczywiście powinno być "NACISNIJ", sorry.

103

(26 odpowiedzi, napisanych Miejsca w sieci)

Przejrzałem te skany, nawet nie pamiętałem, że coś takiego było, a okładki z 3, może 4 pamiętam (te tylne również), więc ktoś to musiał mieć i miałem okazję zobaczyć :)

W numerze 87-05-(525) są dwa listingi na małe Atari, obydwa przepisałem, jednak ten drugi zawiera kilka błędów, w związku z tym mam pytanie czy nie było sprostowania?

Błędy powstały już na komputerze, co widać na screenie kalendarza - znaki czyszczenia ekranu zastąpione spacją (również w opisie jest puste miejsce na "#"), i w listingu trzech kostek - tu niestety więcej braków, znaki czyszczenia ekranu są PC-towe, ale już w linii 70 mamy ERROR! Prawdopodobnie była tam instrukcja GRAPHICS 2+16 (jak w opisie) i jak widać jakiś PRINT #6;. Po tej poprawce program działa, ale losowane kostki są puste - winna jest linia 880, która podstawia nieużywaną zmienną I, zerując oczka. "I" prawdopodobnie jest początkiem komendy INT, a linia mogła wyglądać tak: 880 N(D)=INT(RND(1)*6)+1 Drobny brak jest też w linii 630, gdzie również widać, że cięcie nastąpiło już na komputerze - tam należy dopisać "ICZB." Dalej nie sprawdzałem, a pozostał jeszcze problem z powtarzającym się losowaniem, być może coś źle przepisałem, lub jest jeszcze jeden błąd.

Edit2: Sprawdziłem powtórne losowania są przewidziane przez autora, odpowiedzialne linie to 460 i 490, które można po prostu zaremować.

Co do Kalendarza to sprawdziłem też angielski oryginał, w polskiej wersji użyte są wyłącznie duże litery i zamieniony LPRINT na PRINT, co powoduje konieczność podłączenia drukarki, lub zaremowania linii jak w tekście opisu.

Od siebie proponuję małą optymalizację kalendarza:
170 FOR M=1 TO 12:RESTORE 1400:POKE 182,M-1:READ A$

(Używając POKE (i PEEK) można odczytać kolejne dane bez odczytu poprzednich, co umożliwia np. odczytywanie danych z kilku linii DATA w dowolnej kolejności).

Programiki jeszcze raz sprawdzę z listingami i wtedy opublikuję, a jakby się znalazło sprostowanie to poproszę :)

Edit: Tak patrzę co jest w sieci, trochę zdjęć w ogłoszeniach np. tu jest coś z komputerami (2 strony): https://allegro.pl/oferta/razem-tygodni … 9373585867 (po powiększeniu czytelne, a na dole jeszcze inne numery). Dwie ciekawe okładki: https://fsfsdfsdfsfsfdsdf.wordpress.com … 1984-1985/ (na głównej jest dużo więcej zdjęć z dawnej prasy i nie tylko - autora zdjęć ciekawi głównie tematyka muzyczna)

Edit3: Programy dodałem tu: http://www.atari.org.pl/forum/viewtopic … 78#p295978

104

(61 odpowiedzi, napisanych Bałagan)

Artykuł o historii teletekstu, w pierwszym numerze magazynu PIXEL Addict:
https://www.pixel.addict.media/shop/image/cache/catalog/Product%20Images/MagIssues/Issue01/The-History-Of-Teletext-Pixel-Addict-magazine-900x600.jpg
Rozmyty, ale da się odczytać.

Magazyn można nabyć tutaj: http://pixel.addict.media/

Okładka kolejnego numeru:
http://pixel.addict.media/assets/template/images/Pixel-Addict-magazine.jpeg
Zawiera artykuły o klasycznych komputerach i grach, w tym o dużym Atari.

Niektóre strony z dostępnych numerów można podejrzeć pod linkiem na stronie magazynu.

105

(61 odpowiedzi, napisanych Bałagan)

https://www.youtube.com/watch?v=Vy23geJFMUQ

106

(10 odpowiedzi, napisanych Bałagan)

Ja używam SFK partcopy - jest wersja pod Windowsa, Linuxa (nie tylko PC) i na Mac-a.

107

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Kolejna wersja - bez zmian trybu - całkowicie w GR.8. Działa szybciej. W prawym dolnym rogu wyświetla czas działania (od podania danych, nie w każdym przypadku całości). Dla porównania dołączona poprzednia wersja z kilkoma niewielkimi zmianami, również wyświetlającą czas.

Przy konwersji OCT i HEX do zerowania, przesunięcia bitów i "scalenia" w Bajt użyłem ?#6; mnożenia i dodawania (można by było kopiować bit po bicie w pętli jak poprzednio, ale myślę, że tak jest szybciej - swoją drogą korci mnie żeby sprawdzić poprzednią wersję z podobnymi działaniami...).

Do konwersji przy wyświetlaniu korzystam z już odczytanych wartości binarnych.

W linii 216 użyłem "sztuczki", aby umieścić kilka IF-ów w jednej linii. W związku z tym z każdym kolejnym przejściem przez pętlę wykonywane są dodatkowe operacje, nie zauważyłem wpływu na prędkość.

Nazwy zmiennych po rozbudowaniu nie są zbyt spójne, niektórych używam też ponownie jako zmiennych tymczasowych.

...i to chyba tyle ode mnie :) Zdrowych, Spokojnych Świąt!


Edit: Paczkę zamieniłem na osobne TXT-ki i dodałem ATR-y.

108

(23 odpowiedzi, napisanych Programowanie - 8 bit)

@Mono, no nie da się... (chyba, nie wiem na ile jest to sprzętowe, a na ile programowe). Żaden tryb nie ma 3 bitowego koloru i podejrzewam, że LOCATE, itd. nie są do tego przystosowane (musiałyby czytać / zapisywać co trzecią wartość operując na dwóch Bajtach), a do tego jak wybrać tryb graficzny nie ustawiając go?!

W załączniku kolejna wersja, tym razem dopisałem konwersję oct (w obydwu kierunkach). Tak jak pisałem, aby to zrobić trzeba było trochę pokombinować. Nie było łatwo, liczenie położenia Bajtów, bitów i do tego miałem problem z ADR, adresy zmiennych czasami zmieniały się, chyba przy zmianie GRAPHICS, jednak gdy dopisałem powrót do trybu GR.8+32 problem zniknął. Na wszelki wypadek dodałem if-a na końcu, który sprawdza, czy adresy się nie zmieniły... Dla wygodniejszego testowania dodałem opcję random.

Ponieważ oct jest 3 bitowy na 8 bitach maksymalnie da się zapisać wartość 377 (FF w hex), co daje 2bity+3bity+3bity.
Czyli, żeby odczytać/zapisać wszystkie trzy cyfry trzeba rozdzielić Bajt na 3. Zrobiłem to tak, że odczytuję 2 bitową wartość w GR.15, następnie kopiuję cały Bajt do przetwarzania w nowe miejsce i w GR.8 przemieszczam trzy bity środkowej wartości (w lewo przy odczycie) i czyszczę dwa pozostałe bity (piksele).
33222111 -> 02220111 (wartości dla zobrazowania grup bitów, zera - skasowane bity po przesunięciu grupy oznaczonej 222)
Po takim przemieszczeniu mogę odczytać w GR.9 dwie połówki Bajtu, które podobnie jak przy hex, zawierają dwie w tym przypadku cyfry z przedziału 0-7 (0000-0111 binarnie).
Całą operację powtarzam w pętli dla każdej wartości - danych wejściowych i wyników działań logicznych.
Na koniec wyświetlam wszystko w oknie tekstowym GR.8 - zrzut okienka tekstowego w załączniku.
Ponieważ wartości oct dla danych wejściowych już się nie zmieściły, znajdują się pod nimi po prawej stronie ekranu.

Dla zapisu na początku dopisuję zera (gdy podany ciąg jest krótszy niż 3 cyfry), bity przesuwam w drugą stronę niż przy odczycie. Podobnie zmieniając tryby składam całość.

Przy tych operacjach ekran sporo miga, co być może wydłuża przeliczanie, można spróbować na ten czas wyłączyć ekran. Można też zrealizować to nieco inaczej - kopiując bity dla poszczególnych cyfr na nowe Bajty i odczytać je w GR.8 (bez zmiany trybów). Można sobie przy tym pomóc mnożeniem przez 0.5 czy 2 itd. lub przenosić bity przy pomocy LOCATE, PLOT, lub PRINT #6; (gdy odczytamy je do zmiennej).

109

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Gdyby się udało ustawić w jakiś sposób ile bitów ma odczytywać LOCATE/GET#6, to można by było konwertować na dowolny system w każdej rozdzielczości (w GR.0 chyba też?). Gdyby się jeszcze dało ustawić podobnie COLOR/PUT#6/PRINT#6...

Obecną metodą też można przeliczyć na (np.) oct (3 bity), trzeba tylko trochę pokombinować...

110

(23 odpowiedzi, napisanych Programowanie - 8 bit)

No i kolejna wersja z konwersją i wyświetlaniem danych/wyników również w hex (w sumie niewielkie zmiany do poprzedniej wersji). Zająłem się pisaniem i nie widziałem, że coś napisaliście po Blukim (fajne uproszczenie poprzez wrzucenie wag do danych). Teraz zerkam i ukrycie linii jak pisałem zrobiłem pod oknem tekstowym, ale wychodzi przy zmianie GRAPHICS. Później doczytam jak to jest u was... Tu wyniki są wyświetlane w kolejności tak jak mamy wybór: bin, hex, dec (pytanie jest jednocześnie opisem). W pierwszej kolumnie wyniki, w drugiej dane wejściowe.

100 DIM S$(1),H1$(2),H2$(2),HA$(2),HO$(2),HX$(2),A$(8),B$(8),OA$(8),OO$(8),OX$(8)
105 GRAPHICS 8:E=PEEK(88)+256*PEEK(89):AD=ADR(A$):YS=191:E=E+40*YS
110 ? "(B)IN, (H)EX, DEC ";:INPUT S$:ON (S$="B")*1+(S$="H")*2 GOTO 125,135
115 TRAP 115:? "0-255 (A) ";:INPUT IA:POKE E,IA
120 TRAP 120:? "0-255 (B) ";:INPUT IB:POKE E+1,IB:TRAP 0:GOTO 155
125 ? "0-11111111 (A) ";:INPUT A$:POKE E,0:POSITION 8-LEN(A$),YS:? #6;A$
130 ? "0-11111111 (B) ";:INPUT B$:POKE E+1,0:POSITION 8+8-LEN(B$),YS:? #6;B$:GOTO 155
135 ? "0-FF (A) ";:INPUT H1$:? "0-FF (B) ";:INPUT H2$
140 FOR X=7 TO 10:A=AD-X:B=PEEK(A):IF B>64 AND B<71 THEN POKE A,B-7
145 NEXT X:GRAPHICS 9+32:POKE E,0:POSITION 2-LEN(H1$),YS:? #6;H1$
150 POKE E+1,0:POSITION 2+2-LEN(H2$),YS:? #6;H2$:GRAPHICS 8+32
155 IA=PEEK(E):IB=PEEK(E+1):A$(8)="#":B$=A$:OA$=A$:OO$=A$:OX$=A$:H1$(2)="#":H2$=H1$:HA$=H1$:HO$=H1$:HX$=H1$
160 FOR X=0 TO 7
170 LOCATE X,YS,A:POKE AD+X,A+48:LOCATE X+8,YS,B:POKE AD+X+8,B+48
180 OA=A AND B:POKE AD+X+16,OA+48:REM COLOR OA:PLOT X+16,YS
190 OO=A OR B:POKE AD+X+24,OO+48:REM COLOR OO:PLOT X+24,YS
200 OX=OO AND  NOT OA:POKE AD+X+32,OX+48:REM COLOR OX:PLOT X+32,YS
210 NEXT X:POSITION 0+16,YS:? #6;OA$;OO$;OX$
215 GRAPHICS 9+32:FOR X=0 TO 9:LOCATE X,YS,A:POKE AD-10+X,A+48+(A>9)*7:NEXT X:GRAPHICS 8+32:? CHR$(125);
220 OA=PEEK(E+2):? "AND:";OA$;" ";HA$;" ";OA;CHR$(127);A$;" ";H1$;" ";IA
230 OO=PEEK(E+3):? "OR: ";OO$;" ";HO$;" ";OO;CHR$(127);B$;" ";H2$;" ";IB
240 OX=PEEK(E+4):? "XOR:";OX$;" ";HX$;" ";OX
250 GOTO 110

Edit: Forum zamienia duże "B" w nawiasie kwadratowym występujące w kodzie na małe "b", podobnie z "H"->"h", więc zmieniam nawias na okrągły - linia 110.

Edit2: Ukrywania danych za oknem tekstowym użyłem w mojej wersji Computer Inhabitant - tam w tym obszarze ukryte są dane animacji przedmiotów i elementów domu ;) Więc tu mi to od razu przyszło do głowy. Wybrałem linię 191, bo jest to ostatnia lina ekranu, gdzie bardziej prawdopodobne, że nic tam nie umieścimy, jeszcze lepiej byłoby przenieść dane na koniec tej linii. Można też przed konwersją zrobić backup tego co tam się znajduje, a po skończonym 'liczeniu' przywrócić.

Do DL pochodzę jak do jeża, ale być może ostatnią lub inną wybraną linię da się ukryć. Jeden minus, że pewnie trzeba będzie użyć kilku instrukcji assemblera, których unikamy w tej metodzie.

@Mono nie rozumiem, dlaczego najpierw robisz POKE, a na końcu po ustawieniu koloru, PEEK? OK, chyba rozumiem, to taki niepełny przykład abstrakcja - brakuje PLOTa :)
EXOR pierwotnie zrobiłem wg wzoru z Wikipedii, czy czegoś podobnego, jednak wydawał mi się zbyt długi i poszukałem krótszego :)
@Maw a czy próbowałeś zmienić GRAPHICS na NR+32, to znaczy z zachowaniem zawartości ekranu? Ja użyłem tego powyżej wraz z Twoim sposobem konwersji - do konwersji hex - zmiana na GR.9+32 4 bity na pixel, i z powrotem na GR.8+32 1 bit na pixel.

Edit3: Zastanawia mnie czy można użyć #6 do czegoś innego niż PRINT? Wpisanie INPUT #6,A$ powoduje dłuższe jakby zawieszenie i ERROR - 141? Czyżby dało się w ten sposób odczytać ciąg Bajtów? Spróbuję umieścić bajt 155 na ekranie i zobaczyć czy uda się odczytać kilka Bajtów... Gdyby to działało można by w ten sposób odczytać kilka zmiennych jednocześnie... i np. przekopiować dane...

Edit4: Działa GR. 8 i POS.X,Y:PUT#6,1-A:POS.X,Y:GET#6,A:?A;
PUT i GET zapala/gasi i odczytuje bit (piksel). W GR.8 nie ma chyba możliwości aby INPUT #6,A$ odczytało koniec linii?

Edit5: Wygląda na to, że INPUT #6,A$ czyta dane z całego ekranu od miejsca wskazanego przez POS.X,Y. Tylko jak ten odczyt zakończyć? Może gdyby ustawić TRAP i wtedy... no właśnie co? Niestety zmienna A$ pozostaje niezmieniona (obecne dane pozostają bez zmian). Nieważne też jak długa jest ta zmienna odczyt i tak dochodzi do końca ekranu.

111

(23 odpowiedzi, napisanych Programowanie - 8 bit)

130 DIM A$(8),B$(8),OA$(8),OO$(8),OX$(8):A$(8)="#":B$=A$:OA$=A$:OO$=A$:OX$=A$
140 GRAPHICS 8:E=PEEK(88)+256*PEEK(89):AD=ADR(A$)
150 TRAP 150:? "0-255,0-255 ";:INPUT IA,IB:POKE E,IA:POKE E+1,IB:TRAP 0
160 FOR X=0 TO 7
170 LOCATE X,0,A:POKE AD+X,A+48:LOCATE X+8,0,B:POKE AD+X+8,B+48
180 OA=A AND B:POKE AD+X+16,OA+48:REM COLOR OA:PLOT X+16,0
190 OO=A OR B:POKE AD+X+24,OO+48:REM COLOR OO:PLOT X+24,0
200 OX=OO AND  NOT OA:POKE AD+X+32,OX+48:REM COLOR OX:PLOT X+32,0
210 NEXT X:? CHR$(125);:POSITION 0+16,0:? #6;OA$;OO$;OX$
220 OA=PEEK(E+2):? "AND: ";OA$;"(";OA;")",A$;"(";IA;")"
230 OO=PEEK(E+3):? "OR:  ";OO$;"(";OO;")",B$;"(";IB;")"
240 OX=PEEK(E+4):? "EXOR:";OX$;"(";OX;")"
250 GOTO 150

MAW rozwaliłeś system :) Chyba ciężko będzie wymyślić coś lepszego w Basicu ;) To nie to rozwiązanie które widziałem, tamto było sprytnie 'liczone', a to nawet nie wymaga liczenia :) Najtrudniej wpaść na najprostsze rozwiązanie.

Wykorzystując to rozwiązanie napisałem krótki program w którym jest konwersja dec->bin (dla użytkownika) i bin->dec (wewnętrznie) i operacje AND, OR, XOR.

Pewnie nie wymaga to tłumaczenia, ale napiszę kilka zdań.

Wyniki są zapisane w zmiennych tekstowych (8bit) i liczbowych (byte). Nadal mamy tu pętlę, jednak nie musimy jej wykonywać jeżeli chcemy odczytać czy ustawić tylko wybrane bity (jak widać w oryginalnym programie).
Operacje wykonywane są na poszczególnych bitach i zapisywane przez POKE do zmiennych tekstowych umieszczonych ciągiem w pamięci (zapis przez COLOR i PLOT umieściłem zaremowany).
Gotowe zmienne tekstowe z ciągami binarnymi do konwersji na liczby dziesiętne są printowane przez "#6;" w całości, a ich wartości odczytywane są jak wyżej przez PEEK.

Przy użyciu tej metody zmieniając GRAPHICS na 9+32 można też konwertować z/na hex. Niestety nie mamy trybu 3 bitowego, więc z oct nie będzie chyba tak łatwo. Za to mamy tryby 2 bitowe, więc można konwertować na mało popularny system czwórkowy.

Myślę, że linijkę obrazu w której wstawiamy liczby do konwersji można spróbować ukryć w DL ustawiając "setcolor" aby kolory 0 i 1 się nie różniły, lub w przypadku GR.8 można tę linię umieścić pod oknem tekstowym.

100 DIM S$(1),HA$(2),HB$(2),A$(8),B$(8),OA$(8),OO$(8),OX$(8)
105 GRAPHICS 8:E=PEEK(88)+256*PEEK(89):AD=ADR(A$):YS=191:E=E+40*YS

110 ? "[b]IN, DEC, [h]EX ";:INPUT S$:ON (S$="B")*1+(S$="H")*2 GOTO 125,135

115 TRAP 115:? "0-255 (A) ";:INPUT IA:POKE E,IA
120 TRAP 120:? "0-255 (B) ";:INPUT IB:POKE E+1,IB:TRAP 0:GOTO 155

125 ? "0-11111111 (A) ";:INPUT A$:POKE E,0:POSITION 8-LEN(A$),YS:? #6;A$
130 ? "0-11111111 (B) ";:INPUT B$:POKE E+1,0:POSITION 8+8-LEN(B$),YS:? #6;B$:GOTO 155

135 ? "0-FF (A) ";:INPUT HA$:? "0-FF (B) ";:INPUT HB$
140 FOR X=1 TO 4:A=AD-X:B=PEEK(A):IF B>64 AND B<71 THEN POKE A,B-7
145 NEXT X:GRAPHICS 9+32:POKE E,0:POSITION 2-LEN(HA$),YS:? #6;HA$
150 POKE E+1,0:POSITION 2+2-LEN(HB$),YS:? #6;HB$:GRAPHICS 8+32

155 IA=PEEK(E):IB=PEEK(E+1):A$(8)="#":B$=A$:OA$=A$:OO$=A$:OX$=A$
160 FOR X=0 TO 7
170 LOCATE X,YS,A:POKE AD+X,A+48:LOCATE X+8,YS,B:POKE AD+X+8,B+48
180 OA=A AND B:POKE AD+X+16,OA+48:REM COLOR OA:PLOT X+16,YS
190 OO=A OR B:POKE AD+X+24,OO+48:REM COLOR OO:PLOT X+24,YS
200 OX=OO AND  NOT OA:POKE AD+X+32,OX+48:REM COLOR OX:PLOT X+32,YS
210 NEXT X:? CHR$(125);:POSITION 0+16,YS:? #6;OA$;OO$;OX$
220 OA=PEEK(E+2):? "AND: ";OA$;"(";OA;")",A$;"(";IA;")"
230 OO=PEEK(E+3):? "OR:  ";OO$;"(";OO;")",B$;"(";IB;")"
240 OX=PEEK(E+4):? "EXOR:";OX$;"(";OX;")"
250 GOTO 110

Edit2: Nowy listing wstawiam tu bo główny program jest praktycznie bez zmian.
Dodałem możliwość wpisania liczb w hex lub binarnie (obydwu). Linię z wartościami przesunąłem na dół ekranu - po wpisywaniu w hex jest widoczna podczas zmiany trybu graficznego (można na tę chwilę wyłączyć ekran).
Mimo, że wpisywane wartości w hex i bin teoretycznie są znane, to zostaną odczytane z ekranu, jest to zabezpieczenie w przypadku gdyż użytkownik wpisze krótki ciąg lub wstawi znaki spoza zakresu. Nieprzewidziane znaki zostaną skonwertowane przez Atari na "przypadkowe", ale poprawne wartości, i w takiej postaci zostaną odczytane.
Wyniki nie są wyświetlane w hex - wystarczyłoby zmienić tryb na 9+32, wykonać 10 x LOCATE i zmienić odczytane wartości na zapis hex (np. podobnie jak to zrobiłem przy konwersji hex->byte - aby uniknąć wielu IF-ów - przez POKE).

112

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Wersja całkowicie bez IF-ów:

5 READ QH
10 ? "0-255,0-255 ";:INPUT A,B
20 T=A*QH:A=INT(T):A0=SGN(T-A)
21 T=A*QH:A=INT(T):A1=SGN(T-A)
22 T=A*QH:A=INT(T):A2=SGN(T-A)
23 T=A*QH:A=INT(T):A3=SGN(T-A)
24 T=A*QH:A=INT(T):A4=SGN(T-A)
25 T=A*QH:A=INT(T):A5=SGN(T-A)
26 T=A*QH:A=INT(T):A6=SGN(T-A)
27 T=A*QH:A7=SGN(T-INT(T))
29 ? A7;A6;A5;A4;A3;A2;A1;A0
30 T=B*QH:B=INT(T):B0=SGN(T-B)
31 T=B*QH:B=INT(T):B1=SGN(T-B)
32 T=B*QH:B=INT(T):B2=SGN(T-B)
33 T=B*QH:B=INT(T):B3=SGN(T-B)
34 T=B*QH:B=INT(T):B4=SGN(T-B)
35 T=B*QH:B=INT(T):B5=SGN(T-B)
36 T=B*QH:B=INT(T):B6=SGN(T-B)
37 T=B*QH:B7=SGN(T-INT(T))
39 ? B7;B6;B5;B4;B3;B2;B1;B0
40 ? "-------- AND"
41 ? A7 AND B7;A6 AND B6;A5 AND B5;A4 AND B4;A3 AND B3;A2 AND B2;A1 AND B1;A0 AND B0
50 ? "-------- OR"
51 ? A7 OR B7;A6 OR B6;A5 OR B5;A4 OR B4;A3 OR B3;A2 OR B2;A1 OR B1;A0 OR B0
61 ? "-------- XOR"
62 ? (A7 OR B7) AND NOT (A7 AND B7);(A6 OR B6) AND NOT (A6 AND B6);
63 ? (A5 OR B5) AND NOT (A5 AND B5);(A4 OR B4) AND NOT (A4 AND B4);
64 ? (A3 OR B3) AND NOT (A3 AND B3);(A2 OR B2) AND NOT (A2 AND B2);
65 ? (A1 OR B1) AND NOT (A1 AND B1);(A0 OR B0) AND NOT (A0 AND B0)
90 ? :GOTO 10
99 DATA .5

Edit: Po dokładniejszym sprawdzeniu wychodzi na to, że moja wersja jest nieco wolniejsza od wersji Xxl-a. Sprawdzałem też jednak osobno niektóre składowe operacje i np. AND działa szybciej niż "*", więc jest jeszcze miejsce na optymalizację. Wydaje mi się, że gdzieś widziałem jeszcze inny sposób na te obliczenia, ale nie pamiętam szczegółów... teraz nic takiego nie znalazłem. Jak wyżej również tu występuje niejawna pętla - trzeba obliczyć poprzednie bity, aby obliczyć kolejny - tu tradycyjnie - czyli w odwrotnym kierunku niż u Xxl-a. Dodatkowo dopisałem OR i XOR. Edit2: krótsza wersja XOR - można jeszcze użyć wartości z AND i OR i nie "liczyć" ich ponownie przy XOR.

Miałem napisać jak przetestuję, ale czas mija, więc na razie podziękuję - dzięki Krótki!

Chyba już to pisałem, mówili, że *AJEK jako jedyny przygotował w pełni działającą wersję tej gry w turbo dla magnetofonu. Była to jedyna gra *AJEK-a jaką miałem na składance z tej serii, więc przypuszczam, że skopiowali tę grę z innej serii metodą kaseta-kaseta. Oczywiście mogli o innej / innych wersjach nie wiedzieć.

Być może nie wiedzieli, że istniała wersja dla normalu, być może nie wiedział / nie miał jej *AJEK, a może tę wersję byłoby łatwiej przenieść na turbo. Z drugiej strony może był ambitny i wolał przerobić lepszą wersję ;)

Miałem nadzieję, że na tych składankach pojawią się też inne gry tak przygotowane, ale niestety inne były pocięte i być może nawet jeżeli *AJEK coś takiego by przygotował / przygotował to na składanki w których już dane gry się pojawiły kolejnych wersji by nie nagrali. Może na innych typowo *AJEK-owych zestawach coś więcej takiego się pojawiło? Na jedynym zestawie w całości by *AJEK który mam wszystko jest jednoplikowe.

Może nieco precyzyjniej - Z wyborem dyscypliny to w wersjach które do tej pory uruchamiałem dyskietkowe i wersja Turbo - mają wybór dyscyplin na początku (zaznaczamy y/n), wersja kasetowa (normal) ma wszystkie dyscypliny włączone na stałe (jest lista, nie ma wyboru).

Wybór o którym pisałem w poprzednim wpisie dotyczy ekranu po ukończeniu każdej z dyscyplin, można wybrać (lewo - prawo) retry lub przejść do następnej w kolejności (wybranej) dyscypliny - dzięki raz jeszcze Seban.

Teraz mi przyszło do głowy, co będzie jak ostatnią wybraną dyscypliną nie będzie bobslej?

...Muszę sprawdzić...

Sprawdziłem jeszcze wersję z AtariManii. Kasetowa wersja dokładnie ta sama co na aol i niestety też niekompletna. Wersja dyskietkowa jest za to lepsza, nic się nie glitch-uje. Jedyny problem jaki zauważyłem (jest w każdej wersji) dotyczy cyfr wpisanych w imieniu, gdyż wygląda na to, że na nich zdefiniowana została grafika. Nie pamiętam, ale chyba nie wiedziałam, że można wybrać opcję retry / next event i do tego po każdej dyscyplinie :D. Gra po wybraniu "next event" kończy się komunikatem " INSERT SIDE 1 & HOLD OPTION TO REBOOT  ", wygląda więc, że komunikat był tam od początku. Ale skoro *AJEK coś tam dopisał, to raczej wiedział że się to pojawi, do tego zamienił SIDE na HEAD, czyli jak rozumiem chodzi o nagłówek całości. Ja akurat na emulatorze wczytałem Turbo KSO z "taśmy" więc po restarcie przywitał mnie Self Test. Przy okazji - z tego co zauważyłem oryginalnie (zakładam, że oryginalnie) jak gra nie znajdzie właściwej dyscypliny to albo się zawiesza (floppy). albo wychodzi do Basic-a (tape). W wersji Turbo też nie można się pomylić.

@Seban Przepraszam, że piszę dopiero teraz, patrząc na rzeczywistość trudno spokojnie zajmować się Atari. Paczkę ściągnąłem i przetestowałem prawie od razu jak je umieściłeś, przeczytałem też cały powyższy opis. Sam opis ogromny, a wynika z niego, że to "tylko" podsumowanie ogromnej pracy jaką włożyłeś w odzyskanie tej wersji gry. Wielkie Dzięki!!!

Grałem co prawda na emulatorze ale fajnie znowu zobaczyć znajome kolorowe paski :)

Dla porównania uruchomiłem tez wersje dyskietkowe i kasetową z aol. Zamieszczona tam kasetowa jest niestety niekompletna - prosi o trzecią stronę kasety, której nie ma. Widać jednak, że *AJEK bazował na wersji dyskietkowej - gdyż mamy możliwość wyboru dyscyplin. Wersje dyskietkowe podobnie, a nawet dużo gorzej mają popsutą grafikę. Także podejrzewam, że *AJEK skopiował przynajmniej niektóre błędy które ktoś popełnił przy przygotowaniu kopii. Co do zakończenia gry to nie udało mi się "wyjść" z bobseja - cały czas ta dyscyplina jest restartowana. Nie wiem więc jak zakończyć grę i doprowadzić do wyświetlenia komunikatu i "restartu" całej gry. Być może *AJEK też nie wiedział i uważał, że ten komunikat się nigdy nie wyświetli i nie był świadomy błędu który popełnił.

Także wygląda na to, że ta wersja którą przygotowałeś jest lepszą od dyskietkowych ;)

Co do *AJEK-a to czytając Twój opis zacząłem się zastanawiać czy wiadomo kto to jest, jednak widzę, że nie. Też się zastanawiałem, czy np. "*" oznacza jakąś "zagwiazdkowaną" literę, jednak jeżeli miałoby być to imię trzeba by było - tak jak to zrobiłeś - potraktować ten wpis jak anagram, np mógłby to być "JAcEK", czy tak jak wydedukowałeś "JAnEK". Ciekawe, gdyby go odnaleźć może zechciałby opowiedzieć swoją historię i jak to było z tymi loaderami...

Super, że udało się ten soft odnaleźć i zgrać, dzięki chłopaki!

Od siebie dołączam instrukcję uzupełnioną o polskie znaki, dodatkowo wersję bez łamania linii, do druku, edycji czy tłumaczenia. Dołączam też listę programów z pliku gry.obj. Spis obejmuje 714 tytułów, zapisanych na 60-ciu dyskietkach. Dyskietki numerowane są od 1 do 87, jednak część nie została skatalogowana - szczegóły w pliku. Załączona lista została ułożona wg numerów z oryginalnego wydruku, w drugim pliku wersja posortowana po numerach dyskietek.

Wcześniej wyciągałem pliki xex z plików cas nagranych z kaset nagranych tym softem, więc chciałbym porównać powyższy spis z listą zgranych plików, jak też sprawdzić czy da się odtworzyć pełną zawartość choć jednej dyskietki :) Oczywiście byłoby też fajnie gdyby udało się te "*oryginalne*" dyskietki odnaleźć :)

117

(61 odpowiedzi, napisanych Bałagan)

Kolejna wersja ArchiveTG:
- liczba teletekstów 79 (jak w poprzedniej niepublikowanej wersji),
- Antena3 (podobny do LaSexta) przeniesiony na koniec (łatwiej znaleźć i ewentualnie odznaczyć) - bardzo powolnie się ściąga,
- rtp, bht1 i federalna tv zmienione na https (dzięki temu znowu działają),
- program WYMAGA obecności curl.exe w swoim katalogu, odpowiednią wersję curl ściągamy stąd: https://curl.se/windows/ (w opisie dodany link),
- zwiększone wymagane miejsce (dla wszystkich teletekstów razem),
- sprawdzona lista - jeden z nieobsługiwanych teletekstów "infothuis" przestał działać (lista dostępna na pierwszym "ekranie").
Polecam zerknąć na tę listę - szczególnie ostatni teletekst może być obecnie ciekawy.

118

(5 odpowiedzi, napisanych Bałagan)

Wygląda na to, że komputery w takich obudowach ok. 1996-97 roku sprzedawało NTT:
https://starykomputerforum.piteusz.ovh/ … =100#p1629
https://allegrolokalnie.pl/oferta/kompu … mb-voodoo2

119

(5 odpowiedzi, napisanych Bałagan)

W "komplecie" jest też artykuł o wyciszaniu, są tam pojedyncze zdjęcia obudów.

120

(5 odpowiedzi, napisanych Bałagan)

Miałem przez chwilę inną obudowę z takimi wytłoczeniami na dole, ale nazwy nie pamiętam. Wiem, że kupowałem na Rostafińskich w Warszawie w jakiejś firmie (nie w sklepie). Pamiętam, że testy obudów były w magazynie Chip i stamtąd tę moją wybrałem. Gazet nie chce mi się wyciągać, ale wydaje mi się, że na płycie były zdjęcia i opisy, spróbuję wyszukać.

Edit:

W załączniku test obudów z Chip CD 12.2001.

Obudowa o której pisałem (Enlight) nie jest aż tak podobna do poszukiwanej jak mi się wydawało i z tego co widzę jest to późniejszy okres, ale może lista obudów się przyda, np. naprowadzi na producenta.

Wielkie Dzięki, obiecałem zgrać ponownie te pliki, ale niestety fizycznie do dziś nie miałem możliwości...

[Ponieważ w grach SingStar niektóre standardowe rekordy są praktycznie nie do pobicia, do 24 SingStar-ów, w tym "Wakacyjnej Imprezy", przygotowałem pliki, które zastąpią standardowe rekordy najniższymi: https://qtz.cwaboard.co.uk/ps2/cleared_ … r_games.7z

Moduł do mikrofonu jeżeli jest to najpopularniejszy "SingStar USB converter", to konwerter z dwóch wejść mikrofonowych (osobne wejścia mono na prawy i lewy kanał tworzące w sumie stereo) na USB. Prawy i lewy odpowiadają dwóm mikrofonom wykorzystywanym w grze. Konwertera można też używać z PC np. do gry UltraStar, czy do innych celów.]

Czyli wersja skompilowana jest tak naprawdę "wersją" tylko do odczytu.
@Takron27 Dzięki za instrukcję.

Wg instrukcji hasła miały być nowe.

[INSTRUKCJA]

SUPER FORTUNA EDYTOR

Autor: Jakub Husak
MIRAGE Software © 1994

WCZYTYWANIE.

Dysk: Włączyć stację dysków, włożyć dyskietkę i włączyć komputer.

Dyskietka zawiera 4 nowe zestawy haseł, które można umieścić na firmowej dyskietce postępując zgodnie z poniższą instrukcją.

Kaseta: Ustawić taśmę na początek sygnału pilotującego, wcisnąć PLAY, włączyć komputer przy wciśniętych START + OPTION i nacisnąć dowolny klawisz (oprócz BREAK).

Kaseta na stronie B zawiera 400 nowych haseł, którymi można się posługiwać analogicznie do tych ze strony B oryginalnej kasety z programem SUPER FORTUNA.

PRACA Z EDYTOREM.

Po wczytaniu Edytora ukazuje się MENU. Zawiera ono 7 opcji i dane o ilości wolnej pamięci oraz ilości wpisanych haseł. Ponadto w trybie edycji haseł pole NUMER HASŁA podaje nam numer hasła nad którym pracujemy.

Oto poszczególne opcje i ich działanie, numer przed nazwą oznacza naciśnięcie odpowiedniego klawisza:

1. ZMIANA KATEGORII — pozwala na zmianę kategorii hasła, wraz z opcją 6.

2. KATALOG DYSKU (tylko dla dyskietki) — podaje numery istniejących na dysku plików z hasłami (od 0 do 9).

SZUKANIE PLIKU (tylko dla kasety) — podaje numer pierwszego napotkanego pliku. Ponadto określa, czy jest to plik skompilowany, czy źródłowy (tzn. taki, który można zmieniać, edytować).

3. ODCZYT HASEŁ — funkcja pozwala odczytać uprzednio zapisany opcją 4 plik.

Podajemy w tym celu numer pliku (od 0 do 9) i potwierdzamy klawiszem "T", każdy inny klawisz powoduje rezygnację z tej opcji. Dla dyskietki — edytor sam odszuka plik, a jeśli nie ma takiego pliku to powiadomi nas o tym. Opcja 2 pozwala na dokładne obejrzenie zawartości dysku. Dla kasety — edytor zacznie szukać pliku o zadanym numerze. Podczas szukania pliku można operację przerwać naciskając klawisze START, SELECT, OPTION na raz. Do sprawdzenia numeru pliku służy opcja 2.

4. ZAPIS HASEŁ — pozwala na zapisanie efektu naszej pracy. Wskazane jest zapisywanie plików na oddzielnej kasecie (na dyskietce jest dużo miejsca, jednakże wzgląd bezpieczeństwa nakazuje używanie również oddzielnej dyskietki, sformatowanej w pojedynczej gęstości). W tym celu podajemy numer pliku.

DYSKIETKA: Jeżeli na dyskietce jest już plik o podanym numerze, to Edytor pyta się, czy kontynuować operację. "T" powoduje zapis pliku, każdy inny klawisz oznacza rezygnację.

Zbiory zapisane przez EDYTOR będą odczytywane przez program jako dane o jeden numer większe (np. 1 jako 2), gdyż numer 0 zarezerwowano jako stały zestaw wczytywany z programem.

KASETA: Wskazana jest szczególna ostrożność przy zapisie. Najlepiej poszczególne pliki zapisywać co około 2 minuty kasetowe, najdłuższy zbiór haseł zajmuje ok. 4 kilobajty, czyli minuta i kilkanaście sekund. Dwie minuty od początku kasety to około 40 obrotów. W ten sposób zapisując co 40 obrotów nowy zbiór łatwiejsze jest szukanie i zmieści się na kasecie C—60 minimum 10 plików na jednej stronie. Bardzo pomocna przy ustalaniu początku zapisu pliku zapisywanego powtórnie jest opcja 2, wcześniej opisana.

5. KOMPILACJA — przygotowanie zbioru do używania razem z programem SUPER FORTUNA, jako zbiór nowych haseł.

DYSKIETKA: Edytor pyta, który zestaw haseł podmienić na dyskietce systemowej, którą trzeba włożyć do stacji dysków. Kompilacja na inną dyskietkę jest niemożliwa. Niemożliwa jest również podmiana pierwszego zestawu haseł.

KASETA: Edytor pyta, jaki numer nadać zestawowi haseł. Po podaniu numeru prosi o potwierdzenie klawiszem "T", każdy inny klawisz powoduje rezygnację. Przy zapisie na kasetę można podmieniać pliki na kasecie, jednak na własną odpowiedzialność. Zasady zapisu jak w punkcie 4. Po wczytaniu się SUPER FORTUNY wkładamy kasetę z naszymi skompilowanymi zestawami, wybieramy numer i jeśli na kasecie jest zestaw o podanym numerze to zostanie on wczytany. Jeżeli nie, to niestety trzeba wczytać grę od nowa (gra oczekuje w pętli na podany numer). Prostym sposobem na to będzie posiadanie na kasecie wszystkich czterech, od 1 do numeru 4, skompilowanych opcją 4 zestawów haseł.

6. EDYCJA HASEŁ — po wybraniu tej opcji przechodzimy do właściwego edytora. Funkcje edytora:

Klawisze "+" "*" — poruszanie się po tablicy w lewo lub prawo.

Klawisze "—" "=" — zmiana numeru edytowanego hasła; poprzednie zostanie zapamiętane. Jeśli przejdziemy do ostatniego hasła, to pojawi się hasło puste gotowe do edycji. Dodatkowo przyciskając powyższe klawisze z klawiszem SHIFT numer hasła jest zmieniany co 10.

Klawisz DELETE BACK SPACE (na lewo od BREAK) powoduje wymazanie poprzedniej litery, cofnięcia kursora o 1 pole i wstawienia na byłe miejsce "ślepego" pola.

Klawisz SPACE powoduje wstawienie "ślepego" pola i przesunięcie kursora w prawo.

Klawisz 1 powoduje zmianę kategorii aktualnie edytowanego hasła.

Klawisz RETURN kończy edycję (umożliwia np. zapis zestawu haseł).

Dopisywanie do istniejącego pliku jest możliwe po ponownym wybraniu opcji 6.

W przypadku wątpliwości radzimy poeksperymentować.

7. ZEROWANIE PAMIĘCI — edytor zapyta, czy jesteśmy pewni swojego wyboru. Klawisz "T" kasuje cały zbiór haseł w pamięci; każdy inny powoduje rezygnację z tego desperackiego czynu.

UWAGI!

Jeżeli Edytor powiadamia nas, że nie ma już pamięci do przechowywania haseł i należy zapisać zbiór, TO NALEŻY TO WYKONAĆ. Polskie znaki wpisujemy z klawiszem SHIFT, np:

Ą — SHIFT + A, Ż — SHIFT + X,
Ź — SHIFT + Z, Ó — SHIFT + O, itd.

Niemożliwe jest wpisywanie jakichkolwiek innych znaków niż litery. Obsługa magnetofonu jest inteligentna, tzn. nie jest konieczne ustawienie taśmy dokładnie na początek wczytywanego pliku. Edytor sam znajdzie potrzebny plik choćby miał przeszukać całą kasetę, w samej grze obsługa jest podobna. Wystarczy, żeby pojawił się sygnał pilotujący przez 1 sekundę, a Edytor rozpozna plik. Wykorzystanie edytora pozwoli znacznie rozszerzyć możliwości znakomitej gry.

Autor i MIRAGE Software życzą miłej zabawy!

Program prawnie chroniony! Kopiowanie, rozpowszechnianie i wykorzystywanie w celach komercyjnych zabronione.

[OKŁADKA]

ATARI
SUPER FORTUNA EDYTOR

MIRAGE SOFTWARE

SUPER FORTUNA MIRAGE

SUPER FORTUNA © MCMXCIII by Mirage Software
Dystrybucja: AS Warszawa ul. Gen. Abrahama 4 tel. 125—123

[KASETA]

EDYTOR HASEŁ

[OCR by QTZ 2022]

[W załączniku wersja sformatowana oryginalnie]

Piguła nie może pisać teraz na forum, więc poprosił mnie o zamieszczenie następującej odpowiedzi:
Piguła: Interesują mnie każde wav'y nawet Retronix.

W swoim imieniu napiszę że mnie w pierwszej kolejności interesują wersje z lat '80-tych.
Szczególnie ciekawe jak widać są te, które zawierają wersje w turbo, ale to tak na marginesie.

W załączniku kartka - katalog z Mirage-a z wyprzedaży 1998.

Dziwnie znajomy ten tekst :) ...i literówka niestety ta sama :|
https://atarionline.pl/forum/comments.p … =1#Item_17 (text on-line)
https://atarionline.pl/forum/?PostBackA … entID=4891 (plik)
Nie skojarzyłem, że może chodzić o to 1T, choć samo 1T kojarzy się, że może chodzić o pierwszą wersję formatu, trzeba też pamiętać o wersji KSO 1.0 dla normalu (wcześniej sprawdzałem, że nie o nią chodzi).

Skąd wiedziałeś, że suma kontrolna w tym programie jest liczona przez XOR? Przeanalizowałeś kiedyś jego działanie? Spotkałeś się już z takimi plikami?

Jak pisałem mam zaległości w czytaniu, może już to opisałeś, jak się ma Turbo KSO (powstałe na bazie KSO) do innych systemów turbo? Czy jest to autorski system, co by wynikało również z tego tekstu, czy na nim bazowały inne czy może jednak odwrotnie?

Wracając do tych kaset to ciekawe jak to się stało, że użyli starej wersji Turbo KSO?

Co do kasety Gabi / Kuadryk, wydaje mi się, że druga strona wygląda lepiej. Postaram się zgrać tę kasetę raz jeszcze i zobaczę, czy jest tak samo.