1

(15 odpowiedzi, napisanych Programowanie - 8 bit)

online się nie da.

offline jak najbardziej w wielu przypadkach się da.

Przekompilowanie ROM z 2600 do postaci kodu wykonywalnego XL/XE przede wszystkich wielokrotnie zwiększy zajętość pamięci.
Jedna ramka statycznego playfield to ~10KB kodu.

Nie licząc gier z dynamicznie zmienianym playfield to wszystkie ROM-y 4KB powinny zadziałać z co najmniej 48KB RAM XL/XE z w miarę prostym rekompilatorem.

Problem taki, że niektóre kartridże miały 8, 16 i bodajże 32KB ROM (możliwe, że nawet więcej) i wtedy nawet statyczny playfield może szybko wybujać do np. 500KB kodu zrekompilowanego dla XL/XE.

Graficzny ANTIC 9 odpada ze względu na brak wystarczającej ilości cykli żeby zawartość linii ekranowej w locie podmienić.

Czyli zostaje offline przekompilowanie kodu do tworzenia playfield na znakacz i "emulacja" pozostałych rzeczy.
Dźwięk nie wiem czy da się w prosty sposób przenieść ale duszki, pocisk, zmiana kolorów, odczyt pozycji joy-ów, paddles itp. problemu nie powinny żadnych nastręczać.

EDIT: zegar i prędkości dla obu maszyn:
2600: ~1MHz bez straty cykli
XL/XE: ~1.7(1.8)MHz z podkradaniem cykli przez ANTIC (~1.3MHz rzeczywista w tym przypadku)

tyle, że 2600 musi również zmieniać synchronizację i robić kilka innych rzeczy za ANTIC-a, których w XL/XE nie trzeba przenosić co daje "zysk" minimum 40000 cykli na sekundę.

Na oko więc mamy "emulację" procesora i sprzętu z 0.9MHz na procesorze 1.3MHz czyli ~50% więcej cykli może pójść na potrzeby zmian w "używaniu" grafiki/dźwięku itp.

2

(15 odpowiedzi, napisanych Programowanie - 8 bit)

Rzeczywiście w trybie ANTIC 4 nie do końca uzyskuje się to co jest potrzebne. Podmieniany jest tam tylko 1 kolor, a nie zamieniane ze sobą tło z kolorem znaków.

Podmiana duszków itp. i tak musi jednak odbywać się w każdej linii ekranowej i nie widzę problemów z "dopracowaniem" zestawu znaków na potrzeby wyświetlania pełnych 256 możliwych kombinacji linii poziomych. Powinna chyba wystarczyć zmiana podczas wyświetlania znaku koloru tła i odpowiednie ustawienie 5 koloru.

3

(15 odpowiedzi, napisanych Programowanie - 8 bit)

mono napisał/a:

xxl już zrobił jeden "rekompilator offlineowy" - możesz go popytać jakie są problemy. Polecam wątek http://atariarea.krap.pl/forum/viewtopic.php?id=4772

Mówiąc szczerze po części z powodu tamtego wątku pomyślałem o emulacji 2600 czytając opis jak się ją programuje

mono napisał/a:
ArchieIl napisał/a:

* użycie trybu tekstowego 40x24, w którym wszystkie znaki są zaprojektowane jako wszystkie możliwe do użycia zestawy kreseczek poziomych ("mono").
* użycie trybu tekstowego ANTIC 4 ze znakami zdefiniowanymi j.w. (full kolor)

8 linii po 2 stany - ilość kombinacji = ilość stanów do potęgi ilość linii; wychodzi 256 kombinacji - nie wystarczy Ci generatora znaków.

Czemuż miałoby nie wystarczyć?
W obu trybach mam 128 znaków + inverse

mono napisał/a:
ArchieIl napisał/a:

W obu przypadkach dynamicznie zmieniające się tło będzie wyjątkowo trudne w realizacji ale na początek chciałby uzyskać emulację dla gier ze statycznym playfield i z dowolnie konfigurowanymi duszkami.

