801

(45 odpowiedzi, napisanych Programowanie - 8 bit)

Zaraz posypią się facepalmy. :)
http://atariki.krap.pl/index.php/Format ... a_katalogu

802

(45 odpowiedzi, napisanych Programowanie - 8 bit)

Pin napisał/a:

.. co do rozwiązania Fox'owego, to wydaje mi się, że przy rozbudowanym katalogu ze znaczną ilością wpisów ponowne otwieranie kanału i odczytywanie do "null" X wpisów zajmie w skrajnym przypadku dużo czasu. Sumarycznie wydaje mi się, że lepiej będzie otworzyć katalog w trybie pliku i po prostu cofać się, jeśli będzie to konieczne. Idea jest taka, by każdy fragment programu optymalizować pod kątem czasu, cóż - TB nie jest taki Turbo, jak by się z nazwy wydawać mogło ;).

Znowu wypowiadasz się na temat prędkości nie robiąc żadnych pomiarów, a stosując porażające argumenty typu "TB nie jest taki Turbo".
Odczyt katalogu BGETem do pozycji pliku X będzie trwać nieco więcej, niż otwarcie pliku X do odczytu. To nieco więcej, to narzut na formatowanie tekstu (nie wiem, jak tu sobie Sparta radzi) i przepchanie bajtów przez CIO (tu zaprogramowany strukturalnie system operacyjny ogranicza nam przepustowość do rzędu 10 KB/s). Jeśli składnikiem dominującym są operacje dyskowe, to znaczy, że powinieneś się zastosować do porady z postu 10.

803

(87 odpowiedzi, napisanych Emulacja - 8bit)

Jaskier napisał/a:

w trybie smooth wzrost z 2000% do 3200% po przełączeniu się z asm na C++
w trybie scan lines brak różnicy, ale tutaj obie wersje są w asm.

Myślę, że rozwój kompilatorów swoje jednak zrobił. Trzeba będzie wszystko przerzucić na C++.

Raczej chodzi o rozwój procesorów, które szybciej wykonają kilka instrukcji 386, niż jedną MMX. To wychodziło mi już w czasach 700 MHz-owych procków. MMX wygrywał gdzieś do 500 MHzowego Pentiuma i to nieznacznie.

Druga możliwość jest taka, że ja nie potrafiłem odpowiednio użyć tego MMX. Ale na swoją obronę mam, że po pierwsze jedna z procedur jest żywcem wzięta ze strony Intela, po drugie Ken Silverman w czasach wczesnego MMX stwierdził, że żadnego zysku z tego MMX nie ma i kod silnika Build co prawda wykrywa MMX, ale w ogóle go nie wykorzystuje.

804

(45 odpowiedzi, napisanych Programowanie - 8 bit)

Rozumiem, że chodzi o podział katalogu na strony.

Alternatywne rozwiązanie:
- następna strona: zostawiasz kanał otwarty - będziesz kontynuować tam, gdzie skończyłeś
- poprzednia strona: zapamiętujesz, ile bajtów przeczytałeś do początku poprzedniej strony, przy przełączaniu na poprzednią stronę otwierasz ponownie katalog i pomijasz z niego tyle bajtów wczytując je BGETem. edit: Wpisy są chyba równej długości, więc możesz sobie obliczyć liczbę bajtów do pominięcia.

805

(87 odpowiedzi, napisanych Emulacja - 8bit)

Upscaling zrobiliśmy programowo, gdyż Tomek Szymankowski twierdził, że Windows nie dawał pełnej kontroli nad algorytmem skalowania na wszystkich kartach graficznych i wersjach Windowsów, które były w obiegu dziesięć lat temu. Robiliśmy też wiele pomiarów wydajności naszych procedur.

806

(87 odpowiedzi, napisanych Emulacja - 8bit)

Potwierdzam czarne obwódki, jeśli w momencie uruchamiania emulatora jest wybrane Smooth. Nie zauważyłem wpływu Palette Options.

Mój problem z uruchamianiem PLusa to kolejny feature: zaznaczcie "Reuse emulator window", zamknijcie emulator, a następnie mając otwartą w przeglądarce internetowej kartę tego topicu spróbujcie otworzyć emulator. Zostaniecie przełączeni na forum, a emulatora nie będzie. :) Sprawdzone w Chrome, IE 9 i FF 3.6.23. Trick działa też z "Atari800Win PLus 4.1.docx" w Wordzie. :)

807

(87 odpowiedzi, napisanych Emulacja - 8bit)

Mam problem z 4.1 - zainstalowałem instalatorem, odpaliłem z instalatora - działa. Zamknąłem i już nie mogę otworzyć ponownie. Klikam skrót w menu Start - nic. Dwuklikam exe - nic. Nic = nic się nie pojawia, w liście procesów pusto. Po reinstalce znowu działa. Z 4.0 nigdy nie miałem takiego problemu. Windows 7 x64.

Jaskier napisał/a:

Ale wydaje mi się, że coś się chrzani w liczeniu palety kolorów i zamiast koloru przejściowego jest czarny.

