801

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

Ja też! Ja też!

802

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

803

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

804

(8 odpowiedzi, napisanych Bałagan)

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

805

(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ść).

806

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

807

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

808

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

809

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

810

(219 odpowiedzi, napisanych Zloty)

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

811

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

812

(49 odpowiedzi, napisanych Programowanie - 8 bit)

Dałem mu Amigę 1200 za to ;)

813

(49 odpowiedzi, napisanych Programowanie - 8 bit)

tebe napisał/a:

czyli kluczem do sprawy Warp7 jest Laoo, bo dokumentacja jest tylko do Warp4

A ja nie wiem  jakiego WARPa mam. Chyba formalnie WARP4 "ustawiony" na 7 MHz (ze zworką na 14). Kiedyś chodził na 4 MHz (stąd nazwa) ale Pasiu mi coś podrasował i teraz chodzi na 7/14 MHz.

814

(49 odpowiedzi, napisanych Programowanie - 8 bit)

Mam wersję WARP7 stabilnie działającą na 7 MHz (na 14 MHz uruchomić się da, ale np kod w wysokiej pamięci już nie pójdzie). Mogę komuś dać do reverse-engineeringu jakby ów ktoś był zainteresowany.

Wg mnie w stronę 65c816 z liniową pamięcią trzeba pójść. Najlepiej z możliwością wyboru, w którym banku ma być pamięć atari do odczytu i do zapisu osobno (domyślnie $00/$00). Ale ja tam się nie znam...

815

(3 odpowiedzi, napisanych Programowanie - 8 bit)

W atari odmierzać dokładny czas jest bardzo trudno, bo cykle procesora są bezustannie wywłaszczane przez pokaźną liczbę przeszkadzajek, więc liczenie cykli daje różne rezultaty w różnych warunkach. Proponowałbym dwa rozwiązania:
1) rejestr VCOUNT, który w systemie PAL co ramkę (1/50s) liczy od 0 do 155.
2) przerwania POKEYa. Jeśli się nie mylę, to jak to ma być opóźnienie, to nawet nie trzeba używać przerwań: można je wyłączyć przez SEI i pollować rejestr IRQST czekając na skasowanie bitu odpowiadającego danemu przerwaniu.

816

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

Kurde. Nie wiedziałem że XEP80 ma taki superowy czip w środku

817

(100 odpowiedzi, napisanych Bałagan)

epi napisał/a:

[...]Ja zdziwiłem się, że trzeba kombinować, żeby pokazać Quick Launch.[...]

A w win7 jest w ogóle Quick Launch? Przypinanie programów do paska zadań doskonale go zastępuje i jest nawet lepsze. Trochę może irytować, że ikony odpalonych programów nie różnią się właściwie od nieodpalonych, ale na szczęście w opcjach można łatwo przełączyć, żeby uruchomiona aplikacja wyglądała jak na starszych windowsach (żeby poza ikoną miała też nazwę itd). Po zmniejszeniu ikon pasek zadań wygląda praktycznie identycznie jak dawniej, tylko pokazywanie pulpitu jest koło zegarka :)

818

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

Cosi: nie bluźnij ;)

819

(23 odpowiedzi, napisanych Bałagan)

Takiemu to się powodzi ;)

820

(100 odpowiedzi, napisanych Bałagan)

krzyc: A dlaczego nie możesz wgrać wersji 64bit?

821

(100 odpowiedzi, napisanych Bałagan)

Ja sobie kupie jak się pojawi, bo mi się podoba. Teraz siedzę na RC i nie miałem żadnych problemów. Wg mnie 7 ma najbardziej dopracowany UI (dopinanie aplikacji do paska zadań zamiast quicklauncha jest miodzio) i nawet zostawiłem sobie te szkło i aero (tylko odchudzone o wszystkie rozmywania i przenikania, żeby reakcja systemu była percepcyjnie szybsza), bo wszystko fajnie współgra. A trzeba pamiętać, że jako stary oldschoolowiec we wcześniejszych systemach tępiłem wszelkie wodotryski i miałem ustawiony klasyczny wygląd z win2k (vistę też dało się tak skonfigurować).

Oczywiście jak ktoś z góry ma nastawienie "M$ SUXX" to i siódemka go nie przekona

822

(12 odpowiedzi, napisanych Programowanie - 8 bit)

Cholernie pomysłowe. Bardzo podoba mi się sposób wizualizacji pamięci. Takie coś można dodać do istniejącego emulatora.

823

(50 odpowiedzi, napisanych Bałagan)

Candle napisał/a:

a wtedy strona zerowa bedzie naprawde szybka...
nie filozuj

No to niech oryginalna "powolna" pamięć atari nie będzie na stałe w banku zerowym, tylko niech będzie dowolnie przełączana w dowolny bank przykrywając szybki bank jaki tam był (lub niech wypełnia pustą przestrzeń jeśli byłaby wmapowana w nieużywany obszar). Po przełączeniu jej wyżej mamy szybki bank zerowy, a wciąż mamy dostęp do pamięci atari tylko w innym miejscu. Jeszcze jakby można było tak zrobić osobno dla odczytu i dla zapisu to byłoby super (scenariusz: ustawiamy pamięć atari w banku zerowym dla zapisu i gdzieś wyżej dla odczytu. W rezultacie czytając z banku zerowego czytamy z pamięci szybkiej, a zapisując zapisujemy wolno do atari. Takim trikiem można w błyskawicznym tępie przepisać blok z pamięci szybkiej do atari).

824

(18 odpowiedzi, napisanych Programowanie - 8 bit)

Tak jeszcze teraz do mnie dotarło, że można zaoszczędzić pamięć łącząc tablice t1 i t3 :)

825

(18 odpowiedzi, napisanych Programowanie - 8 bit)

Chodziło mi o rozpisanie wejścia _enter tak, aby nie robić tego jsr:

_enter
    ldx _d
    lda t3-$e0,x
    sta _d
    cmp t4-$e0,x
    bcc _d1
    rts

_enter2
    ldx _d
    lda t1-$e0,x
    sta _d
    cmp t2-$e0,x
    bcc _d1
    rts

_d1 lda #$20
    adc _e
    sta _e
    bcs _d2
    lda _d
    adc #-$08
    sta _d
_d2 rts
;
t1      dta $e2,$e3,$e4,$e5,$e6,$e7,$e8,$e9,$ea,$eb,$ec,$ed,$ee,$ef
        dta $f0,$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$fa,$fb,$fc
t2      dta $e2,$e3,$e4,$e5,$e6,$e7,$FF,$FF,$ea,$eb,$ec,$ed,$ee,$ef
        dta $FF,$FF,$f2,$f3,$f4,$f5,$f6,$f7,$FF,$FF,$fa,$fb,$fc

t3      dta $e4,$e5,$e6,$e7,$e8,$e9,$ea,$eb,$ec,$ed,$ee,$ef,$f0,$f1
        dta $f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fd,$fe
t4      dta $e4,$e5,$e6,$e7,$FF,$FF,$FF,$FF,$ec,$ed,$ee,$ef,$FF,$FF
        dta $FF,$FF,$f4,$f5,$f6,$f7,$FF,$FF,$FF,$FF,$fc,$fd,$fe