2,201

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

Ja? :P :)

2,202

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

Przepraszam, ale od kiedy to MADS jest programem z cyklu "Software, gry 8-bit"? Przecież to program na peceta. Ergo ten wątek jest oftopem w tym dziale.

2,203

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

Marek Konopka napisał/a:

Mamy sprite'y. Z tego co widziałem ostatnio na zrzutach z Geos'a, również tam są one zastosowane - http://www.guidebookgallery.org/screenshots/geosc64

To trochę mało elastyczne, poza tym na C-64 masz dodatkowo atrybuty, co trochę pomaga. W ST desktop zadowala się dwoma kolorami, ale to w hiresie (640x400), gdzie za trzeci kolor robi siateczka białych i czarnych punktów i wyglada to bardzo dobrze. W 320x200 w dwóch kolorach (na Falconie da się włączyć taki tryb) dokładnie to samo wygląda jak kupa.

Tutaj widzę raczej inny problem, a mianowicie ograniczenie ilości pamięci na okno (16kB). Ewentualnie byłoby to na styk, chyba, że darujemy sobie buforowanie pamięci ekranu.

Buforowanie nie jest konieczne, z okien modalnych można zrezygnować zupełnie, a zamknięcie menu może wysyłać komunikat "redraw" tak samo, jak zamknięcie okna. To są szczegóły.

drac030 napisał/a:

Oczywiście, że jest z tym trochę zabawy, ale czy specyfiką old-schoolowych komputerków nie jest właśnie ta konieczność zmagania się z takimi problemami?

Jest, ale po co sobie utrudniać tam gdzie można sobie nie utrudniać.

drac030 napisał/a:

Oczywiście kompatybilność wsteczna z modelem pamięci OS'u atarowskiego nie ma w tym wariancie miejsca.

To kolejna wg mnie zaleta takiego Warpa: model pamięci (konwencjonalnej) pozostaje taki, jak był.

drac030 napisał/a:

Jestem przekonany, że można zrobić to lepiej.

Och, naturalnie. Tzn. samej "ideologii" odświeżania raczej nie można się czepiać, jest to zrobione prosto, dobrze i skutecznie, ale to na poziomie AES-u. Problemem jest niewielka szybkość działania VDI, ale ono nie jest optymalne, istnieją alternatywne VDI działające kilkakrotnie szybciej.

drac030 napisał/a:

Sam model pamięci procesora na CAR może być w dużym stopniu od tego niezależny.

Tak i tam by była pamięć w jednym kawałku, ale znowu tak jakby "na zewnątrz", bez dostępu do rejestrów I/O, OS-u itd., nie da się tam załadowac rezydenta współpracującego z normalny OS-em i ulepszającego jakoś jego działanie, a przy tym nie popadającego w konflikt z istniejącymi programami (bo model pamięci się zmienia). Znowu, na Warpie nie ma tych wszystkich problemów, dlatego sądzę, że tamto jest dużo bardziej atrakcyjne. No ale co tam komu, mnie osobiście taki kart, jeśli powstanie, przeszkadzał nie będzie.

PS. Te screenshoty z GEOS-a nie wyglądają źle, ale jednak wolałbym obejrzeć to na żywym egzemplarzu, tutaj kolory sa cokolwiek rozmyte, co wydatnie polepsza jakość "trzeciego koloru". Na moim Neptunie taka siateczka wygląda jak siateczka punktów, a nie jak kolor pośredni między czarnym a białym. Tak samo było na Falconie (na monitorze VGA).

2,204

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

Marek Konopka napisał/a:

Rozumiem, że chętniej widziałbyś bardziej ogólne zastosowania, być może jakiś system operacyjny, dodatkową pamięć, coś na kształt Geos'a, ale czy na pewno to nie jest osiągalne w tej formie, w jakiejś dalszej perspektywie czasowej?

Od tego to mamy VBXE (sorry, ale graficzny desktop musi być ładny, a z 320x192 w dwóch kolorach nic ładnego nie powstanie, bo potrzebne sa co najmniej 3 kolory, żeby to jakoś wyglądało).