Przecież to zazpisywanie pełnych bajtów: $00, $11, $22 i tak aż do $88. Żadnego maskowania, przesunięć, liczenia - gdzie tu trudność?

Nie do końca.
a) 2600 rysuje tak naprawdę tylko połowę linii, a druga połowa to odbicie lustrzane lub duplikacja.
b) kolejność punktów w rejestrach rysujących linię jest "dziwna" i w przypadku dynamicznej zmiany wymagałaby utworzenia "rekonfiguratora" piksli, który nie wyrobi się w ramce.

Dużo zależy od inteligencji "rekompilatora". Statyczny playfield jest robiony raz i w Atarce wystarczy po utworzeniu playfield zająć się emulacją duszków, podmianą kolorów itp.

Dla gry typu pacman zmiana wyglądu playfield tak naprawdę wymaga zmiany kilku bajtów ekranu i można zrobić to z użyciem procedury dynamicznej o ile uda się stworzyć automat do przekonwertowania tworzenia całej ramki na tworzenie procedury zmieniającej różnice między poprzednią ramką i następną.

Tryb graficzny co prawda jest 80x192 ale statyczne podwojenie w poziomie nie jest wiele trudniejsze niż przestawienie bitów playfield (to jest 20 bitów, 2.5 rejestra bez jednolitości) z formatu rejestrów tworzenia wiersza ekranowego Atari 2600 do liniowości bitów w pamięci ekranu XL/XE.

4

(15 odpowiedzi, napisanych Programowanie - 8 bit)

Temat zupełnie nieoczekiwanie dla mnie zakiełkował i tutaj tylko naszkicuję sprawę grafiki.

Może ktoś się zainteresuje i stestuje możliwość realizacji tworzenia playfield. Ja póki co jedynie przeliczyłem, że powinno udać się w ten sposób rozwiązać sprawę emulacji tej konsoli ale na pewno nie dla dowolnego ROM-u.

Po pierwsze "emulator" tak naprawdę byłby binarnym rekompilatorem (offlinowym) ROM-ów dla 2600 na kod, który działałby z Atari XL/XE.

Po drugie w Atari 2600 całość grafiki w każdej ramce jest tworzona od 0 przez 6502 i wysyłana do układu graficznego. Niestety brak jest zgodnego trybu graficznego w ANTIC (2600 używa: 40x192 w 2 kolorach lub odcieniach + duszki (2x8 pixli) i pocisk (1x1 pixel) w "rozdzielczości" 160x192).

Ja widzę dwa rozwiązania problemu:
* użycie trybu tekstowego 40x24, w którym wszystkie znaki są zaprojektowane jako wszystkie możliwe do użycia zestawy kreseczek poziomych ("mono").
* użycie trybu tekstowego ANTIC 4 ze znakami zdefiniowanymi j.w. (full kolor)
* użycie trybu ANTIC 9 tyle, że nie sprawdziłem jeszcze czy ANTIC pozwala na podmianę zawartości poszczególnych linii i uzyskanie w ten sposób wymaganej rozdzielczości 192 lini w pionie.

W obu przypadkach dynamicznie zmieniające się tło będzie wyjątkowo trudne w realizacji ale na początek chciałby uzyskać emulację dla gier ze statycznym playfield i z dowolnie konfigurowanymi duszkami.

Tekst powyżej jest tylko luźnym zarysowaniem i na dziś brak jest po mojej stronie konkretnych planów realizacyjnych. Po prostu oglądając z zupełnie innego powodu opisy konsoli stwierdziłem, że "emulator" powinno udać się zrobić i z mojej pamięci jeszcze nikt tego nie zrobił.

Jeśli ja tematu nie ruszę to może komuś się innemu przyda/zachęci go ten tekst do ugryzienia sprawy. Myślę, że problem dużo bardziej interesujący jest dla Amerykanów. W Polsce Atari VCS miał raczej dosyć znikomą popularność.

5

(41 odpowiedzi, napisanych Sprawy atari.area)

