451

(20 odpowiedzi, napisanych Emulacja - 8bit)

Cóż, jeżeli tak, to krótkie wyjaśnienie:
STella i hatari to są emulatory Atari ST(E)
atari800 to emulator "małych" Atari, czyli 65XE, 800XL itd. Jeżeli chcesz pograć w International Karate (akurat wczoraj grałem, rozłożyłem gościa w 100 rundach ;) ) czy Arkanoid, wybierz ten program, a do niego ROMy z rozszerzeniem .rom
Jeżeli chcesz się bawić na "dużym" Atari, musisz ściągnąć z Sieci ROM TOS-a (tosXXX.img). Tu już nie pomogę niestety.

452

(20 odpowiedzi, napisanych Emulacja - 8bit)

A poprawne ROMy znajdziesz tutaj. Pokombinuj, trochę tam tego jest do wyboru :)
Jeżeli emulator dalej będzie się burzył, spróbuj ROMów dołączonych do emulatora XFormer (znajdziesz w googlach).
Pozdrawiam i życzę powodzenia :)

453

(40 odpowiedzi, napisanych Bałagan)

UGH! to była moja pięta achillesowa. Ja się po prostu nie nadaję na taksówkarza, zwłaszcza jaskiniowego ;)
Natomiast z pewnością zapomniałem o kultowej grze Prince of Persia i mojej ulubionej swego czasu - Bio Menace. Niby zwykłe zabijanie: kałach albo granat, a jak wciąga :D

454

(27 odpowiedzi, napisanych Fabryka - 8bit)

5/92 :) Trochę mniej dogłębny niż w De Re, ale na końcu artykułu jest bibliografia.

455

(27 odpowiedzi, napisanych Fabryka - 8bit)

A propos stokenizowanego zapisu Basica: De Re Atari - 10 rozdział

456

(40 odpowiedzi, napisanych Bałagan)

Skoro temat odkopany, to odpowiem - na poważnie :)
Jak dla mnie, atarowską giercowatość ("miodność" się to kiedyś nazywało) miała większość gier na peceta z czasów AT - a były to głównie platformówki. Blues Brothers, Jazz Jackrabbit, Prehistorik, Halloween Harry, Commander Keen i tak dalej... Większości tytułów nie pamiętam.
O Duke'u nawet nie wspominam; ta gra nie miała ducha, ona miała wielgachne DUSZYSKO :)

457

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

Hmm... czyżby chodziło Ci o M.U.L.E.? :)
Pozdrawiam

458

(50 odpowiedzi, napisanych Emulacja - 8bit)

jellonek: Cóż, znaczy że bardzo wrażliwy jesteś, skoro "takie teksty" Cię bolą...
Adam pewnie sam odpowie, o co mu chodziło. Jeżeli o standard drag&drop, to nie całkiem na temat odpisał.

459

(0 odpowiedzi, napisanych Fabryka - 8bit)

Witam
Chciałbym zaprezentować mój drugi "atarowski" projekt związany z PHP, tym razem nieco większy niż kolorowanie składni.
Zainspirowany przykładem dely'a w innym wątku postanowiłem napisać bibliotekę dla PHP, pozwalającą na tworzenie kodu 6502 w tym języku. Nie jest to absolutnie żadne "PHP dla Atari", choćby ze względu na ograniczenia - o czym później.
Uprzedzając pytania: "a po cholerę takie coś?", odpowiem: a choćby po to. Informacje są oczywiście pobierane dynamicznie z Internetu - czy Atarynka coś takiego potrafi? ;) Źródło programu wygląda tak:

