651

(644 odpowiedzi, napisanych Programowanie - 8 bit)

Sprawdziłem $8B i $AB na UM6502I i działają mi identycznie (czyli A=X=A&imm).
Dodatkowo sprawdziłem $A3, bo mam wersję 64doc.txt twierdzącą, że to LAX (arg),y, ale okazało się, że to jednak LAX (arg,x) tak jak twierdzą wszyscy inni :)

652

(644 odpowiedzi, napisanych Programowanie - 8 bit)

Specjalnie długo nie szukałem, żeby znaleźć fragment z 3d rotation z codebase64:

!ifdef USE_ILLEGALS {
         arr #$00
} else {
         lda #$00
         ror
}

Co może implikować, że komodorowcy kompleksów może i nie maja, ale i nie jadą na bezczela.

Mój rozum mi podpowiada, że programowanie w asemblerze jest na tyle trudne, że uzależnianie działania programu od fazy księżyca nie jest roztropne. Zwrot "nieudokumentowane" jest pewnym eufemizmem, bo przecież nie są to rozkazy, które zostały celowo zaimplementowane i nieopisane (tak zrobiło Hitatchi w swoim 6309 implementując specyfikację 6809), tylko są to artefakty szalejących elektronów w niezdefiniowanej sytuacji, które przypadkowo w warunkach pokojowych robią coś użytecznego, ale nikt nie może dać na nie żadnej gwarancji. Dlatego sensowne wg mnie jest robienie takich ifdefów, za pomocą których wygenerujemy dwie (czy więcej) binarki i niech docelowy odbiorca zadecyduje którą chce używać. Pisanie programu z nielegalami (bo jestem hardkorem), nie dając użytkownikowi alternatywy jest trochę szczeniackie. Nie jestem siewcą defetyzmu, ale cokolwiek robimy, róbmy to z klasą.
Nie wiem ile w tym sensu, ale zastanawiam się nad przedsięwzięciem syntetycznego zbadania zdziałania nielegali. Za pomocą http://visual6502.org/ można by prześledzić co dokładnie dzieje się podczas wykonania takiego rozkazu, a może i nawet oszacować stabilność każdego z nich. Nie wiem tylko jak ma się ich 6502 do naszego 6502C i jak byłoby to trudne. Zresztą chłopaki już coś wstępnie zrobili.

653

(48 odpowiedzi, napisanych Bałagan)

Ja na allegro nigdy w życiu niczego nie sprzedałem, ale kupuję często i z mojego punktu widzenia automat do płatności to super sprawa, bo ogranicza mi do minimum niezbędne procedury. Kiedyś trzeba było przeklejać numery konta (jeszcze jak chodzi o pieniądze to jestem bardzo ostrożny i sprawdzam, czy się na pewno dobrze przekleiło ;) ), przeklejać nazwy firm, adresy, wpisywać kwoty, a co najgorsze każdy sprzedawca miał inny format tematu przelewu. Jeden chciał nicka, drugi numer aukcji, trzeci nic nie specyfikował i szukałem na stronach "o mnie" czy tam nie ma defaultowo jakichś wymagań, a jak nie znalazłem, to wymyślałem co tu napisać, żeby się na pewno zorientował, bo nie ma pewności, czy nie jest idiotą itd...
A teraz zapłata ogranicza się do 5 kliknięć + zalogowanie się na konto i wpisanie kodu SMS i zapominam o sprawie. I tak na prawdę nic mnie to nie obchodzi jak długo sprzedawca czeka na kasę itd, bo moją część zrobiłem w minutę i mogę zająć się innymi sprawami. I prawdę mówiąc, jakbym widział aukcję, w której sprzedawca nie akceptowałby teraz PayU, to kupiłbym u kogoś innego.

654

(50 odpowiedzi, napisanych Bałagan)

W przypadku gier przeważającym wg mnie argumentem przeciw temu rozwiązaniu mogłyby być istniejące powiązania pomiędzy bibliotekami. W Direct3D DirectCompute jest w naturalny sposób wpleciony w resztę potoku renderującego i chociażby żeby nie pisać specjalnych mechanizmów dbających o synchronizację i spójność danych łatwiej jest przeprowadzać obliczenia tak samo jak resztę renderowania właśnie za jego pomocą. Wydaje mi się, że podobnie jest w przypadku komba OpenGL + OpenCL. Ale przypuszczam, że C++AMP może wyprzeć CUDĘ, której targetem są właśnie takie obliczenia niezależne od grafiki, co w C++AMP robi się bardziej wprost.