Mi za co raz już zostałem zabanowany w zupełności wystarczy Atarowiec na stałe.

Dla wygody "swojej" z chęcią zobaczyłbym albo rangi związane z "działalnością" (z przedrostkiem aktywności co najwyżej czyli: koder, grafik itp. z dodatkiem milczek...pleciuga ;-) ), albo co automat mógłby zrobić, ale również raczej nie jest w tej chwili gotowe, rangi tworzone z uwzględnieniem forum, na którym dana osoba się wypowiada.
Czyli "bałaganiarz", "programista", "gracz", "kolekcjoner", "sceniak/demiak czy jak to nazwać" itp.

6

(36 odpowiedzi, napisanych Programowanie - 8 bit)

Gwoli wyjaśnienia o co mi chodziło.

2600 ma 2 duszki 1 bajtowe i 1 pocisk 1 bitowy.

Pozycję i wygląd duszków można zmieniać w locie podczas wyświetlania linii.

W zlinkowanym obrazku prawdopodobnie duszki zostały zduplikowane w linii i dodatkowo zduplikowane z użyciem sprytnego "double scana".

O migotanych duszkach wiem i widziałem. Tutaj zaproponowałem duszki migotane połowicznie z użyciem owego "double scana".

Stawiam, że nikt z wypowiadających się nie obejrzał screenshota wlinkowanego do tekstu.

7

(60 odpowiedzi, napisanych Bałagan)

Rzeczywiście dużo osób znalazło się do dyskutowania o technicznych aspektach ;-)
OS-u z multitaskingiem.

Mimo wszystko to nie tylko ironia... W innych miejscach (p.c.s.a głównie) kilka elementów było przedyskutowanych m.in. context switching na potrzeby 6502.

8

(36 odpowiedzi, napisanych Programowanie - 8 bit)

Poczytałem nieco o programowaniu Atari 2600 (całkiem ciekawa zabawka). Obejrzałem nieco screenshotów i znalazłem ten:
Atari 2600

i stąd temat multiplexing duszków...

Szkoda, że nikt się nie podjął napisania automatu do portowania gier z 2600 do XL/XE. Patrząc na opis byłoby to trudne ale możliwe ;-).

Za to ten zrzut z gry dla 2600 podpowiada jak można w łatwy i w miarę mało uciążliwy (dla gracza) sposób zrobić x2 ilość spritów w Atari XE/XL z użyciem miksu interlace + "doublescan".
Na każdej ramce widać wtedy wszystkie duszki tyle, że każdy z duszków byłby pokazywany "połowicznie".

Chyba, że istnieją gry, które ten "patent" podchwyciły i używały?

9

(18 odpowiedzi, napisanych Bałagan)

Rozumiem, że ten wątek został po to przeniesiony z Kolekcjonowania do Bałaganu żeby można było takie celne uwagi umieszczać?

Mówiąc szczerze rozglądając się po wyszukiwarkach byłem zaskoczony przebłyskami wzmianek o Meritum w różnych miejscach. Myślałem, że całość linii Meritum była zanikająca...

Skoro jednak u mnie w podstawówce Meritum się pojawił to rzeczywiście przynajmniej w niektórych regionach musiał być to dosyć popularny mikrokomputer.

Oryginalnego ZX Spektrum np. nie widziałem do LO, a tego polskiego szkolnego klona do dziś tylko na zdjęciach.

Interesuje mnie też informacja o istnieniu Meritum w szkołach np. Co prawda na dziś z kilku listów jakie wysłałem żaden nie przyniósł nic wartościowego to jednak zawsze można trochę podzwonić/pomailować i połudzić się, że znajdzie się chętny i zachomikowane graty gdzieś w szkolnej rupieciarni.

10

(18 odpowiedzi, napisanych Bałagan)

Trochę literatury mam ale niekoniecznie tej samej. Ostatnio na Allegro ktoś zwinął schematy i opis budowy z czasopisma Elektronik... z chęcią bym skan dołączył do kompletu.

