1

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

Akurat na Autorun.sys odczyt się zacina.

2

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

Cierpliwość jeszcze mam. Niestety moje Atari już chyba nie. Nie chce mi się zbootować z dyskietki zawierającej sterownik XEP80. Innymi słowy nie jestem w stanie go teraz uruchomić. Chyba dyskietka padła. Sorki, ale nie mając również działającego SIO2PC nie jestem teraz w stanie nic zrobić.

3

(87 odpowiedzi, napisanych Emulacja - 8bit)

Problem Cypriana już znalazłem. Faktycznie nie zainicjowana była przy starcie emulatora tablica lookupów do palety używana przez algorytm smooth.

W ogóle cała inicjalizacja emu to jeden wielki śmietnik. Ciężko określić co jest kiedy inicjowane a niektóre funkcje zależą od siebie i muszą być uruchomione w odpowiedniej kolejności.

@miker
Jesteś już drugą osobą, która mi to zgłasza. Faktycznie będę musiał coś z tym zrobić.

4

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

Chyba pomyliłem się tylko w prawym górnym rogu tego stworka.
Po tym drugim XIO znaki naprawdę dziwnie zaczęły wyglądać, może to być mylące.

5

(87 odpowiedzi, napisanych Emulacja - 8bit)

Wszystkie liby masz w projekcie nie musisz nic instalować.
Wywalenie ddraw i dinput to usuwanie/przerabianie na oko 10% kodu emulatora. Na którykolwiek plik nie spojrzę to są tam odwołanie do zmiennych używanych przez obsługę grafiki. Doskonale wiem, że muszę przerobić cały podsystem wyświetlania ale jak tylko spojrzę ile tego jest to mi się nogi pode mną uginają.

6

(87 odpowiedzi, napisanych Emulacja - 8bit)

@laoo
VS express nie ma MFC więc bym musiał hqx zrobić na osobną bibliotekę. W sumie wykonalne.
Nie wiem jednak jaki jest narzut tych pętli równoległych. W emulatorze trzeba co 1/50 lub 1/60 sekundy (a w turbo jeszcze częściej) wykonywać obliczenia. Jeśli te pętle korzystają z wątków techniką Thread Spawn, to narzut ich tworzenia może być znaczący.
Myślałem raczej nad zaimplementowaniem techniki Thread Pool. Przecież liczba potrzebnych wątków się nie zmienia.

@Fox
Nie doświadczyłem problemów z uruchamianiem emulatora po zainstalowaniu go. Raz w debugerze nie chciał mi sie uruchomić a też w liście procesów go nie było. Od tej pory nie używam opcji "Reuse emulator window". Powód może być podobny. Wtedy jeśli dobrze pamiętam on jakimś cudem znalazł na liście okien okno o nazwie Atari800Win no i nie chciał się odpalić.
Przerzucanie się na okno przeglądarki lub Worda po uruchomieniu jest spowodowane tym samym. To chyba stary kod jeszcze z win9x. Trzeba by wsadzić tam lepszą implementację rozpoznawania czy aplikacja jest już uruchomiona.

Przetestowałem emulator z włączoną i wyłączoną opcją PFUSIK_ASM i włączoną opcją turbo (na ekranie startowym Draconusa):
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++.

Nie mam obecnie planów na przerzucanie emu na GPU. Nie znam się na tym i na razie nie mam zamiaru znać.

7

(87 odpowiedzi, napisanych Emulacja - 8bit)

Potwierdzam, bardzo fajny feature :)

Nigdy go wcześniej nie widziałem. Czy występuje zarówno w trybach DirectX jak i GDI? Jeśli tak to jedyną wspólną ich rzeczą jest funkcja Interpolate2, której większa cześć jest zawarta wewnątrz takiego ifdefa:
#ifdef PFUSIK_ASM
a potem leci sterta kodu w asmie. Mielibyśmy winowajcę :)

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