Ogólnie miałem okazję poprogramować na atarce, która miała 1 megabajt pamięci w jednym kawałku, ale poza tym wszystko działało tak samo (oprócz tego, że szybciej). I od tamtej pory uważam, że bawienie się w bankowanie RAM-u, nawet jeśli by się miało w nim coś automagicznie pojawiać, to mało sensowna mordęga i komplikowanie prostych spraw.

To tak ogólnie, natomiast co do zastosowania takiego koproca do systemu operacyjnego, to powątpiewam w uzyteczność w ogóle. Normalny OS tego nie potrzebuje, bo i co on liczy. Zrobienie na tym pakietu FP jest problematyczne, jeśli bank 16k ma się podpinać tam, gdzie jest przestrzeń adresowa karta (w BASIC-u oznaczałoby to nieustanne migotanie ekranu, bo BASIC w kółko liczy coś na FP). Systemowi graficznemu przydałby się szybki procesor robiący za blitter, ale co z takiego blittera, który może skopiować blok pamięci obrazu w inne miejsce tylko wtedy, kiedy Antic/GTIA nic nie wyświetlają (poza tym potencjalna wydajność raczej blednie w porównaniu z blitterem VBXE).

Tak więc nie bardzo widzę, do czego miałoby mi się to osobiście przydać, a poza tym nasuwa się ogólniejsza obserwacja, że rozwój komputerów poszedł w tym kierunku, w jakim poszedł (mam tu głównie na myśli, że tam, gdzie jest więcej pamięci, jest ona dostępna w jednym kawałku) pewnie dlatego, że jest to rozwiązanie najlepsze i nie ma co wynajdywać prochu, który się na dodatek kiepsko pali...

2,205

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

Wiem, że marudzę, ale ciut za duży i przede wszystkim ciut za drogi.

2,206

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

Marek Konopka napisał/a:

n-buforowanie

No tak, tylko jakie widzisz zastosowania tego, bo ja, jak już napisałem wyżej, raczej wąskie (grafika wektorowa w gierce, pewnie głównie, oraz efekty w demach niedopuszczonych do konkursu). I co z tego nie może zostać zrobione przez regularne 65C816 z takiego Warpa?

2,207

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

jellonek napisał/a:

drac030: no i wyszlo na jaw ze wypowiadasz sie na temat, mimo ze wczesniej nawet nie przeczytales opisu dzialania Zenona.

(...) wykonuje sie, po czym wraca do romu sygnalizujac w rejestrze zakonczenie operacji. (...) po upewnieniu sie czytajac z rejestru ze poprzednia operacja dopalatora sie zakonczyla (i "biega" on w romie), atarkowy procek przelacza polowki ramu CARta.

Co oznacza właśnie, że atarkowe 6502 zajmuje się synchronizacją dostępu i o to mi tu chodzi :P A teraz dodaj do tego pamięć ekranu i DL umieszczoną w "oknie" wiedząc, że póki Antic z niej czyta, dodatkowy procesor nie może do niej pisać.

konop: pin nie ma ani warpa ani f7 - on ma prosty adapter 65816 - drac030 to wie i nie wiem po co miast sprostowac twoja lekka pomylke - brnie dalej...

"Brnę", bo padł nonsensowny argument, że Warpy i F7 mają problemy ze stabilnością, i że to Konop na własne oczy widział. To mniej więcej tak, jakby wziąć zepsute 130XE, stwierdzic, że nie działa, po czym uogólnić, że wszystkie 130XE z natury mają to do siebie, że nie działają ...

2,208

(17 odpowiedzi, napisanych Programowanie - 16/32bit)

Człowiek ma esteka i Turbo C, nie wiem, czy C++ mu się do czegoś przyda, a gcc żre tyle pamięci, że chyba bez 32 MB RAM-u nie ma co podchodzić.

2,209

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

xxl napisał/a:

a jak sobie poradzi w jednej ramce

A skąd będzie wiedział, kiedy "kończy się" ramka? To mu musi 6502 powiedzieć (albo go jakoś zahaltować). Tak czy owak, ponieważ jednoczesny dostęp dwóch procesorów i Antica do tej samej pamięci nie jest możliwy, jakoś to się będzie musiało synchronizować. Nawet żeby wycyklować całość programu zapuszczonego w karcie, trzeba wiedzieć, kiedy jest początek ramki, a skąd ma to wiedzieć procesor, który jest na zewnątrz komputera?