Prywatnie powinienem z własnych posiadać Takie grube nieco ponad A5 tomiszcze o Meritum i książkę z opisem ZX-Spektrum, w której był pod koniec opis assemblera Z-80.

Do tego mam pdf-y książek o Meritum, związanych z Meritum/BASIC w nim użytym.

11

(18 odpowiedzi, napisanych Bałagan)

Ze względu na dostępność emulatora Z80 pod 6502 przyśpieszyłem "chęcio/plany" względem owej polskiej maszynki.

Sprawa wygląda następująco:
* szukam osób, które posiadają oprogramowanie w dowolnej formie na ten mikrokomputer. (listingi/książki, kasety, dyskietki)

Sam sprzęt mam acz jeszcze nie uruchomionywięc może jakieś kłopoty z nim będę mieć ;-) (ws?ępne dodatki/kontakty również znalazłem/nawiązałem).

Brakuje mi jednak oprogramowania, w szczególności polskiego.

Plan obejmuje kilka najbliższych lat i wchodzi do tego uruchomienie strony dedykowanej Meritum, rozbudowanie (TRS)/napisanie emulatora Meritum (GPL czyli pod wiele platform) i utworzenie emulatora Meritum na Atari z potencjalnym portem na inne mikrokomputery oparte o 6502 + docelowo zoptymalizowany BASIC zgodny z Meritum w celu emulacji programów BASIC ze 100% prędkości maszyny natywnej.

Byłoby mi miło gdyby ludzie/kolekcjonerzy związani z drugim komputerem, na którym nauczyłem się assemblera ;-) spojrzeli do swoich kolekcji czy nie mają z Meritum związanych "pamiątek" i gdyby zgodzili się wykonać stosowne skany/konwersję dźwięku do formatu cyfrowego itp.

Pozdrawiam.

12

(108 odpowiedzi, napisanych Programowanie - 8 bit)

drac030 napisał/a:

Zadałem sobie nieco trudu, by sprawdzić, skąd Ci się wziął ów "polling" oraz "timeouty generowane timerami Pokeya". Otóż, jestem przekonany, zajrzałeś do Zientary "We/wy". Tam przy procedurze RECEIV jest napisane, że przeprowadza ona cały odczyt. Skoro tak Zientara napisał, to to musi być prawda, nie? W procedurze widać jakieś ustawianie rejestrów Pokeya, w mapie pamięci można znaleźć, że są to "timery". Co może robić timer? Czas liczyć, oczywiście. A więc procedura ustawia timeout. Proste.

Już wcześniej napisałem, że nie jestem elektronikiem, i że nie programuje "zawodowo" na Atari.

W procedurach i opisach jakie podawałem brak było niektórych elementów np. procedur odbierających/wysyłających bajty ani odnośników do tychże.

Sprawdziłem i rzeczywiście POKEY podczas transmisji generuje przerwania po przeniesieniu bajtu do bufora 1 bajtowego.

Przy okazji dowiedziałem się, że Zenon ma procedurę do szybkich transmisji, która realizuje czysty polling bez udziału przerwań.

Oczywiście wy wiecie lepiej kiedy piszę tekst w trybie przypuszczającym z pytajnikiem, a kiedy twierdzę, że coś jest tak, a nie inaczej.

Spytałem... brak odpowiedzi. Poszukałem na sieci i z pobieżnego obejrzenia tekstów wyszło mi to co wyszło.

Po rozmowach z Zenonem i znalezieniu technicznej dokumentacji do POKEY potwierdzona została domyślna obsługa z przerwaniem po zakończeniu odczytu/zapisu pojedynczego bajtu generowanym przez POKEY.

Tyle, że ja nie przeczyłem, że nie jestem pewny jak to jest realizowane. Kod do I/O i tak w większości będzie konieczne tworzyć bazując na istniejącym chociażby z powodu braku wszystkich dostępnych urządzeń jakie można do Atari podłączyć.

