A jest jakaś nowsza wersja niż te 1.1.5?

franny 1.1.5 pod winde

OIDP na domowym kompie mam jeszcze działającą pod windą franię. Jeżeli to będzie wciąż aktualne, to podrzucę.

779

(5 odpowiedzi, napisanych Bałagan)

A właściwie Biliński na koncertach grywa jeszcze swoje stare szlagiery z lat 80-tych czy tylko nowe kompozycje, bo przyznam, że najnowszych dokonań słuchać nie potrafię...

780

(53 odpowiedzi, napisanych Bałagan)

Loki::SmartPtr jest trochę zbyt przerośnięty (Alexandrescu przesadził ze strategiamie (policies); w Singletonie to jest przydatne, ale wskaźnik jest zbyt kompaktowy, żeby go aż tak konfigurować). Boostowe są bardzo dobre (zresztą boost to niezbędnik każdego C++sowca :)). Ich specyfikacja przeszła do std::tr1 i np visual C++ 10 ma już ich rewelacyjne implementacje (przesiedliśmy się ostatnio w pracy na nowego visuala, robiłem testy i wyszły nadspodziewanie dobrze).

781

(53 odpowiedzi, napisanych Bałagan)

D:
Nie odważyłbym rozpoczynać dużego projektu w tym języku. Jest zbyt młody i zbyt mało powszechny (tylko trzy implementacje). Póki co wśród niezarządzanych języków nie widzę alternatywy do C++.

GC:
To półśrodek. Zarządza tylko pamięcią ignorując inne zasoby, o które trzeba dbać innymi mniej lub bardziej prymitywnymi metodami. Biblioteka standardowa C++ udostępnia zaś cały arsenał sprytnych wskaźników, które wystarczy tylko stosować, aby zapomnieć o wyciekach wszelkich zasobów.

782

(53 odpowiedzi, napisanych Bałagan)

Pierwsze kompilatory C++ kompilowały się do C. Składnia Objective-C też jest tylko lukrem. Ale nie o to chodzi. Obiektowo możesz programować i w asemblerze co wielokrotnie udowadniano. Najistotniejszą cechą języków wspomagających obiektowość jest wbudowanie pojęcia obiektu w strukturę języka, co pozwala na wczesne wykrywanie błędów.
W sprawie GC osobiście uważam, że błędem jest zabranie programiście władzy nad żywotnością jego obiektów i wbudowanie szemranych, niedeterministycznych mechanizmów w sam język. Wg mnie wzorcem w tej mierze jest C++, w którym zasobami można zarządzać jak komu się żywnie podoba od ręcznego wołania delete, poprzez automatykę bazującą na RAII, aż po GC implementowane bibliotecznie.

783

(53 odpowiedzi, napisanych Bałagan)

No to i ja dorzucę swoje trzy grosze.

Programy pisze się dla ludzi. Maszynie jest wszystko jedno. To człowiek musi rozumieć program, aby móc go zmienić, gdy przestanie spełniać oczekiwania.

BASIC jakiego znamy z 8-bitowców jest językiem niestrukturalnym. Jest idealny do pierwszych kroków, ale nie wymusza, ani nawet  nie wspomaga struktury, przez co rozumienie programu jest bardzo trudne i modyfikowanie kosztowne. Nie mamy ani klarownego przypływu sterowania ani porządku w danych.

Języki strukturalne wspomagają strukturę wymuszając jasny przepływ sterowania, ale niestety o dane dbają tak samo, jak BASIC o sterowanie, czyli wcale. Większość energii zespołu jest pochłaniana na ręczne zarządzanie zasobami, ostrożną komunikację pomiędzy modułami i szukanie błędów kto komu nadepnął na stopę, a kto o czym zapomniał.

Języki obiektowe zaś chronią dane i w poprawnym projekcie to kompilator powie ci, że czegoś ci nie wolno (bo dobierasz się do cudzego obiektu i nie za bardzo wiesz jak, bo kolega nie napisał dokumentacji) i to kompilator automatycznie zwolni zasób, gdy nie jest ci już potrzebny. To nie moda. To odciążenie.

Języki deklaratywne są najbardziej wyrafinowane, bo w nich określamy tylko co mamy osiągnąć, a już sama maszyna dba o to, aby nam to dostarczyć, dlatego są najczęściej destynowane do specyficznych zastosowań (jak SQL czy HTML).

Inne paradygmaty jak języki funkcyjne czy logiczne (Prolog nie jest funkcyjny) mają wąskie zastosowania w rozwiązywaniu nietuzinkowych problemów wyuzdanymi algorytmami. Zastosowań mają mało, ale w tym, co robią, są diabelnie dobre.

Gdybyśmy wszyscy byli supermenami, to nie musiałoby powstać nic wyższego niż asembler. Człowiek jednak jest ułomny, a programy nieuchronnie błędne i musimy sobie pomagać, jak tylko potrafimy automatyzując co tylko się da, tak, aby jak najbardziej skupiać się na istocie problemu, a nie na technikaliach jego implementacji.

784

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

Nie wiem, czy PW działa, bo pisałem już do Konopa, ale nie odpisał, no to piszę tu.
Otóż mam wstępną emulację weroniki. Prymitywne testy napisane przeze mnie działają. Prosiłbym o jakieś inne.

785

(32 odpowiedzi, napisanych Bałagan)

Jacques: Ja nie ryzykowałem i nie podpinałem swojego głównego konta. Podpiąłem specjalnie założony do tego drugi rachunek, na którym jest tylko tyle kasy ile trzeba.

786

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