@laoo
A potem będą wymagania: DX10, Radeon 5xxx lub GF5xx :)
Algorytm Hi-end bez wątpienia dobrze się skaluje na procesory. Nie wiem jednak kto to miał by robić. 6 lat temu go przypadkowo w sieci znalazłem i wsadziłem w beta1. Niestety obsługiwał tylko kolor 16bit więc musiałem przepisywać okran z 32bit na 16 i z powrotem. Przez 6 lat nic się zmieniło a jakieś pół roku temu algorytm wziął na warsztat jakiś człowiek i zrobił wersję z kolorem 32 bit. Jak więc widać zainteresowanie rozwojem tego typu skalowania jest przeogromne :)
Muszę napisać do tego gościa aby go do pracy zmotywować. Może zrobi wersję wątkowaną lub GPU???

8

(87 odpowiedzi, napisanych Emulacja - 8bit)

seban napisał/a:

Bardzo mi się podoba skalowanie Hi-END :) nie wiem jak to jest realizowane ale wygląda wyśmienicie :D

Zajrzyj na:
http://en.wikipedia.org/wiki/Hqx

Mam w planach wprowadzenie też wersji 3x i 4x.

seban napisał/a:

Jednak działa u mnie jakoś kosmicznie wolno, przy turbo F7 i włączonym skalowaniu typu Hi-End emulator wyciąga jedynie 237% prędkości oryginału, ze skalowaniem typu "normal" prędkość Turbo osiąga prędkość ponad 2000%.

Biorąc pod uwagę jak skomplikowany to algorytm...
Ciekaw jestem jak wydajnościowo wyjdzie wersja 4x :) Może trzeba będzie zaangażować kilka rdzeni?

W opcjach Performance możesz zmniejszyć częstotliwość odświeżania dla trybu fullspeed.

seban napisał/a:

Nie wiem jeszcze czego to wina, ale dziwnie się zachowuje emulator przy efektach które mają jedną ramkę (50Hz refresh). Monitor mam ustawiony na 50Hz odświeżania. Wszystkie efekty mieszczące się w ramce wyglądają tak jakby miały dwie ramki. A zatem wszystkie np. scrolle poziomie i pionowe strasznie są poszarpane (wyglądają tak jakby miały dwie ramki). Co gorsza efekt czasami ustępuję i wszystko wygląda OK. Nie ważne czy włączę czy wyłączę GDI i jaki rodzaj skalowania wybiorę. Ale często ten efekt ustępuje jak zmieniam tryby skalowania obrazu.

Mam kartę ATI Radeon HD4600, wybrana rozdzielczość to 1920x1080 @50Hz. Emulator pisze cały czas iż prędkość to 100%. Jakieś pomysły? Czy tylko mnie ten problem się pojawia?

W trybie DirectX czy GDI?
Ale w sumie to się nie dziwię. Drobna odchyłka od 50Hz i cała synchronizacja leży.

9

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

Niestety na moim obecnym PC nie jestem w stanie APE używać. Niby wizard wszystko rozpoznaje, ale po uruchomieniu mówi o błędzie inicjacji i przejściu na USB, a takiego kabla nie mam. Nie wiem czy to skutek tego że mam 64bit OS.

Przetestowałem tylko program w Basicu. Póki nie dopisałem XIO całość nawet znośnie wyglądała o potem pojawiły się linie (po pierwszym XIO) a po drugim znaki zmieniły swój wygląd (na przykład nawiasy).

Edit:
Ups. Dopiero teraz zauważyłem, że się walnąłem przy CHR$, sorki.

Faktem jest, że XIO zmienia cały ekran a nie jak bym się spodziewał tylko znaki od teraz wyświetlane.

Inna ciekawostka. Zanim załaduję autorun.sys XEP co nieco mi wyświetla na monitorze. Skacze to wszystko, bo to zapewne NTSC i dlatego mój monitor nie łapie synchronizacji. Widzę właściwie tylko kursor który ma 10 linii, a jak właduję autorun.sys to się zmienia na 12 linii.

10

(87 odpowiedzi, napisanych Emulacja - 8bit)