<?php
    // do zamiany z UTF-8 na "bez pl"
    $encje = array('ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ż', 'ź',
                'Ą', 'Ć', 'Ę', 'Ł', 'Ń', 'Ó', 'Ś', 'Ż', 'Ź');
    $litery = array('a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z',
                'A', 'C', 'E', 'L', 'N', 'O', 'S', 'Z', 'Z');

    require_once 'AtP.php';
    $At = new AtP;
    
    $At->_kolor(20);
    $At->Poke(0x02c8,20);
    
    $tekst = $At->inwersja("http://atari8.info");
    $At->PrintE($tekst);
        
    // pobiera wiadomości z atari8.info
    $plik = file_get_contents("http://atari8.info/");
    $plik = str_replace($encje,$litery,$plik);
    $plik = str_replace("\n",'',$plik);
    preg_match_all('/<a name="news(.*?)<tr>/',$plik,$wynik);
    
    $i = 0;
    foreach($wynik[0] as $news)
    {
        $i++;
        if($i>3) break;
        $tekst = preg_replace('/<(.*?)>/','',$news);
        $At->PrintE($tekst);
    }
        
    $At->_getchar();
    $At->_outchar(125);
    $At->jmp_(0x000a);
    $At->run();
?>

Użyte nazwy poleceń są tymczasowe, liczę na konstruktywne opinie odnośnie nazewnictwa: Action! czy może Basic?
W mojej bibliotece użyłem typu MIME application/atari. Prawdopodobnie większość z Was ma przypisany typ application/atari800win, dlatego pisząc program można to zmienić według własnego uznania (wywołując konstruktor obiektu z dodatkowym parametrem).

Tak samo jak w przypadku łączenia kodu PHP z Javascriptem, trzeba pamiętać że jedno wykonuje się po stronie serwera przed uruchomieniem programu, a drugie po stronie klienta, interaktywnie, w trakcie działania programu. Dlatego jeżeli zapiszemy uzyskany kod, to oczywiście niusy nie będą się automatycznie uaktualniać po kolejnych uruchomieniach.
Brakuje na razie możliwości uzyskania odpowiedzi zwrotnej od emulatora. Tutaj można by zastosować coś a la atarowski Ajax, przekazując informacje do jakiegoś urządzenia (może "R:"?) podpiętego "na zewnątrz" pod wysłanie żądania HTTP.

Na koniec chciałbym spytać, czy Waszym zdaniem taki pomysł ma w ogóle sens. Jeżeli projekt nie będzie miał "brania", to umrze śmiercią naturalną, choćby z braku rozwoju.
Pozdrawiam

PS. W zaprezentowanym kodzie tablica $encje powinna zawierać znaki w formacie &#xxx; tylko forum "poprawiło" ;)

460

(27 odpowiedzi, napisanych Fabryka - 8bit)

xxl: Tak, istotnie, zrobiłem to w najprostszy sposób, tzn. wczytuję plik do zmiennej tekstowej i za pomocą wyrażeń regularnych wydłubuję słowa kluczowe z zastrzeżeniem pewnych warunków. Przyznaję, że trochę utknąłem na warunku wyciągającym tylko słowa _poza_ cudzysłowami - może ktoś zna wyrażenia regularne Perla?
Czytanie/zapisywanie stokenizowanego Basica to świetny pomysł, ale: 1) trochę się mija z celem mojego skrypciku, 2) na razie skupiłem się na większym, dużo ciekawszym i chyba pożyteczniejszym projekcie, którym się pochwalę może w ten weekend :)

461

(50 odpowiedzi, napisanych Emulacja - 8bit)

jellonek: Czepiasz się. Chyba tylko żeby się poczepiać, bo doskonale wiesz o co mi chodzi :P
Adam: Tak z ciekawości spytam - i co wygrało?

462

(50 odpowiedzi, napisanych Emulacja - 8bit)

niby z jakimi programami mialo by nie dzialac drag&drop?

Jak miałem "KDE na Gnomie", to były numery jak się chciało np. z pulpitu do niektórych programów plik przeciągnąć. Dlatego właśnie mówię, że błędem było nieustalenie standardu "popularnego" WM. Wiem że to przeczy niby zasadzie otwartości, ale przecież standardem w Linuksach jest np. sendmail i nikt się nie pluje, że dyskryminacja innych, lepszych serwerów.
Gdyby kiedyś, dawno temu, ustalono jeden standard, można by skupić siły na ulepszaniu *jednego* WM i nie byłoby problemów z niekompatybilnością. I nie mówię tu o "standardzie wszystkiego", tylko o ustaleniu jednego wiodącego WM dla wybranej dystrybucji Lina.