Bezpośrednio potrzebowałem wiedzę czy jest możliwe oprócz transmisji realizowanie dodatkowych prac i tą wiedzę posiadłem nawet jeśli błędnie założyłem wysyłanie/odbieranie danych wyliczone czasowo zamiast wymuszanego przez POKEY-a.

13

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

Ciekawe co robią softwarowe SATA RAID wśród sprzętowych kontrolerów RAID.

Jakoś nie udało mi się przekonać szefostwa, że to nie jest wcale sprzętowy RAID i skorzystanie z karty jako oddzielnych dysków pod Linuksem nie jest gorszym rozwiązaniemniż używanie starego sterownika binarnego dostarczanego na płycie.

Po cokolwiek pytanie zostało zadane według mnie należy oprócz turb z przeróbką włączyć do niego wszelkie turba programowe jakie można było zrealizować.

Sądząc po okolicznych wątkach może np. chodzić o uniwersalny kabelek "turbo", który w takim przypadku nie powinien psuć możliwości normalnych magnetofonów.

(turbo softwarowe takie jak z cas2wav nie wymaga żadnych zmian w ROM i jest 100% przezroczyste dla programów).

MM: Mimo dobrych chęci (administracji) nie puszczę tym razem tego płazem. Z chamstwem trzeba walczyć kulturom i godnościom osobistom. Żegnam.

14

(108 odpowiedzi, napisanych Programowanie - 8 bit)

Wątek o dosyć "krzykliwym" tytule miał do tej pory ~2500 obejrzeń z czego większość już tutaj aktywnych osób, którym w zupełności wystarczają ich wiekopomne dzieła.

Pierwszy lepszy o dupie maryni ma porównywalnie lub więcej więc nie licząc reakcji na teksty typu nie umiesz to nie napiszesz sensu nie ma to żadnego.

Na swoje potrzeby mogę takie coś realizować przez następne 20-30 lat. Myślę, że Atarka mi tyle jeszcze wytrzyma. A na codzień wybaczcie ale wolę używać choćby i nowoczesnego telefonu komórkowego do "prac" ;-).

Nie ma się co ukrywać... Ci, którzy tutaj Atari używają i tak "kodują", "grafikują" itd. na pc-tach, a do "odpalania" gier, dem itd. wystarczy i cokolwiek (nawet ta moja startowa konfiguracja z magnetofonem i PC-tem jako źródło sygnału dźwiękowego. yoomp z kasety nie startuje swoją drogą).

15

(108 odpowiedzi, napisanych Programowanie - 8 bit)

Jak by to ująć.

Jeśli mowa o środowisku "zawodowych praktyków" to jeszcze przeboleję takie błyskotliwe komentarze.

Z TA pamiętam tekst o tym jak to studia niczego nie nauczą potrzebnego w programowaniu.
Przyjmuję więc ten dystans do prac teoretycznych za wbudowany w "image" "prawdziwych" "praktyków" Atarowców.

Jako jednak człowiek, którego ów obraz giełdowy nie przekonywał kiedyś i dziś też nie bardzo mu takie podejście imponuje (no mogę na to patrzeć z przymróżeniem oka)...

Ujmę to w ten sposób. Profesjonalistą i mi personalnie również wystarczy teoretyczny zarys w miarę szczegółowy ParaOS-u. Tutaj w zasadzie do praktycznego wdrożenia takiego zarysu nie zostałem przekonany.

Czyli wszyscy mogą odetchnąć z ulgą... To co wykombinuję "praktycznego" na sprzęcie jaki posiadam wrzucę do siebie na stronę. A forum potraktuję jako źródło lektury żeby czasem w ziomalstwo nie wejść ;-). Chyba jestem zbyt stary na teksty kojarzące się z "ocenzurowaną" z ku.. podstawówką.

16

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

Turbo normal to nie system turbo? ;-)

17

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

Mówiąc szczerze nie wiem czy chodzi o to żeby wiedzieć jak się rozpływały schematy turb pośród zakładaczy....

Czy żeby wiedzieć jakie sposoby przyspieszania transmisji mogły być używane w danym regionie.
Czy jeszcze o coś innego.