Stworzenie tej gry jest w dalszym ciągu w planie. Tak jak stworzenie dema. I ewentualnie jednego dema w Turbo Basicu.
A na PC tylko emulator. Innych rzeczy nie planuję i nie mam nawet pomysłu.

11

(87 odpowiedzi, napisanych Emulacja - 8bit)

Cześć,

Wrzuciłem finalną wersję 4.1 na github. Nie jest może najdoskonalsza, ale jako tako udało się połączyć rdzeń atari800 2.2.1 z resztą kodu a to było priorytetem. W najbliższym czasie zacznę robić 4.2

12

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

Krótki napisał/a:

Za pomocą firmowego drivera i komend XIO też powinno się to dać zrobić. Z XEP80.DOC wynika, że wysłanie do XEP80 komendy "Master Reset" (XIO 22,#1,12,194,"E:") powinno zresetować urządzenie do domyślnego trybu 60Hz; następnie wysłanie komendy "Modify Text to 50 Hz Operation" (XIO 20,#1,12,215,"E:") powinno przęłączyć XEP-a w tryb PAL.

Oczywiście to wszystko hipoteza, nie mam jak tego przetestować.

Niestety obydwie komendy wywołują u mnie zwis kompa na tyle mocny, że zwykłe wciśnięcie reset powoduje zimny start.

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

Na 100% 24 wiersze.

Nadal twierdzę, że nie masz racji, ale chyba wiem dlaczego. Wg XEP80.DOC ostatni wiersz ekranu nie jest normalnie dostępny dla edytora (nie można do niego dotrzeć przez Control+starzałki, nie podlega przewijaniu), ale można na nim pisać skacząc do niego bezpośrednio, np. POSITION 0,24:? "ABCD";:POSITION 0,0. Podejrzewam, że u Ciebie 25. wiersz był zawsze pusty i nie zauważyłeś jego istnienia.

A co ma za znaczenie co jest w tym mitycznym wierszu 25 skoro znajduje się on około 3cm poniżej dolnego poziomu ekranu?

13

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

Krótki napisał/a:

Sterownik Sparty 4.4x XEP80.SYS obsługuje wybór systemu parametrami /P i /N.

No niestety nie mam Sparty.

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

Ekran ma 24x80 znaków

Jesteś pewiem? "Wszyscy mówią" że ma 25 wierszy.

Na 100% 24 wiersze.

14

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

Krótki napisał/a:

Jak to wszystko pogodzić? Czy rzeczywiście jest tylko jedna wersja XEP80 przełączana programowo? Czy istniała kiedykolwiek wersja XEP-a pokazująca znaki wysokości 11 linii?

Rozebrałem mojego XEPa. W środku nie zauważyłem nigdzie napisu PAL, ale to nie musi o niczym świadczyć.
Na płytce jest napis XEP80 C070900 REV.D, co ciekawe na kwarcu jest podobny napis:
C070930-1
12.000
UNI 87-E

Jeżeli faktycznie XEP jest programowo przełączana, to może jest wybór pomiędzy trybami 10-11-12. Czy oprogramowanie które mam do XEP jest różne od wersji amerykańskiej? Może inne oprogramowanie włączy inny tryb?

Krótki napisał/a:

Jak w PAL wyglądają znaki, które mają grafikę w dolnych liniach (ramki itp.)? Czy 10. linia znaku jest kopiowana na 11. i 12. linię, czy też jest to bardziej skomplikowane (oznaczałoby to, że wersja PAL ma inny zestaw znaków, zawierający dane dot. 11. i 12. linii)?

Owszem, linia 11 i 12 są identyczne z 10 w każdym znaku który sprawdzałem. Dziwacznie przez to wyglądają ukośniki. Szerokość znaku to 7 punktów. Ekran ma 24x80 znaków z czego 2 linie są kompletnie niewidoczne a w 2 krańcowe znaki wychodzą już na rogi monitora.

Krótki napisał/a:

I jeszcze - czy ktoś wie jaka jest częstotliwość zegara generującego piksele w XEP80? Bez tej wartości nie mogę poprawnie określić proporcji ekranu.

Nie jestem elektronikiem i nie potrafię rozpoznać taktowania nawet gdyby wyskoczyło na mnie z krzaków i kopnęło w tyłek. Trzeba uderzyć do Electrona, on też ma to dziwo.

Proporcjami ekranu bym się nie przejmował skoro to ustrojstwo generuje tak wysoki obraz, że trzeba przestrajać monitory aby to używać. Widziałem kiedyś XEPa podłączonego do monitora mającego pokrętło regulujące odstęp pomiędzy skanliniami. Dało się go wtedy używać, ale zmieniając proporcje ekranu.

15

(87 odpowiedzi, napisanych Emulacja - 8bit)

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

Z tego wszystkiego posiadam w domu tylko XEP80.

A wiesz że to się świetnie składa :-) Mam do Ciebie prośbę, żebyś sprawdził jaką ilość skanlinii zajmuje jeden znak wyświetlany przez XEP80. Bowiem są sprzeczne źródła, twierdzące raz że ta ilość to 10 linii, innym razem że 11. Stephen w podlinkowanym wątku sprawdził że w trybach NTSC i PAL ta ilość to 10 skanlinii, ale chciałbym żeby zweryfikował to również choć jeden Europejczyk z PAL-owskim komputerem i PAL-owskim telewizorem. Jeślibyś to sprawdził, będę mógł poprawić błąd w Atari800, które wyświetla teraz 11 linii.