655

(50 odpowiedzi, napisanych Bałagan)

Idea jest taka, aby dać relatywnie proste w obsłudze i generyczne narzędzie do "masywnych" obliczeń, bez uciekania się do explicite heterogenicznych rozwiązań typu Cuda, OpenCL itd. Zapotrzebowanie jak widać jest, skoro wspomniane rozwiązania całkiem nieźle się rozwijają (np jakaś wersja gimpa używa chyba OpenCLa). C++AMP ma robić to samo, tylko bardziej kompaktowo, ukrywając tę heterogeniczność za parawanem runtime'u, tak, aby programista nie musiał zaprzątać sobie tym głowy. Rozwiązanie jest na tyle przyjazne, że w ramach prezentacji do jednego komputera włożyli jedną kartę nVidii i jedną ATI i program enumerujący akceleratory po prostu podzielił po równo obliczenia pomiędzy obie karty i to po prostu działało.

656

(50 odpowiedzi, napisanych Bałagan)

Te wszystkie wrappery na dane mogą być onieśmielające, ale nie ma nic za darmo :)

657

(50 odpowiedzi, napisanych Bałagan)

Ms wypuścił speca C++AMP

658

(40 odpowiedzi, napisanych Bałagan)

A mnie zatrważa, że dzisiejsi studenci politechniczni nie potrafią pisać po polsku. Matura z polskiego to kpina: teraz standardem jest kupiona prezentacja, a do zdania części pisemnej wystarczy jako takie zrozumienie tekstu na pół strony. I jak ludzie mają się poprawnie wypowiadać, skoro nawet nie egzekwuje się na nich czytania lektur? Mój młodszy znajomy w liceum nie przeczytał żadnej lektury, a prezentację zrobiła mu matka w noc przed maturą, jak oświadczył, że nie ma. I poszedł taki na polibudę, ale nie chcę wyobrażać sobie jak będzie wyglądała jego praca inż/mgr.
Sam jestem ścisłowcem i w liceum marudziłem na polski, że po co mi to, ale teraz widzę, że jak człowiek nie liźnie literatury, to nie wychodzi poza mowę potoczną.

659

(112 odpowiedzi, napisanych Bałagan)

gepard napisał/a:

http://pclab.pl/news48558.html    no i pięknie k.u.r.w.a :/

w 63 poście już o tym wspominałem, ale tak jakoś zostałem wyśmiany...
Co jak co, ale jeśli chodzi o takie wpływy i taką kasę, to nic nie dzieje się przypadkiem.

660

(112 odpowiedzi, napisanych Bałagan)

Tak tak. I to, że lada dzień miał być odpalony legalny serwis mogący realnie konkurować z potentatami w branży, nie ma żadnego związku.

661

(112 odpowiedzi, napisanych Bałagan)

dely napisał/a:

Panowie, nie siejcie tu hipokryzji. Dobrze sobie zdajemy sprawę, że Megaupload (...) to jeden wielki warez (...). Z Megaupload akurat było bardzo łatwo pojechać, bo jego właściciel jest, delikatnie mówiąc, podejrzanym typkiem, ale i tak się dziwiłem czemu im tak długo się zeszło.

Warezownia warezownią, ale megaupload to nie jedyny serwis od Dotcoma i są całkiem mocne przesłanki dlaczego właśnie teraz go przymknięto.

662

(112 odpowiedzi, napisanych Bałagan)

No i nie tak po prostu ratyfikować, ale ratyfikować większością 2/3 głosów. PO+PSL tyle nie ma, a wątpię, żeby opozycja nie skorzystała z okazji żeby im dopiec, więc raczej możemy być spokojni.

663

(46 odpowiedzi, napisanych Bałagan)

No niby coś już się pojawiło: http://www.youtube.com/watch?v=lCC-YE_2yJs, ale na razie tylko Chiny. Notabene z filmiku widać, że ma trochę słabe kąty.
Swoją drogą DPI ma całkiem przyzwoite; sporo potrafią tych modulatorów upchać na cal (po jednym na każdy subpixel).

EDIT:
Wikipedia twierdzi, że technologia jest prostsza w produkcji niż LCD. No ciekawe.

664

(46 odpowiedzi, napisanych Bałagan)