463

(50 odpowiedzi, napisanych Emulacja - 8bit)

jellonek: Tak, ale ja używam edytora Kate, KDEsvn i paru innych "kde'owskich" programów. Poza tym, że i tak bym musiał dodatkowe biblioteki instalować, to jeszcze nie mam pewności, czy drag&drop by mi działało z tymi programami. Poza tym niedługo Ubuntu prześcignie Debiana pod względem zawartości repozytoriów, a to też jest atut...

464

(50 odpowiedzi, napisanych Emulacja - 8bit)

Owszem, ale wystarczy zainstalować jeden "obcy" program, np. Rhythmbox pod KDE, i już masz tonę bibliotek Gnome'a. A nie da się korzystać tylko i wyłącznie z programów pod "swojego" window managera. I tak to się zaczyna :)
A przerabiania Ubuntu<->Kubuntu nie polecam, chyba że ktoś zna się na rzeczy. Po przesiadce z Gnome'a na KDE miałem straszną kaszę na ekranie: ikonki od jednego WM, okienka od drugiego, część interfejsu się w ogóle wykrzaczyła... Stąd to Kubuntu obecnie :)

465

(50 odpowiedzi, napisanych Emulacja - 8bit)

Adam: Kubuntu dokładnie, zainstalowałem bo korzystam z kilku programów pod KDE.

466

(50 odpowiedzi, napisanych Emulacja - 8bit)

Jeżeli pytasz, w jakim celu podmieniłem RTL-a libx11, to odpowiedź brzmi: program skompilowany z użyciem biblioteki w innej wersji nie będzie działał z inną wersją RTL-a, o ile nie zostanie wyłączona kontrola wersji (nie ryzykowałbym).
Jeszcze raz powtórzę: Linux mnie przytłacza - ostatnio doliczyłem się trzech (!) miejsc, w których przechowywana jest lista typów MIME. Ten system jest jak dla mnie za duży; standardowa instalacja wrzuca na dysk dziesiątki zdublowanych programów, tzw. "ustawienia systemowe" są różne dla KDE i Gnome'a itp. itd. A mówię o dystrybucji Ubuntu - "dlia liudzi" :)
Nie mówię bynajmniej, że winda może stawać w szranki z Pingwinem. Ale jednak czasami przychodzi mi do głowy nostalgiczna myśl o XP - kurcze, tam by przynajmniej joy działał ;)
To tyle offtopowych zwierzeń ;)

467

(50 odpowiedzi, napisanych Emulacja - 8bit)

jellonek napisał/a:

podmienianie libx11 jest dla mnie nieco nie pojete...

Hehe, Polak potrafi :D

468

(50 odpowiedzi, napisanych Emulacja - 8bit)

Tak, ale gotowy program wymaga RTL-i w tej samej wersji. I tu zaczyna się kupa... Bo jak próbowałem "na lewo" podmienić libx11, to nagle przestały działać programy ;)
Generalnie ja się za bardzo boję grzebać w bebechach Linux'a, żeby móc w nim robić poważniejsze rzeczy. To znaczy poważniejsze hacki ;)

469

(50 odpowiedzi, napisanych Emulacja - 8bit)

Ależ ja mam libsdl1.2-dev :) Tylko że atari800 2.0.3 jest skompilowane właśnie z tą wersją, a z tego co pisze danos, wynika że _starsza_ wersja SDL działa prawidłowo. Zabawa z nowszymi/starszymi wersjami bibliotek w Linuchu jest naprawdę niebezpieczna, a ja używam kompa do pracy - nie chcę poświęcić nocy na naprawę systemu. Wniosek z tego taki, że najlepiej mieć osobny, tani komputer pod emulca. Taki sprzęt można skonfigurować tak, żeby mieć Atari PC :)