Kurde, godzinę walczyłem aby to ustrojstwo uruchomić.
Monitor mam nędzny (Neptun) a aparat fotograficzny jeszcze gorszy.
Tak na moje oko to jest to 12 linii. 7 na literę i 5 na odstęp.

Zresztą sam zobacz. Podsyłam zdjęcie.

Upichciłem już kolejną betę. Tym razem udało się doprowadzić do tego, że te demko z dźwiękiem na GTIA zaczęło robić coś więcej niż pierdzieć.

Niestety z rozwiązania zadowolony nie jestem. System dźwięku w Atari800Win ściśle polega na tym, że co ramkę jest taka sama ilość sampli a w SYNCHRONIZED_SOUND nie musi być. Poza tym coś dziwnego się robiło przy zmianie parametrów dźwięku (no bo nikt chyba nie przyzna, że wykrzaczanie się programu przy free() z błędem, że próbowano pisać do niezaalokowanej pamięci jest normalne). Podejrzewam jakieś race condition pomiędzy wątkami.

Niestety muszę stwierdzić, że możliwości rozwoju 4.1 się kończą. Bez znaczących modyfikacji nic nie dam rady zrobić. Do przemielenia jest obsługa dźwięku, ekranu, inicjowania emulatora oraz restartu emulacji. Zostać mogą chyba tylko okna dialogowe.

16

(87 odpowiedzi, napisanych Emulacja - 8bit)

Krótki napisał/a:

Trzeba jeszcze oprogramować PLATFORM_PaletteUpdate po stronie platformy.

A no w sumie tak, przecież trzeba przepisać kolory z powrotem. Dzięki.

Krótki napisał/a:

Emulacja XEP80, emulacja Austin Franklin 80, emulacja IDE, emulacja przelotowości w kartridżu SDX, sprzętowe skalowanie obrazu OpenGL (wraz z całą logiką odpowiedzialną za wyliczanie właściwych proporcji w NTSC i PAL w videomode.c), oraz, jak się okazuje, także SYNCHRONIZED_SOUND. Jest jeszcze podobno działająca emulacja rozszerzeń z 1090/1400XL/1450XL (votrax, tryb 80 kolumn), ale nie testowałem tego. Więcej grzechów nie pamiętam.

