451

(3 odpowiedzi, napisanych Programowanie - 8 bit)

Witam!
Od wczoraj katuję kompilator Deep Blue C. Wbrew temu, czego się obawiałem, implementacja nie jest _aż tak_ okrojona, żeby się nie dało pracować, a różnice w stosunku do oryginału (te nieszczęsne nawiasy) do przełknięcia. Biedna jest tylko dokumentacja; z Sieci nie udało mi się niczego ciekawego wygrzebać, a w załączonych demkach nie wszystkie konstrukcje są użyte.
Tak na pierwszy rzut oka, bardzo ciekawy język do najrozmaitszych zastosowań. W odróżnieniu od Basic-a pozwala na wygodne umieszczanie kodu maszynowego w treści programu, bez potrzeby przerzucania go np. na szóstą stronę. Gdyby jeszcze tylko w łańcuchach tekstowych można było używać kodów szesnastkowych...
Ciekawi mnie, dlaczego jest to język praktycznie zapomniany. Lepsze "branie" ma już Action!, nie mówiąc o takich językach jak Forth. Jakoś trudno mi uwierzyć, że nikt z kolegów nie pracuje w konwencji C, bo przecież teraz trudno znaleźć język do "poważnych" zastosowań, oparty na innej konwencji.
Czy ktoś z Was programował/-uje w DBC? Będę bardzo wdzięczny za wszelkie komentarze na temat tego języka.
Pozdrowienia

452

(35 odpowiedzi, napisanych Bałagan)

Skoro temat odkopany, to i ja coś dorzucę ;)
Było kiedyś takie demko z digitalizowaną muzyczką "your body, my body" (czy coś podobnego, prawdopodobnie jakiś standardzik disco ;) ). A do tego muzyczka z gry Burg Zarka (też standard, ale już nie pamiętam dokładnie co to było).

453

(20 odpowiedzi, napisanych Emulacja - 8bit)

Kaz: Jeszcze 10 lat temu, w epoce "przedneostradowej", Netykieta - mimo że nieformalna - była powszechnie przestrzegana, a osoby które ją łamały były wyrzucane na margines internetowej społeczności. Dużo łatwiej o to było, bo Internet nie był taki anonimowy jak teraz - a to kusi, żeby bezkarnie powieśniaczyć. Ech, łezka się w oku kręci.

Najwyraźniej pod względem wulgaryzmów moderatorzy A.A są dość tolerancyjni. Tak czy inaczej, bardziej dokuczliwe niż "alternatywne środki ekspresji" jest niepotrzebne czepialstwo jellonka, niewiele wnoszące do tematów, w których się wypowiada. Jellonek, jeżeli moja obecność na forum Cię denerwuje, postaraj się mnie po prostu ignorować.

To tyle z mojej strony, przepraszam za offtopa ;)

454

(20 odpowiedzi, napisanych Emulacja - 8bit)

ilr: Faktycznie, nazwa mnie zmyliła ;) Tak czy inaczej, Stella Koledze chodzi.

jellonek: Pod względem "dojebywania" to ja przy Tobie jestem liga trampkarzy...
PS. A do poduszki polecam lekturę Netykiety.

455

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

456

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

457

(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

458

(27 odpowiedzi, napisanych Fabryka - 8bit)

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

459

(27 odpowiedzi, napisanych Fabryka - 8bit)

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

460

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

461

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

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

462

(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ł.

463

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

464

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

465

(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?

466

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

467

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

468

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

469

(50 odpowiedzi, napisanych Emulacja - 8bit)

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

470

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

471

(50 odpowiedzi, napisanych Emulacja - 8bit)

jellonek napisał/a:

podmienianie libx11 jest dla mnie nieco nie pojete...

Hehe, Polak potrafi :D

472

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

473

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

474

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

475

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