Przyspieszenie z 600 do 800 z użyciem stricte oprogramowania dla mnie jest jak najbardziej turbem tyle, że programowym i nie rozumiem braku związku z tematem. Z chęcią zobaczyłbym programowa przyspieszenie do 1200 (bez przeróbek) i sprawdził w odmiennej praktyce możliwość stosowania.

18

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

cas2wav maksimum ma 875.

W tej chwili używam sinusa (wcześniej block na potrzeby kompresji) i z sinusem 875 działa bez problemu (właśnie draconusa wczytuję, a to długie jak cholera).

Sprawdzałem 900 ale nie wykrywa mi sygnału. Możliwe, że tamten program podmieniał procedurę odczytu przy okazji albo np. próbkowanie 44100 nie daje wystarczająco dokładnego sinusa.

A czy to turbo na standardowy magnetofonie nie było czasem w listingu w jakiejś gazecie? (TA albo BAJTEK)

19

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

Z ciekawostek mogę napisać, że dzisiaj na standardowym nieprzerobionym magnetofonie z użyciem adaptera car audio, laptopa i cas2wav uzyskałem 850 baudów.
Acz z taką prędkością wczytywanie działa nie zawsze.

Pewnikiem zanim będę mieć SIO2PC zdążę sprawdzić stabilne maksimum dla takiego podłączenia Atari do PC-ta ;-).

Zna ktoś z Was jakieś demo interlace, które można wczytać z magnetofonu lub uruchomi się z ramdysku?

MM: z ciekawostek mogę napisać, że offtopiki kończą się zazwyczaj banem.

20

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

Tak. antena tuner, który na kablu cinch<->cinch daje "normalną" jakość obrazu.

Widziałem sporo postów o kiepskiej jakości obrazu na tunerze z podłączeniem przez gniazdo antenowe więc zastanawiam się czy kabel cinch<->antena (w Atari jest gniazdo cinch, a nie antenowe) wystarczy żeby jakość była normalna u każdego.

Jak widać chętnych do sprawdzenia brak ale u mnie działa więc można przyjąć, że dobrze zrobiony kabel cinch<->antena powinien rozwiązać problem kiepskiego obrazu w przypadku tunerów.

21

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

Z motor start, a u mnie kabelek dodatkowy (ostatnio kupiłem magnet z takim) był podłączony do command.

22

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

Ale czy ten program działa z dowolnym magnetofonem? Czy tylko z przerobionym do blizzarda?

23

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

Blizzard + 130XE + DOS + QA i trochę dodatkowego oprogramowania z TA i nie tylko wrzuconego do ramdysku.

Całkiem przyjemnie się pracowało. Tylko trzeba było uważać żeby nie uruchomić czegoś co rozwaliło konfigurację bo odczytywanie wszystkiego od zera było upierdliwe. Pół biedy jeśli wystarczyło oduruchomić ramdysk żeby mieć dostęp do zgranych na nim programów.

Czy to prawda, że to turbo gwarantowało podgląd ścieżki na taśmie?/regulację głowicy?

Mówiąc szczerze nigdy się nad tym nie zastanawiałem, a teraz czytam, że normalny magnetofon na to nie pozwalał.

Swoją drogą mój kart do Blizzarda pozwalał na twardy reset i w zasadzie można było z nim łamać gierki ;-). jeśli tylko do kompletu dorzucić odpowiedni debugger. tyle, że niestety stan pamięci był ale ani kontynuacji ani bardziej zaawansowanych funkcji :-(. No i we własnych programach był nieprzydatny ;-).

24

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

Ma ktoś z was w cas program do ustawiania skosu głowicy?

Nie potrafię się doszukać, a nie pamiętam w czym i jak się mógł nazywać taki program.

25

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

Oj jeśli nie było jeszcze o turbach w stacjach to będzie na przyszłość.

Ja swój magnetofon przerabiałem w Zawierciu z ogłoszenia bodajże w jakiejś gazecie.