Z tego wszystkiego posiadam w domu tylko XEP80. Więc pewnie za to się zabiorę najpierw. W ogóle to idiotyczne urządzenie i chyba nigdy go nie użyłem.
A co do SYNCHRONIZED_SOUND to obecnie badam problem. Chyba tylko port SDL tego używa, ciekawe czemu?
W ogóle zamieszane to wszystko. Zamiast korzystać z dotychczasowych funkcji trzeba ręcznie przepisać dane z bufora. Dziwne to wszystko.

Krótki napisał/a:

Nie chodzi Ci czasem po głowie po prostu wykorzystać w WinPLusie libSDL do odtwarzania dźwięku? Byłoby prościej.

Pewnie na tym się skończy :) Ale na razie w 4.1 nie planuję przełomowych zmian.

17

(87 odpowiedzi, napisanych Emulacja - 8bit)

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

Po 6 latach jedyne zmiany jakie musiałem dokonać w Atari800Win aby się kompilowało z atari800 to:
-zmiana nazw zmiennych
-zmiana kilku #ifdefów
-zmiana obsługi generowania palety kolorów

Nie działa zmiana palety przy przełączaniu PAL<->NTSC.

Kurde, gdzie? Przecież przy zmianie trybu jest uruchamiane Colours_Update()

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

Byłoby oczywiście miło, gdyby autorzy atari800 zaakceptowali moje patche do atari800. Nie psują one nic w ich kodzie a mi ułatwiają pracę na przyszłość. Ale jak nie, to nie.

Podeślij na atari800-users, to że ja jestem niechętny takim łatom w szczególnych przypadkach, nie znaczy że to akurat ma być taki przypadek ani że jestem jakąś wyrocznią w tym projekcie.

Jak tylko wydam 4.1

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

Nie wiem jakie super funkcje ma Atari800Win, które powinny niby się znaleźć w atari800.

Pomyślmy. Mapowanie klawiszy, opcje w Advanced Atari Settings, skanlinie (w Atari800 póki co tylko w trybie OpenGL), szybkie software'owe skalowanie obrazu, Sound latency. Wszystko to przydatne funkcje, które da się z pewnym wysiłkiem zrobić tak, żeby było wieloplatformowo.

Ale w sumie jest remis, Atari800 tez ma kilka fajnych bajerów, których WinPLus póki co nie wspiera ;-)

Proszę o listę. Zaraz się nimi zajmę :)


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

Co do odtwarzania dźwięku to zaprzeczam, nie ma w nim nic, co by zmieniało emulację dźwięku.

... wyłączając całą zawartość pliku Sources/Core/sound_win.c. Nb. OIDP SYNCHRONIZED_SOUND chyba trochę duplikuje WinPLusową funkcjonalność w rodzaju Update divisor i Sound quality, ale musiałbym się temu przyjrzeć.

Wydaje mie się, że nie. Sound quality to po prostu parametr do MZPOKEYSND_Init. Update divisor, to parametr określający co ile skan linii ma być aktualizowana zawartość bufora dźwięku (procedura pokey_update). Jestem w 99% przekonany, że nie było tam nigdy funkcjonalności duplikującej SYNCHRONIZED_SOUND.

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

Swoją drogą dziwię się, że nikt przez 6 lat nie zrobił własnego buildu.

Próba była.

Aaaa... coś kojarzę, w końcu podesłałem mu swoje źródła. Ale gościu chyba zrezygnował.

W moim przypadku sprawa jest inna. Ja NIGDY nie zrezygnowałem ani z tworzenia rzeczy na Atari ani z supportu do Atari800Win. Po prostu miałem bardzo dużo zajęć w pracy. I dlatego odłożyłem inne sprawy. Ale jak mi się zdarzy trochę wolnego to albo zrobię jakieś demo (B2L2) albo co innego.

Dlatego możecie być w 100% pewni, że ja będę jeszcze na Atari tworzyć. A czy będzie to za rok czy za 20 lat? Dla mnie bez znaczenia. Po prostu musicie się przyzwyczaić do mojego sposobu postrzegania czasu :)

18

(87 odpowiedzi, napisanych Emulacja - 8bit)