470

(50 odpowiedzi, napisanych Emulacja - 8bit)

Dzięki za pomoc, danos. Niestety, mnie ograniczają zależności między pakietami w Ubuntu. Cudem udało mi się "nielegalnie" zainstalować SDL 1.2.13, o mało co nie wysypując systemu ;)

471

(27 odpowiedzi, napisanych Fabryka - 8bit)

Lizard: cholera, ja cały czas żyłem w przeświadczeniu, że uniksowy newline ma kod $13 :D
Dzięki za sugestię, faktycznie zmienne też można "powiększyć", to nie C ;)

472

(27 odpowiedzi, napisanych Fabryka - 8bit)

Do tego co napisał maw, dodam jeszcze dwa naprawdę króciutkie skrypciki w Perlu:
- ten zamienia atarowskie znaki końca linii na linuksowy $13 (można zmienić na windowsowy CR/LF, zamieniając \n na \n\r):

#!/usr/bin/perl
while(<ARGV>){s/\x9b/\n/g;print;}

- a ten odwrotnie:

#!/usr/bin/perl
while(<ARGV>){s/\n/\x9b/;print;}

W Basicu wymiana plików z pecetem odbywa się oczywiście poprzez LIST/ENTER. Action! też zapisuje swoje pliki w formacie ATASCII.

473

(50 odpowiedzi, napisanych Emulacja - 8bit)

Dzięki, danos. Niestety od wersji 2.0.1 chyba została przemapowana klawiatura, bo u mnie kursor przesuwa się za pomocą strzałek. Kombinacje z Atari (czyli te o których wspomniałeś) są martwe - wyświetla się po prostu odpowiedni znak. Co ciekawe, Shift+Ctrl+Z daje taki efekt jak Ctrl-Z, natomiast Shift+Ctrl+= taki jak Shift+=. WTF?
Nie wspomniałeś, czy sprawdzałeś na wersji SDL, czy X11 albo SVGAlib. To jest różnica :)
Pozdrawiam

PS. To chyba nie problem z blokowaniem przez KDE, bo wirtualna klawiatura daje taki sam efekt. Znaczy że prawidłowe kody są przesyłane do emulatora i....
PS2. Znalazłem pośrednie rozwiązanie: emulator Atari++ pod win (wersja linuksowa się nie chciała kompilować z moimi bibliotekami), uruchamiany pod wine oczywiście. Program może nie jest jakiś super, do gier się nie nadaje, za to w Action! DZIAŁA CTRL+SHIFT :D Nie mówiąc o tym, że Capslock działa :) Teraz będę spokojnie czekał, aż uda się znaleźć rozwiązanie problemu pod Atari800...

474

(50 odpowiedzi, napisanych Emulacja - 8bit)

ilr: 2.0.3 już mam, działa tak samo. Co do problemu emulatora, to miałem na myśli dziwne działanie Capslocka. Skoro klawisz działa, to wina musi być gdzieś po stronie emula. Mea culpa, że poruszam w jednym wątku w zasadzie dwie sprawy - Caps to jedno, Shift+Ctrl drugie. I to drugie to na pewno wina systemu (SDL, KDE, cholera wi?). Przy tym to drugie jest dla mnie ważniejsze :)

475

(27 odpowiedzi, napisanych Fabryka - 8bit)

Kaz: Na razie nie, ale to jest kwestia zamiany jednego arraya. O ile oczywiście TB XL ma podobne reguły składniowe jak jego starszy brat :)

Zenon/Dial: Dzięki bogom za edytor Kate ;) Gdyby nie kolorowanie składni w PHP/Perlu, to zapłakałbym się chyba szukając pierwszego lepszego buga. Druga sprawa to prezentacja kodu - na przykład na forum. Forum php.pl ma kolorowanie kodu w postach dzięki wbudowanej w PHP funkcji highlight_string().