@laoo: no, pewnie że to jest niesprzeczne. Po prostu wydaje mi się, że taka dopałka będzie raczej praktycznie mało użyteczna, tzn. będzie z tego więcej kłopotu niż pożytku. Bo i do czego to? Do gier tylko i to niewielu typów (np. wektorówkę pewnie by mozna na tym zrobić, ale czy skorzystałby z tego jakiś Bomb Jack?), bo dema wymagającego włożenia dodatkowego karta nikt nie dopuści do ogólnego demo-compo, zresztą pewno na zasadzie ortodoksji pod hasłem "to już nie atari" i "dema tylko na fabryczne komputery" :) a zwykłe programy rzadko potrzebują cokolwiek liczyć.

Czyli, jak mówię, byłoby to urządzenie raczej niezbyt uniwersalne (IMHO).

2,210

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

Znajdź mi ~14-calowy telewizor LCD z wejściem SCART...

2,211

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

Krap ma Warpa zrobionego przez samego Pasia, o ile mi wiadomo, i przyczyną niedziałania są zrypane GAL-e. Dokładnie Pasiu ponoć, po zrobieniu Warpa laoo, zgubił pliki do programowania GAL-i i nie udało mu się ich odtworzyć. Jasne, że nie wiem tego na pewno, więc jest miejsce dla sprostowań.

W każdym razie nie ma fizycznych powodów, dla ktorych Warp miałby działać źle z powodu innych rozszerzeń. Jesli działa źle, to, dokładnie tak samo jak kaźde inne źle dzialające rozszerzenie, z powodu, że jest zj*bany przez montera.

Jeśli Pasiu ma pomysł na naprawienie Warpa, to ładne parę osób czeka z niecierpliwością.

2,212

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

Jako że liczba i lokalizacja działających Warpów (sztuk 1) i F7 (sztuk pierwotnie 2, obecnie 1) jest dokładnie znana, raczej nie mogłeś widzieć w akcji żadnej z tych dopalek ani tym bardziej stwierdzić ich stabilności (bądź niestabilności). Osobiście mogę tylko powiedzieć, że w poprawnie wykonanych egzemplarzach obydwu dopałek żadnych niestabilności nie stwierdza się.

Co do dalszej części: Ok, czyli dodatkowy procesor pisze do pamięci, kiedy jest ona niewidoczna dla Antica, po czym staje się widoczna, ale wtedy procesor nie może do niej pisać. Synchronizacja tego pewnie będzie spoczywać na głównym 6502 atarki, który będzie dodatkowego proca haltował i uruchamiał stosownie do potrzeb. Stwierdzenie, kiedy pamięć jest widoczna dla Antica a kiedy nie, spocznie na jego programie? Bo jakoś nie widzę jak to można zrobić sprzętowo. Czyli dodatkowy procek będzie działał od złapanego stanu VCOUNT sygnalizującego początek dolnej ramki do stanu sygnalizującego koniec górnej ramki?

Fascynujący i jakże naturalny, zaprojektowany przez producenta sposób rozbudowy komputera.

2,213

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

@Marek Konopka: pinek nie ma w komputerze ani Warpa ani F7.

Jak już wspominałem, piękno tego rozwiązania polega na tym, że możemy pamięć Antic'a ulokować pod przełączanym obszarem CART'a.

A, że tak zapytam z głębi mojej (powszechnie chyba znanej) niewiedzy na ten temat: od kiedy to na złączu carta jest sygnał HALT, żeby zapobiec konfliktowi pomiędzy zapisem danej do pamięci ekranu przez dodatkowy procesor a żądaniem dostępu do tejże pamięci przez Antic?

2,214

(17 odpowiedzi, napisanych Programowanie - 16/32bit)

Lepiej kup sobie książkę B. W. Kernighan, D. M. Ritchie "Język ANSI C" albo starsza wersję "Język C". Nie ma lepszego podręcznika, a autorzy są twórcami języka C oidp.

2,215

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

mirko: załatw sobie VBXE, ono ma wyjście RGB, to chyba idealny monitor. Jak nie chcesz, to tanio odkupię :P

2,216

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

tebe napisał/a:

aktualne dopalacze WARP i F7 miewały problemy ze stabilnością działania