Witam,

Ale się miło kłócicie, aż fajnie popatrzeć :)

No to teraz kilka słów wyjaśnień ode mnie:

Atari800 jest emulatorem tworzonym od wielu lat przez wielu ludzi. Może wygląda on na zaśmiecony, ale z całą pewnością jest mniej zaśmiecony niż jakieś 6 lat temu. Obecnie ma on czystą strukturę: główny emulator + funkcje specyficzne dla platformy. Problem w tym, że struktura Atari800Win to: funkcje specyficzne dla platformy (interfejs Atari800Win) + główny emulator. Ta zamiana ról powoduje, że nie da się od tak po prostu użyć funkcji z atari800, potrzebne są zmiany, ale do tego wątku jeszcze wrócę.

Mam ogromny podziw do Phaerona, który startując od zera uzyskał w kilka lat porównywalny poziom emulacji atari jak wielu twórców atari800 przez znacznie większy okres czasu. Tyle, że nie widzę związku dlaczego rozwój Altirry miał mieć jakiś wpływ na Atari800Win. Sugestia, że jeśli przestałbym pracować nad Atari800Win to pracowałbym nad Altirrą jest śmieszna. Przede wszystkim nie sądzę aby Phaeron potrzebował mojego wtrącania się do jego kodu. Co ciekawe (jak ktoś czytał wątek na atariage ten wie), to właśnie Phaeron zdebugował i znalazł błąd w jednej z beta wersji Atari800Win. Czyli również on nie uważa, że powinien być tylko jeden jedyny zatwierdzony emulator Atari pod Windows.

Ustalmy sobie jedno. Emulatorami atari są takie emulatory jak: Altirra, atari800, Atari++ i inne. Atari800Win jest czymś w rodzaju spin-offa atari800. Realizacją pomysłu stworzenia emulatora atari800 z interfejsem znanym z Windows. Specyficznego projektu, ponieważ prawie zawsze rozwijanego przez 1-2 osoby (pomimo bycia GPL). Obecnie również ma on 2 developerów. (I pomimo iż drugi jest prawie niewidoczny, to bez jego rad nie dałbym rady zbudować wersji 4.1.)

Atari800Win polega mocno na kodzie atari800. Swego czasu mocno pracowałem z Foxem aby to połączenie uczynić silniejszym. Dzięki jego staraniom udało się doprowadzić do tego, że Atari800Win kompilował się bez przeszkód z dowolną wersją atari800. Skutki jego działań są widoczne obecnie. Po 6 latach jedyne zmiany jakie musiałem dokonać w Atari800Win aby się kompilowało z atari800 to:
-zmiana nazw zmiennych
-zmiana kilku #ifdefów
-zmiana obsługi generowania palety kolorów
niewielkie zmiany jak na 6 lat pracy trzeba przyznać.

Obecne widoki na przyszłość można opisać tak:
-Altirra, Atari++ i inne będą wydawane jak ich autorom się zechce pracować,
-atari800 wciąż będzie rozwijane przez grupę jego twórców.

A co zrobić z Atari800Win? Nie mam ochoty wtrącać się w pracę innych developerów. Phaeron pewnie niechętnie widziałby wtrącanie się do jego kodu. Nie mam również ochoty tworzyć atari800 bo nie znam się na emulacji Atari.

Mogę więc robić 3 rzeczy:
-Stworzyć międzyplatformowy interfejs dla arari800 oparty o wxWidgets. Oznacza to jednak pisanie właściwie wszystkiego od nowa.
-Zintegrować Atari800Win z atari800 na takiej samej zasadzie jak inne porty (jak np. SDL). To też jednak oznacza przepisanie większości Atari800Win od nowa.
-W dalszym ciągu rozwijać Atari800Win w jego obecnej postaci.