Odkopuję, bo skusiłem się na  Pocketbook Pro 902. Czyli 9.7" 825 x 1200. Kontrast trochę mały (strona jest szara) i przy nawigacji po menu trochę brakuje dotyku. Cena wciąż duża, bo po wydaniu 1200 zł miałem kilka dni kaca, ale jestem zadowolony, bo jednak książeczki czyta się całkiem fajnie, trzeba tylko mieć lepsze oświetlenie niż w przypadku zwykłej książki.

Cóż, Mirasol się spóźnia (podobno urządzenia z nim mają być w połowie 2012), to i ceny spadać za bardzo nie chcą, ale podobno najprostsze modele można już za 400 zł kupić, tylko że 800 x 600 to nie dla mnie.

665

(6 odpowiedzi, napisanych Miejsca w sieci)

Mam badę na telefonie i mi odpowiada bo system jest stabilny i szybki (mój Wave ma bebechy Samsung Galaxy S - SAMOLED, PowerVR itd za mniej niż 1000 zł - i ostatnio testowałem, wytrzymał bez szaleństw 12 dni na jednym ładowaniu). Ale marketingowym win'em nie jest, bo jednak ludzie wolą Angry Birds i milion innych aplikacji, których nie potrzebują. Nie wiem czy połączenie z tym MeeGoo coś pomoże, bo efekty sieciowe faworyzują faworytów i ciężko się przebić z czymś nowym, gdy nie ma się wystarczająco dużej bazy oprogramowania

666

(6 odpowiedzi, napisanych Miejsca w sieci)

Ładnie pięgnie, ale gdzie jest kreska tej bady? Patrzę się dwie minuty i nie widzę.

667

(10,041 odpowiedzi, napisanych Bałagan)

Ludzie. Skąd wy bierzecie siłę na zaglądanie do tego wątku? Ja już wymiękłem dawno temu.

668

(50 odpowiedzi, napisanych Bałagan)

Nikt nie każe Ci pisać bibliotek. W C++ można pisać prosto i wg mnie nawet łatwiej niż w C. Śmieszy mnie np co ostatnio przeczytałem, że Torvalds stwierdził, że goto w C jest dobre, oczywiście wywiązała się kłótnia, ale po wielu sporach okazało się, że w takim kernelu goto używają do czyszczenia w przypadku błędów (goto clean; itd), co w C++ dzieje się automatycznie dzięki wyjątkom i destrukcji obiektów przy zwijaniu stosu. Ot twardogłowość starych wyjadaczy...

669

(50 odpowiedzi, napisanych Bałagan)

Adam Klobukowski napisał/a:

Eetam. zrównoleglanie powinno być robione na dwóch poziomach:
a) języka (zrównoleglanie pętli, itp)

Nie zgodzę się. Ingerencja w język naprawdę nie jest do tego potrzebna. parallel_for_each + lambda z "nowoczesnego C++" ;) załatwia sprawę.

Adam Klobukowski napisał/a:

b) projektu (podział procesów na wątki, itp)

Tu też. Jeśli nie piszemy systemu czasu rzeczywistego czy innych cudów, to program dzielimy na zadania. Wątki to zbyt niskopoziomowy koncept, żeby zawracać sobie nim głowę.

Adam Klobukowski napisał/a:

To wszystko w nowoczesnym C (+biblioteki) już jest. Języki które maja zrównoleglanie natywnie, raczej załatwiaja tylko a), a b) i tak trzeba realizować bibliotekami.

"Nowoczesne C++" ma wszystko co potrzeba do wygodnego zrównoleglania pętli i podziału programu na zadania na poziomie biblioteki bez ingerencji w język (ot przykładzik).

Adam Klobukowski napisał/a:

Co do GPU: to jest fajne, ale tu raczej się nie da tak łatwo żeby jeden program działał na CPU+GPU (jeden, tj. w formie jednego kodu źródłowego). Dlatego wydaje mi się że GPU zostanie jak zostanie - do specjalizowanych zastosowań (tj. np. głowny kod w C i dodatkowy w specjalistycznym języku na GPU).

A zajawkę C++AMP czytał? Kod C++ bez mrugnięcia przekłada się na GPU i runtime sam dba o "gory details". Oj coś nie nadążacie panowie...

jellonek napisał/a:

co do c - malo ekonomiczny jezyk, trudniejsze w opracowaniu unit testy, dluzszy cykl pisanie/kompilowanie/debugowanie niz w jezykach dynamicznych

Ale za to błędy wychodzą u programisty podczas kompilacji, a nie u użytkownika podczas wykonania ;)

jellonek napisał/a:

ktore dzieki tracing jit potrafia byc wydajniejsze niz statycznie optymalizowany kod gcc/msvc ;)