Skądże znowu.

Kart ma ograniczenia wynikające z jego natury. Szybki procesor szybko policzy np. tablicę sinusów czy obrót obiektu w przestrzeni, ale to "normalna" dopałka w rodzaju Warpa czy F7 też zrobi. Za to procek na karcie, nie mając DMA, nie będzie mógł wykorzystać swojej szybkości do np. zapisu danych na ekran, a to z kolei "normalny" dopał w rodzaju F7 czy Warpa, przy programie uruchomionym w faście, może jak najbardziej. Czyli w tym drugim wypadku mamy wszystkie zalety tego pierwszego, ale bez wad. Osoby kręcące nosem na ingerencję do środka komputera, założę się, mają oczywiście gołe 130XE, albo rozszerzenia pamięci na zewnętrznych modułach :P

2,217

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

macgyver napisał/a:

Osobiście jestem zwolennikiem wstawienia nowego procka w natywną przestrzeń adresową 6502 (ukłon w stronę 65816), niż domontowywaniem cartridgea z dodatkowym prockiem.

Niektórzy widać tak kochają bankowanie pamięci, że bez tego "to już nie jest Atari" :P No i nie, sorry, tylko nie kolejny typ rozszerzenia RAM-u, jak to ma być kart, to niech nim zostanie...

2,218

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

Nawet jeśli, to jakiś standardowy rdzeń FX się i tak przyda.

2,219

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

Ja bym głosował za usunięciem RAMBO z rdzenia FX. Ma to swoje zalety, ale ma i wady, np. jeśli program zechce użyć całej pamięci VBXE, wtedy cokolwiek jest załadowane do rozszerzenia komputera - np. DOS - zostanie zniszczone. Na pierwszy rzut oka fakt, że komputer i VBXE mają pewien obszar pamięci wspólny, wygląda atrakcyjnie, ale chyba w ogólnym rozrachunku ma to więcej wad niż zalet.

2,220

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

laoo/ng napisał/a:

Jak załaduje CoreFX to tez jest tam ta emulacja?

Tak, w FX jest.

2,221

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

@tebe: tia, też uważam, że emulacja rozszerzenia pamięci przez VBXE to troche overkill, zwłaszcza jeśli brakuje miejsca w FPGA (oraz zwłaszcza że to RAMBO, czyli rozszerzenie nie najdoskonalsze z możliwych). Ale ja mam 130XE, pamięci wewnętrznej komputera wystarczy do moich potrzeb, natomiast posiadacze gołego 65XE pewno by VBXE z RAMBO chcieli mieć...

2,222

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

Ma być. I jeszcze taki ze 192k zachowujący zgodność ze 130XE.

2,223

(17 odpowiedzi, napisanych Programowanie - 16/32bit)

Tia, bo to jest funkcja GEMDOS-u, a nie biblioteczna, więc by custom jest z dużej litery (tak samo Fopen() vs fopen() itd.)

2,224

(17 odpowiedzi, napisanych Programowanie - 16/32bit)

project file jest dla linkera, więc on ci owszem dołączy funkcję Cconin() pod warunkiem, że wcześniej zdołasz skompilować źródło. A skoro nie masz definicji tej funkcji, to niby jak ma się to udać.

Pewnie musisz dodać coś w rodzaju #include <tos.h>

2,225

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

electron napisał/a:

tym samym niezależnie od ilości resetów (ciepłych czy zimnych startów systemu - programowych lub przez klawisz RESET - nieważne) tam ciągle będzie jedynka

No i to właśnie nie jest dobre. Bo zimny start - nawet bez sygnału reset - ma przeładowywać od nowa cały system, a ciepły reset ma tego nie robić. Czyli tak jak pisałem, tego się nie da zrobić sprzętowo, to musi załatwiać soft, a na soft też nie zawsze można liczyć, bo np. po zimnym starcie user może zechce załadowac grę z inicjalizera. Wtedy znaczniki w pamięci VBXE zostałyby nieskasowane.

Czyli raczej się to nie da zrobić, tzn. mój rezydent będzie musiał być załadowany do pamięci dwa razy i przy każdym ciepłym resecie przepisywany do pamięci VBXE. No i chyba na tym poprzestaniemy.