Ta ostatnia opcja oznacza, że przy każdej nowej wersji atari800 trzeba będzie dopasowywać Atari800Win do atari800. Jak jednak pokazałem wcześniej nie jest to aż takie straszne. Byłoby oczywiście miło, gdyby autorzy atari800 zaakceptowali moje patche do atari800. Nie psują one nic w ich kodzie a mi ułatwiają pracę na przyszłość. Ale jak nie, to nie. Nie ma problemu. Czas potrzebny na utrzymywanie nowych wersji Atari800Win jest i tak wciąż mniejszy niż tworzenie nowych wersji emulatora (WX czy innego). A ponieważ czasu mam mało, to nie mam wyjścia. Albo będę raz na jakiś czas wypuszczał nową wersję Atari800Win opartą nowy kernel atari800 (mam nadzieję tylko, że częściej niż do tej pory), albo nie będę robił nic. (No w sumie to mi jeszcze pozostaje zrobienie ostatniego dema.)

Nie oczekuję, że twórcy atari800 będą utrzymywali kod Atari800Win. Chociażby z powodu nieposiadania kompilatora VC. Sam jednak fakt, że części Atari800Win znajdują się w atari800 wielce pomaga w pracy. Z reguły bowiem programiści nie usuwają bez potrzeby #ifdefów nawet jak ich istoty nie rozumieją. Mogę co każdą wersję podsyłać zmiany jakie musiałem dokonać w atari800 aby Atari800Win się budowało (tak wyglądała moja współpraca z Foxem). Przynajmniej nie będę musiał drugi raz nakładać tych samych zmian. (A patch nie zawsze działa, zależy ile w oryginalnym kodzie jest zmian.)

Nie wiem jakie super funkcje ma Atari800Win, które powinny niby się znaleźć w atari800. Co do odtwarzania dźwięku to zaprzeczam, nie ma w nim nic, co by zmieniało emulację dźwięku. Zresztą przecież wszystko jest opensource. Można kopiować co się chce. Swoją drogą dziwię się, że nikt przez 6 lat nie zrobił własnego buildu. Widać nie było to aż takie niezbędne do życia. Przeceniacie rolę Atari800Win.

I na razie tyle. Idę spać.

P.S. Coś się chrzani w emulacji w NTSC przy DirectSound (i chyba nie przy WaveOut, ale nie mam jak sprawdzić bo mój domowy komputer nie odtwarza WaveOut, tylko DirectSound, dziwne nie?), ale już mi się nie chce tej nocy debugować.

P.S.2 Pierwsze przykazanie: piłeś, nie pisz.

P.S.3 Umieściłem już beta 5 na githubie.
Tym razem dodałem też pełny instalator. Można sprawdzić czy działa.
Zmiany w tej wersji:
-Przypomniałem sobie, że trzeba dokompilować patch dla drukarki.
-Drobne poprawki w monitorze.
-Zwiększony bufor DirectSound, dzięki czemu w trybie NTSC działa płynnie nawet przy latency 2.

19

(87 odpowiedzi, napisanych Emulacja - 8bit)

Krótki napisał/a:

Jakbym chciał, żeby oficjalne Atari800 miało obsługę A8CAS, to sam bym ją wcommitował do oficjalnego repozytorium. W tej chwili patch od A8CAS psuje emulację stacji dysków, i póki tego nie naprawię odradzam używanie go do oficjalnej wersji czegokolwiek.

O.K. W takim razie nie było pytania :)
A co z całą resztą stuffu, którą wsadzasz do atari800? Widziałem na sourceforge, że trochę tam się dzieje. Myślisz, że jak wyjdzie kolejna wersja to sporo będzie dopasowywania aby mi się Atari800Win budowało?
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?

Krótki napisał/a:

Żałuję, że wkładasz wysiłek w rozwój windowsowej wersji. Atari800, jako projekt wieloplatformowy, najbardziej skorzystałby na wieloplatformowym GUI korzystającym np. z wxWidgets; niestety trzebaby je napisać od nowa. No ale robisz to dla własnej przyjemności, nie będę więc Ci mówił co masz robić.