Ktoś zainteresowany emulacją Weroniki w Atari++ 1.51?
Jestem w stanie zaemulować 65c816 z prędkością 0 - około 32 MHz. Do 16 MB RAM.

787

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

Kilki rzeczy nie rozumiem...

Z tym przełączaniem banków jest tak jakie były pierwotne założenia? Przełączany obszar ($8000-$BFFF od strony atari) jest zdublowany i jeśli  RAMBANK_CFG == 0 to atari widzi wersję A, a kartridż wersję B, a w przeciwnym razie odwrotnie?
Jak działa te wstrzymanie procesora po włączeniu zasilania? Linia HALT? I po resecie jest zwalniana i już nigdy wstrzymywanie nie występuje aż do wyłączenia zasilania?
A jak działa RESET? Trzeba ustawić VER_CPU_RESET_PULSE_HIGH, po czym VER_CPU_RESET_PULSE_LOW i w tedy procesor startuje?

788

(26 odpowiedzi, napisanych Bałagan)

Kurna. Pomysł w dechę!

789

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

Ja też! Ja też!

790

(100 odpowiedzi, napisanych Fabryka - 8bit)

Ale trzeba zachować umiar. Co prawda można przeznaczyć całą pamięć na kombinacje kształtów, ale za wiele to jej jednak nie ma.

791

(100 odpowiedzi, napisanych Fabryka - 8bit)

Pecus ma dobrą myśl z tymi sprajtami. Asteroidy faktycznie się nie obracają, co bardzo upraszcza sprawę! Można pójść nawet odrobinę dalej: mieć zoptymalizowany kod na rysowanie każdego asteroida: sekwencja LDA # ORA (),y STA (),y + przesunięcia wskaźnika oraz zoptymalizowany kod na... mazanie danego asteroida. Statek można rysować klasycznie albo też mieć kilka zanimowanych klatek. To ma szanse na wyrobienie się w ramce-dwóch.

No i jak już mówimy o dopałkach, to wersja VBXE może mieć w swojej pamięć prerenderowane wszystkie elementy gry i w-OR-owywać je blitterem - wtedy na 100% zmieści się w jednej ramce. Mało tego - aby lepiej odwzorować oryginał o "nieskończenie wielkiej" rozdzielczości można użyć trybu 640x200 albo nawet 640x400 jak ktoś lubi migotanie :)

Można też pokusić się o wersję na 65c816, w której zoptymalizowana sekwencja rysująca może korzystać z fajnych szybkich trybów adresowania.

Potencjał jest całkiem spory.

792

(8 odpowiedzi, napisanych Bałagan)

Jak cart jest zafoliowany, to skąd wiesz, że to nie fałszywka? Przecież nie odpalisz ;)

793

(49 odpowiedzi, napisanych Programowanie - 8 bit)

A skąd akurat 15? ANTIC potrafi haltować CPU na o wieeele dłużej (np. w pierwszej linii wiersza tekstowego na całą jego szerokość).

794

(108 odpowiedzi, napisanych Programowanie - 8 bit)

Kodu nie puściłem, bo żeby w ogóle uruchomić FAILa pod Visual C++ musiałem go istotnie zmodyfikować - visual nie lubi dużych tablic na stosie (co imho nie jest dobrą praktyką), używanie dynamiczniej pamięci rozwiązałoby problem. W rezultacie po moich zmianach wyszedł kod nie nadający się do publikacji. Problem zresztą nie istnieje, bo plugina i tak pewnie nikt nie używa i nie miałem motywacji zrobienia tego ładniej  ;)

Problemy wydajnościowe w .NET mam przez pochopne decyzje projektowe - liczniki POKEYa emuluję zbyt dosłownie. Nie jest to coś, czego nie da się zoptymalizować, więc nie twierdzę, że nie da się zrobić szybkiego emulatora atari w .NET.

795

(108 odpowiedzi, napisanych Programowanie - 8 bit)

No to właśnie mam zaczętego w SilverLight (stopień zaawansowania jest taki, że uruchamia się na nim SELF TEST), tylko że jest strasznie wolny i wymaga przeprojektowania kilku rzeczy, bo byłem zbyt optymistyczny co do jego wydajności ;)

796

(108 odpowiedzi, napisanych Programowanie - 8 bit)

Straciłem zapał i zrobiłem sobie przerwę (oczywiście żeby wrócić z nowymi siłami ;) ). Zresztą Altirra jest za dobra, żeby robić inne emulatory. W kwestii VBXE też (dlatego nie bedę już rozwijał patcha Atari++). Jak coś będę kontynuował, to emulator w Silverlight, żeby mieć emulację w przeglądarce. Już coś nawet mi działa, mam tylko problemy z wydajnością (.NET).

797

(108 odpowiedzi, napisanych Programowanie - 8 bit)

No i tak to już jest. Napisałem VBXE. Zaimplementowałem interlace Rybagsa. I paczkę ściągnęło przez pół roku tylko 30 osób...

798

(219 odpowiedzi, napisanych Zloty)

A ja daleko, ale brzmi interesująco. Może przekonam połowicę na zlot pod pozorem zwiedzania Krakowa ;)

799

(49 odpowiedzi, napisanych Programowanie - 8 bit)

Ja niczego o takim dogadaniu nie wiem. Pasiu raczej nie ma czasu, bo nawet trudno się z nim skontaktować i pewnie ochota na inwestowanie w to energii też mu odeszła. Miast czekać proponuję szukać innego rozwiązania.

800

(49 odpowiedzi, napisanych Programowanie - 8 bit)

Dałem mu Amigę 1200 za to ;)