lda $00
sta 560 ; POKE 560,PEEK(0)lda #0
sta 560 ; POKE 560,0Podobnie "cmp 0" -> "cmp #0", a można tę instrukcję pominąć, bo lda ustawia znacznik Z.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
SQL na Atari 8-bit Nowe narzędzia pozwalają na obsługę baz danych SQL na Atari 8-bit przy użyciu urządzenia FujiNet.
Altirra 4.50 test4 Nowa wersja testowa emulatora Altirra przynosi poprawki interfejsu oraz wsparcie dla środowiska Wine.
8. edycja Atari Homebrew Awards Ruszyło głosowanie na najlepsze gry wydane w 2025 roku na konsole i komputery Atari.
AspeQt-2K26 Nowoczesny fork klasycznego AspeQt wspierający Qt 6 i TNFS
Fujisan 1.1.3 Fujisan 1.1.3 to nowa odsłona emulatora opartego na libatari800, skupiona na integracji z FujiNet.
atari.area forum » Posty przez Fox
lda $00
sta 560 ; POKE 560,PEEK(0)lda #0
sta 560 ; POKE 560,0Podobnie "cmp 0" -> "cmp #0", a można tę instrukcję pominąć, bo lda ustawia znacznik Z.
sbx #$00Respect!
b4 SKCTL jest też na schemacie SERIN i powoduje reset zegara 4 w momencie nadejścia bitu startu. To koryguje drobne różnice między prędkością wysyłania przez stację i odbierania przez komputer - to jest to, co nazywa się "async" w tabelce dla SKCTL. Wynika z tego, że odczyt ze stacji działa dla $1x, $3x, $5x i $7x. Jeśli chcemy wysyłać do stacji, to musimy to robić na zegarze POKEYa (nie wiem, co rozumiesz przez wysyłanie asynchroniczne), więc $2x, $4x, $6x i $7x. Więc wspólne ustawienie to $7x, z tym że prędkość wysyłania ustawiamy wtedy zegarem 2, a nie 4.
Nie wiem, gdzie znalazłeś "010 transfer and recive rate asynchronous (channel 4)" - nie ma tego w pokey.pdf.
Edit:
Odpowiedź na "pytanie pokrewne" z pierwszego postu: wiele zależy od tego, jak zrealizujemy transmisję. Jeśli "standardowo", tj. opierając się na liczniku POKEYa i rejestrze SERIN, to największa prędkość dla AUDF3=AUDF4=0 to 14 cykli na bit, czyli 126675 bps (z overrun jest tak jak piszesz, rozrysowane na schematach SERIN i IRQ). Możemy też próbować odczytywać 6502 bezpośrednio każdy bit z SKSTAT - w b4 jest tam wejście szeregowe. W obu przypadkach największym problemem jest, aby strona nadająca miała zbliżoną prędkość, a zwykle nie można jej płynnie regulować. Problem ten rozwiązałoby podłączenie BCLK i użycie trybu $0x lub $4x.
Schemat wyjaśnia, jak działa BCLK. Wyjaśnia też, dlaczego nie można komunikować się w obie strony ze stacją przy SKCTL $23. Czyli są tam odpowiedzi na Wasze pytania. Nie wiem, co "rozwala" w moim pytaniu, na które chętnie poznałbym odpowiedź.
Tego z external clockiem w pokeyu chyba nikt nie rozumie, poprawcie mnie, jeśli się mylę (bo też bym chciał wiedzieć jak i czy to działa).
http://asap.sourceforge.net/pokeydoc.zip
Otwieramy index.xml. A w temacie: registers.xml#SKCTL oraz serclk.xml
Niektórzy już napisali. :) BTW. zegarek na forumie się spieszy.
XXL: niech zgadnę: sprawdzasz na Atari800Win PLus, którego ostatnia wersja ma już prawie 4 lata.
Szansa jest. ;)
Ale przecież ten temat (samo PMG) już był.
Ten plik jest zwalony. ASMA 3.2 zawiera poprawny.
O ile wiem to najnowsza oficjalna ASMA 3.2 wyszła 2007-08-23. Chyba masz pirata. ;)
Lasermanię nuciłem wiele razy, LL2k2 specjalnie mi nie zapadło w pamięć.
Dracon: a która ASMA ? Stawiam, że jakaś stara.
Party version Numena było wypuszczone i to był błąd, bo później na youtube ktoś wrzuca party version zamiast final, w dodatku na starym emulu ze zwalonymi basami. Tak więc ja wolę poczekać - mam nadzieję, że jest na co.
Jak się wywala?
Bober: ASMA "umierała" już wiele razy, więc bym się tym nie przejmował.
mazi: to wina tych playerów, że nie emulują właściwie POKEYa.
Hmm, myślałem, że jest już w ASMIE, bo zrippowałem ją ponad rok temu.
W takim razie wrzucam tutaj.
Cała obsługa pistoletu przez OS polega na przepisaniu rejestrów pozycji z ANTICa do RAMu raz na ramkę. Sprawdzając rejestry ANTICa co dwie linie powinno się dać obsłużyć dwa pistolety. Dodatkowo sprawdzać w GTIA, który to pistolet.
Poke 566,158
Nie wiem o czym mówicie, po prostu kolega puścił w pracy. :)
Takiego emulatora nie da się zrealizować i to z wielu powodów, wymienię tylko kilka:
1. 2600 ma 20 bitów pamięci obrazu na stronie zerowej, co starcza na pół szerokości ekranu, druga połowa może być taka sama, lub odbiciem lustrzanym, a przez odpowiednio docyklowany zapis można wyświetlić co innego.
ANTIC nie ma takiego trybu. Najbardziej zbliżone byłoby wyłączenie ekranu i ustawienie duszków na maksymalną szerokość, co i tak nie rozwiązuje kwestii powielania grafiki na drugą połowę ekranu.
2. Duszki mogą być nie tylko rozciągane, ale również powielane (np. ten sam duszek wyświetlony 3 razy z odstępami).
3. Większość rejestrów sprzętowych jest na stronie zerowej i nie ma odpowiedników w a8.
4. Procek w a8 jest chyba tylko 1/3 szybszy niż w 2600, więc nie ma wystarczającego zapasu, żeby emulować rzeczy, które nie mają odpowiedników sprzętowych.
POKE 1535+I,A
Bajt po bajcie to skoki 1.
Co jest śpiewane w demie Lost Blubb ?
Tutaj nie ma tego dema.
Chodzi mi o coś takiego: I = USR(ADR, a0MSB, A0LSB, S0, a1MSB, a1LSB, S1, L, B);
ADR - adres wywołania procedury
a0MSB - bajt starszy adresu źródła
a0LSB - bajt młodszy adresu źródła
S0 - offset pobrania (przeskok w bajtach między kolejnymi komórkami pobrania)a1MSB - bajt starszy adresu celu
a1LSB - bajt młodszy adresu celu
S1 - offset wstawiania (przeskok w bajtach między kolejnymi komórkami wstawiania)
Każdy parametr USR jest przekazywany jako dwa bajty, więc może wygodniej byłoby przekazywać adresy normalnie, bez rozdzielania na bajty?
IMHO nazwy mogą zostać, tylko podnieść progi, bo niedługo wszyscy będą królami offtopiku.
Z czy bez "(char)" powinno działać tak samo. Ustawiasz element tablicy bajtów, a więc jeden bajt.
Jeśli chodzi o śmiecenie, to śmieci tutaj gets(nazwa) i to z dwóch powodów:
1. Oczekuje ona adresu bufora, a nie niezainicjalizowanego wskaźnika.
2. Funkcji tej wcale nie powinno się używać, bo nie przyjmuje ona długości bufora. Należy używać fgets().
atari.area forum » Posty przez Fox
Wygenerowano w 0.059 sekund, wykonano 22 zapytań