Ja się z tym zgadzam. Już nawet siedziałem nad wersją WX (ślady tego są w atari800). Tyle, że w końcu stwierdziłem, że jest tego za dużo roboty i lepiej ten czas spędzić inaczej.

Krótki napisał/a:

Odpal cokolwiek z digitalizowanym dźwiękiem, albo np. Beep'em All.

Eeee.... pewnie efekt placebo :)

20

(87 odpowiedzi, napisanych Emulacja - 8bit)

Hejka, witam ponownie :)

Wrzuciłem już na githuba 4 betę, jak nie będzie narzekań, to już wkrótce wypuszczę oficjalne 4.1.

Muszę sobie tylko przypomnieć jak się logowało aby wrzucać pliki na stronę emulca. Ktoś wie do kogo powinienem się zwrócić o instrukcje? Dely a może Krap?

Zmiany w beta 4:
-Poprawiony (chyba) błąd wywalający emulator w oknie wyboru folderu.
-Włączona opcja SYNCHRONIZED_SOUND w atari800. Podobno to robi bardziej dokładny dźwięk, ale ja tam nie słyszę różnicy.
-Poprawki w synchronizacji pracy emulatora w trybie DirectSound. Może to trochę zmniejszy trzaski dźwięku?

21

(87 odpowiedzi, napisanych Emulacja - 8bit)

Ano właśnie a8cas. Ten format zdaje się, że jest obsługiwany przez atari800 spatchowane przez krOtkiego, tak? Tylko nie mogę nigdzie znaleźć, gdzie on trzyma jego źródła. Znalazłem tylko sam patch do atari800, ale wiem że on zrobił coś więcej. Można by zastąpić oficjalne źródła atari800 jego źródłami.

22

(87 odpowiedzi, napisanych Emulacja - 8bit)

Tryb fullscreen używa starych trybów paletowych (256 kolorów) jeśli dobrze pamiętam. Cud, że to jeszcze działa. Ja ich nie używam, bo mi się emul zwiesza. Całość kodu na ten temat jest do przepisania.

@syscall
A kiedyś tak mówili o Atari800Win :)

Chociaż trzeba przyznać, że Arai800Win cierpi na chorobę starczą. Są w nim rzeczy z 95 roku. Najlepszą rzeczą byłoby wywalić go całego i napisać wszystko od nowa. Tyle, że to właśnie zrobił phaeron z Altirrą :)

Jedyne co ja mogę zrobić, to stworzyć możliwie najlepsze GUI do atari800.

23

(87 odpowiedzi, napisanych Emulacja - 8bit)

Umieściłem już w sieci beta 3.

Poprawiłem działanie wyboru palety, wyświetlanie napisu przy włączeniu pauzy (zgłoszone przez autora Altirry :) ) oraz okno wyboru folderu (na przykład dla H1:), chociaż wciąż nie wiem kiedy się ono wykrzacza. Może ktoś zdiagnozuje? U mnie problem nie występuje.

24

(87 odpowiedzi, napisanych Emulacja - 8bit)

Cześć,

Na ostatnim party w Głuchołazach ktoś (chyba drac030) prosił mnie o nową wersję Atari800Win. Akurat nie było to takie łatwe, ale po zmienieniu kilkuset linii kodu udało się podłączyć rdzeń atari800 2.2.1 do emulatora. Tak mi się wydaje, bo zmian jest w nim tak dużo, że pewnie coś opuściłem.

Jak ktoś chce posprawdzać to zapraszam. Całość do ściągnięcia z github:

https://github.com/Jaskier/Atari800Win-PLus/downloads

plik należy wsadzić do katalogu gdzie jest reszta plików emulatora. Nie jest to pełna instalka.

Wszelkie bluzgi, bugreporty i feature requesty proszę pisać albo tutaj, albo na priva albo na githuba.
Nie mogę jednak nic obiecać. Kod emulatora to ponad 100.000 linii. Łatwo się zgubić.

25

(60 odpowiedzi, napisanych Zloty)

A ja jestem za podłączeniem się do Northa. Spotkałbym znowu commodorowców.