Też na to stawiam. A to już nie mój kod. ;) Może kluczowe w rysowaniu czarnych obwódek są Palette Options - przydałby się ich zrzut ekranu.

Pól roku temu robiłem eksperymenty z HQX. Świetnie sobie radzi z hiresem, gorzej z GR. 15, a z trybami GTIA w ogóle:
http://fail.sourceforge.net/hqx/hqx2.html
http://fail.sourceforge.net/hqx/hqx3.html
http://fail.sourceforge.net/hqx/hqx4.html

808

(45 odpowiedzi, napisanych Programowanie - 8 bit)

Nie przyszłoby mi do głowy, żeby używać NOTE/POINT przy odczycie katalogu. Jest szansa, że nie wpadł też na ten pomysł żaden z autorów DOSów.

Może zacznijmy od tego, po co to robisz, a wtedy pewnie uda się znaleźć alternatywne rozwiązanie.

809

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

uicr0Bee napisał/a:

GTRPM:
-----
CA2001        345 Drive is too fast
LDW2000        346 "
Rana1000    343 "
1050        346 "
SN-360        361 "
XF551        360 "

Na moje oko ten programik zakłada, że atarka jest NTSC. Po przeskalowaniu przez 50/60 wyniki są sensowne.

Timeless Announcement
Energy również #2

811

(87 odpowiedzi, napisanych Emulacja - 8bit)

Krótki napisał/a:
Fox napisał/a:

Zgadzam się z Jaskierem. Trzeba walczyć z monopolem, bo inaczej Phaeron spocznie na laurach i za parę lat znowu obudzimy się z przestarzałym emulatorem.

Jeśli celem rozwoju WinPLusa ma być sprowokowanie dalszego rozwoju Altirry, to już chyba lepiej usiąść i porozwijać sobie Altirrę, czyż nie? Ja raczej uważam, że przy tak małych projektach współpraca jest korzystniejsza od konkurencji.

"Usiąść i porozwijać sobie Altirrę" w praktyce oznacza:
a. Ciągłą wymianę maili z Phaeronem, gdyż nawet nie ma publicznego repozytorium z aktualnym kodem, pojawia się on tylko z wersjami beta. Phaeron zawsze ma decydujące zdanie.
b. Fork Altirry.

Mógłbyś wyjaśnić, dlaczego akurat przy małych projektach należy współpracować, a przy dużych konkurować?

Krótki napisał/a:
Fox napisał/a:

Oba projekty są open source

A co to ma do rzeczy?

Każdy może ściągnąć źródła i je skompilować, a sugerujesz, jakoby kod PLusa był nieosiągalny dla programistów projektu Atari800.

Krótki napisał/a:
Fox napisał/a:

i nie rozumiem, jakie ma znaczenie, że cały kod WinPLusa nie jest w repozytorium Atari800?

Takie ma znaczenie, że skoro kod jest na zewnątrz, to drużyna Atari800 nie czuje imperatywu, żeby wtrętów PLusowych nie popsuć albo bezceremonialnie usunąć. Niwelując w ten sposób wszelki zysk dla autora PLusa.

To nic nie zmieni.
1. Kod portu Mac OS X od dawna był w repozytorium, a nigdy nie kupiłem Maca, aby samodzielnie kompilować.
2. Starałem się dbać o wszystkie porty, niezależnie od tego, czy mogłem je skompilować i przetestować. Podejście "rozwijam tylko port na mój system operacyjny" było niestety bardzo popularne.

Krótki napisał/a:
Fox napisał/a:

IMHO lepiej trzymać zmiany dla PLusa w Atari800, niż kazać autorowi PLusa za każdym razem nakładać poprawki na Atari800.

Po pierwsze, narzędziem "patch" robi samo sie. Po drugie, na pewno autorowi PLusa byłoby tak wygodniej, ale powiedz jaki zysk z PLusowych wtrętów ma mityczny programista Atari800 (podobno jeszcze tacy istnieją ;-) ). Poza tym, wtręty WinPLusowe i tak nie ustrzegły Jakiera przed koniecznością zmiany "kilkuset linii kodu", czego efektu on sam nie jest pewien ("zmian jest w nim tak dużo, że pewnie coś opuściłem").

Co do "na pewno autorowi PLusa byłoby tak wygodniej", to niech się wypowie Jaskier.
Kod specyficzny dla Atari800Win PLus wrzuciłem do Atari800 ja. Tomek Szymankowski początkowo się opierał, ale później był z tego zadowolony.

Krótki napisał/a:
Fox napisał/a:

Razem z Tomkiem Szymankowskim przenosiliśmy kod między Atari800 i PLusem w obie strony i oba projekty na tym skorzystały.

Ale czy mówisz tu o kodzie do którego pasuje kwalifikator "wyłącznym celem zmian jest zapewnienie działania WinPLusa"?

Między innymi chodziło właśnie o kod, który zapewniał możliwość kompilacji i prawidłowego działania Atari800Win PLus. A większość tego kodu dotyczyła styku z Win32 API i okazało się, że równie dobrze przydawała się w portach Atari800 Win32 oraz WinCE - w ten sposób usunąłem dużo zduplikowanego kodu. Dla Ciebie to "wtręty WinPLusowe", dla mnie istotny kod obsługujący najbardziej popularne systemy operacyjne.