Nie ma jak porównywać hipotetyczne wyniki po wyciskaniu siódmych potów w optymalnej sytuacji z JITera do niechlujnie skompilowanego kodu w C/C++ i to pewnie na debugu ;)
Czytam to już n-ty raz i chyba pythonowców to jakoś super jara.
Ale szkoda że to "potrafi" być nieprawdą, skoro "statyczniaki" mają Profile-guided optimization... ;)

670

(50 odpowiedzi, napisanych Bałagan)

"Trochę" utopijny i jak to z utopiami bywa najpewniej skończy się na manifeście. Ale skoro już fantazjujemy, to ja proponuję http://chapel.cray.com. Ten przynajmniej już jest ;)

671

(50 odpowiedzi, napisanych Bałagan)

OpenMP jest potworkiem zaimportowanym z FORTRANa do zrównoleglania prostych pętli przy obliczeniach numerycznych. Jeśli jest się lowlevelowym hakerem i potrzebuje się tylko tego, to proszę bardzo. Nie rozszerza się to jednak specjalnie poza bardzo specyficzne przypadki masywnych obliczeń (które teraz już raczej powinno się robić na GPU np za pomocą C++AMP). Współcześnie powinno się raczej definiować oprogramowanie jako zbiór zadań powiązanych siecią zależności, które można rozwiązywać równolegle. Tylko takie podejście daje nadzieję na sensowną skalowalność na przyszłych maszynach. Cytat:

Herb Sutter napisał/a:

To continue enjoying the free lunch of shipping an application that runs well on today’s hardware and will just naturally run faster or better on tomorrow’s hardware, you need to write an app with lots of juicy latent parallelism expressed in a form that can be spread across a machine with a variable number of cores of different kinds – local and distributed cores, and big/small/specialized cores.

672

(50 odpowiedzi, napisanych Bałagan)

OpenMP to boczna ścieżka ewolucji. Taki neandertalczyk programowania wielowątkowego. Ja bym się od tego trzymał z daleka.

673

(87 odpowiedzi, napisanych Emulacja - 8bit)

Niestety ddraw.lib ani dinput.lib nie są dostępne bez instalowania archaicznych SDKów. Trochę pohakowałem i odpaliłem, ale pierwszy raz od nie pamiętam kiedy musiałem zresetować komputer - po (w sumie przypadkowym) włączeniu trybu 1024x768, full display, bo nie dało się nic zrobić. Aplikacja zamarła i zabijanie procesów nie pomagało. Te ustawienia naprawdę są niebezpiecznie i trzeba się ich pozbyć. Wg mnie w dzisiejszych czasach tryb full-screen powinien nie zmieniać rozdzielczości desktopu. Nie wspomnę, że odhaczenie GDI (a więc używanie ddraw) wyłącza mi aero pod win7.
Popatrzę się trochę na to i zastanowię jakie kosztowne byłoby całkowite wyrzucenie ddraw. Może da się zrobić to tanim kosztem, bo z tego co widzę, to cała magia sprowadza się do wyświetlenia bufora spod adresu Screen_atari.

674

(87 odpowiedzi, napisanych Emulacja - 8bit)

Spróbowałem przekompilować źródła u siebie, ale zobaczyłem, że projekt korzysta z ddraw.lib i dinput.lib i zapłakałem...

Te liby są tak deprecated, że aż usunięte z najnowszego (acz półtorarocznego) DXSDK.

Jakby co nie sieję defetyzmu, tylko sygnalizuję miejsca do potencjalnego odświeżenia.


Co do Thread Spawn vs Thread Pool, to Parallel Patterns Library zarządza wątkami lepiej, niż zwykły programista jest w stanie, więc o to bym się nie bał...

675

(87 odpowiedzi, napisanych Emulacja - 8bit)

Microsoft C++AMP zrobił na bazie swojego DX11. Nie ma żadnej przeszkody, aby ludzie od gcc zrobili swoją implementację na bazie OpenCL (mam nadzieje, że tak się stanie), wówczas C++AMP na GCC będzie wszędzie tam, gdzie jest OpenCL - nie wiem czy można być bardziej niezależnym od systemu.
A z tym krokiem obok, to masz rację. Niekiedy wdepną w g***, ale często wytyczają nowe ścieżki. Ten pomysł akurat wydaje mi się trafiony - programowanie masowo heterogeniczne ( i to niezależne od wendora sprzętu ) trafia pod strzechy.