812

(87 odpowiedzi, napisanych Emulacja - 8bit)

Jaskier napisał/a:
syscall napisał/a:

Altira nie ma konkurencji. (przynajmniej na windows)

A kiedyś tak mówili o Atari800Win

Zgadzam się z Jaskierem. Trzeba walczyć z monopolem, bo inaczej Phaeron spocznie na laurach i za parę lat znowu obudzimy się z przestarzałym emulatorem.

Krótki napisał/a:
Jaskier napisał/a:

A przy okazji, aby mi się ostatnia wersja zbudowała to musiałem zrobić kilka minimalnych zmian w atari800. Czy mógłbym ci to podesłać aby znalazło się na stałe w repozytorium?

Jeśli wyłącznym celem zmian jest zapewnienie działania WinPLusa, to uważałbym to za błąd. Skoro kod WinPLusa nie leży w repozytorium Atari800, to programiści emulatora nie mają powodu ani możliwości żeby ten kod testować czy zapewnić wsparcie. Do dziś w kodzie Atari800 leżą "warunkowo kompilowalne" skrawki potrzebne tylko WinPLusowi, z którymi nie wiadomo co zrobić i z których część być może została w trakcie rozwoju emulatora usunięta lub "zepsuta".
Poza tym, właściwszą drogą do proponowania zmian jest lista dyskusyjna atari800-users, na którą zaglądają wszyscy zainteresowani programiści.

Oba projekty są open source i nie rozumiem, jakie ma znaczenie, że cały kod WinPLusa nie jest w repozytorium Atari800? IMHO lepiej trzymać zmiany dla PLusa w Atari800, niż kazać autorowi PLusa za każdym razem nakładać poprawki na Atari800.
Razem z Tomkiem Szymankowskim przenosiliśmy kod między Atari800 i PLusem w obie strony i oba projekty na tym skorzystały.

813

(3 odpowiedzi, napisanych Programowanie - 8 bit)

Jeśli masz jednego skrola, to ja bym go obsłużył na VBLKI. Jeśli skroli będzie więcej, to na DLI. W głównym kodzie możesz dać jmp *.
Te $06 w Display Liście też mogą wyświetlać śmieci. Nie wyświetlają, jeśli pamięć jest czysta.

814

(3 odpowiedzi, napisanych Programowanie - 8 bit)

Tekst scrolla przekracza wtedy granicę strony, a ty zmieniasz tylko młodszy bajt adresu. Zmień:

        ldy LINE_PTR
        iny
        sty LINE_PTR

na:

        inw LINE_PTR

oraz:

        lda INIT_LINE_PTR
        sta LINE_PTR

na:

        mwa #scrollText    LINE_PTR

815

(0 odpowiedzi, napisanych Miejsca w sieci)

http://mmolyneaux.wordpress.com/2011/06 ... g-it-move/

816

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

http://atariki.krap.pl/index.php/Mahna-Ma%C5%82ysz

817

(105 odpowiedzi, napisanych Fabryka - 8bit)

Nie widziałem tego. Sky Computer Network też jest stereo?

818

(105 odpowiedzi, napisanych Fabryka - 8bit)

Offtopic:

xxl napisał/a:

jest taki demos pierestrojka czy jakosc tak, klawiszami przelacza sie kanaly lewy/prawy - tam tez musieli miec podobne problemy :-)

Zrobiłem z tych kanałów Pierestrojki jednego SAPa stereo - ładnie gra.

819

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

Wiele błędnych SAPów nie grających po konwersji na XEX nie będzie też grać w sapemu i reperowanie sapemu nic nie da.

820

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

Tak, poczekać na nową ASMĘ, gdzie te SAPy i wiele innych będą poprawione. Parę dni temu PG wreszcie zabrał się do roboty.

821

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

Parę sekund - nie jest tak źle.

822

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

Wpisuję $ff do $244, skąd ten "Error: No DOS" zamiast boota?

Masz twardy dysk? Ile trwa boot? W 1995 boot z Karin Maxi zajmował mi poniżej sekundy.

SAPów nie można przepisywać w inny obszar, to nie CMC. Można natomiast przepisać DOSa do pamięci dodatkowej (tak robi sapemu), tylko której?

823

(62 odpowiedzi, napisanych Bałagan)

Jednym z powodów tworzenia maszyn wirtualnych miała być przenośność binarek. Jak na ironię mamy teraz trzy liczące się architektury procesorów (x86, x64 i ARM), a dużo więcej niezgodnych maszyn wirtualnych. :)

824

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

Ad. 1 Nie znam się na Sparcie.

Ad. 2 Nie ma powrotu do DOSa, bo większość SAPów zamazuje obszar DOSa.

825

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

Konwersja na xex jest dość nową funkcją, dlatego nie wszystko się konwertuje. Opcja --tag doda wyświetlanie info. Stereo nie wykrywa, ale kawalki stereo bedą grały stereo.