udało się :), pełne synchro dla IRQ bez WSYNC dla trybu 9++, DMA dla PMG wyłączone
wywoływane co 4 linie, 78 cykli do wykorzystania w programie przerwania IRQ
p.s.
klawiatura nie generuje dodatkowych przerwań IRQ
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
STOS BASIC V5.5 Alpha Popularny język programowania dla Atari ST powraca po ponad 30 latach w nowoczesnej wersji.
Command & Conquer na Atari ST Kultowy RTS Command & Conquer zmierza na Atari ST. Zobacz niesamowity port legendarnej strategii.
Altirra 4.50 test 13 Avery Lee udostępnił kolejną wersję testową najdoskonalszego emulatora Atari.
CT60 TOS 1.03e Po blisko 21 latach ukazała się oficjalna aktualizacja CT60 TOS do wersji 1.03e.
Gearlynx 1.2.14 Ukazała się kolejna odsłona zaawansowanego emulatora Gearlynx dla konsoli Atari Lynx.
atari.area forum » Posty przez tebe
udało się :), pełne synchro dla IRQ bez WSYNC dla trybu 9++, DMA dla PMG wyłączone
wywoływane co 4 linie, 78 cykli do wykorzystania w programie przerwania IRQ
p.s.
klawiatura nie generuje dodatkowych przerwań IRQ
będziesz musiał być bardziej bezpośredni, widać ich pamięć nie dociera do lat 80-tych
'To nie jest plik komputera Atari, Commodore, Spectrum, Amstrad i im podobnych'
Pajero meble koduje ;)
Sikor -> http://tajemnice.atari8.info/7_91/7_91_mapa.html
jako miłośnik Turbo Basica mogłeś pomijać tą lekturę ;)
Twój kod przerwania jest OK
PHA
TXA
PHA
LDA #$FF
LDX #$00
STA WSYNC
STA COLPF1
STX COLPF2
PLA
TAX
PLA
RTIsprawdziłeś pod debuggerem jak wygląda ten program po kompilacji w pamięci Atari ?
może sposób wywołania zawodzi? ustawiasz wektor $0200 dla DLI? modyfikujesz DisplayList i wstawiasz tam rozkaz DLI? na samym końcu ustawiasz NMIEN na $C0?
może szybkość ma tutaj znaczenie i zła kolejność, przed modyfikacją wektora $0200 trzeba odczekać do początku ramki, tak aby zmiany jakie są wprowadzane nie zostały przerwane wywołaniem kolejnego przerwania
chyba że korzystamy z OS i on nam zmienia te wektory wprowadzając odpowiednią synchronizację
a gdyby tak zwiększyć zakres odbiorców tej świetnie zapowiadającej się gry, dodać mapę kolorów VBXE, tak jak zrealizował to Konop w Rick-u
a gdyby tak użyć asemblacji warunkowej
a z medycznego punktu widzenia jak nazywa się to zaburzenie ?
BASIC, PLOT i DRAWTO to dla prawdziwych retro-maniaków :D
najlepiej zajrzeć na szwedzką stronę http://napisz.se
Lepix
dokładniej zbadałem to na Rapidusie
dla 65816 INC IRQEN wywołane na przerwaniu IRQ w celu jego zakończenia/wystartowania działa inaczej, efekt jest taki jakby IRQ przejęło 100% mocy CPU, NMI działa, ale główny program już nie
tak XXL, masz rację :)
Ci co słyszeli PCM 4+4 pewnie będą nadal chcieli, dlaczego ?
Bo słyszeli jak gra POKEY PCM4+4 ...
z tego co zauważyłem dla kompresji MEM (-m) pakery rozpoznają nagłówek w stylu C64, 2 bajty z adresem pod który mają być ładowane dane, czyli próba kompresji pliku Atari $FFFF,adres,adres+len-1 skończy się obliczeniem adresu $FFFF+.....
musimy spreparować plik, dodać dwu-bajtowy nagłówek z adresem pod którym znajduje się blok danych, po kompresji otrzymamy blok z którego dwu-bajtowego nagłówka odczytamy pod jaki adres musimy załadować spakowany blok
teraz jedynie pozostaje wywołać SUBSIZER przez 'jsr decrunch' wszystkie informacje zostaną pobrane z końca spakowanego bloku, nie trzeba nic modyfikować jak w przykładzie który wyżej załączyłem (post #10)
http://www.atari.org.pl/forum/viewtopic.php?id=12109
Seban:
"Tak samo przy wykorzystaniu faktu iż operacje typu INC, DEC są operacjami Read-Modify-Write, gdy chciałem zablokować przerwania NMI stosowałem INC $d40e, a gdy chciałem odblokować NMI to po prostu DEC $d40e"
Fox:
"Dla kompletu: LSR $d40e włącza samo VBLKI."
p.s.
nie słuchajcie piernika Electrona ;)
inc NMIEN
dec NMIENz powodzeniem używam na Rapidusie (65816), działa, testowane na prawdziwym sprzęcie
na podstawie kodu obsługi IRQ Phaerona http://atariage.com/forums/topic/244946 ... try4041309
można dowiedzieć się że jest trick dotyczący wyłączenia/włączenia IRQ (działa bodaj tylko z licznikem #4)
dotychczasowe
mva #0 IRQEN
mva #4 IRQENmożna zastąpić zwięzłym
inc IRQENw załączniku najnowsza wersja wyświetlania grafiki MCP (przełączanie 3 rejestrów kolorów co linię trybu GRAPHICS 15, 160x200x16) z użyciem przerwania IRQ, co daje sporą przewagę względem klasycznego DLI, zostaje nam ~15226 wolnych cykli CPU
nie używamy 'STA WSYNC' co linię jak jest to w przypadku DLI
spróbuj SUBSIZER, podobny stopień kompresji do EXOMIZER-a
subsizer -m -o filename.out filename.inw sumie to sobie sam odpowiedziałeś :)
XXL będzie musiał stworzyć swoje własne party, na którym nielegale będą wymagane ;)
błędy emulacji w rdzeniu GTIA i FX były zgłaszane Electronowi, ale nic z tym nie zrobi, brak miejsca, musiałby wyjść nowy VBXE z większą pamięcią dla FPGA, czyli cała dotychczasowa linia VBXE idzie do piachu
- VBXE nie wyświetli rozszerzonych duchów na całą szerokość ekranu (błąd GTIA przy zmianie szerokości 2 -> 3) w określonym cyklu linii obrazu
- VBXE źle wyświetla duchy gdy następuje przejście w linii obrazu z piorytetu GTIA = 0 na GTIA = 1 (obrazek 'APPClown_Atari_Rocky.g2f' z przykładów G2F, katalog 'Rocky', program rastra od linii 59, obecna wersja jest już po poprawce, VBXE powinien sobie z tym radzić)
trzeba przestać narzekać, jęczeć i nauczyć się korzystać z tego co się ma
czekacie aż Electron umrze, pochowacie go i wtedy już nie będziecie tworzyć wymówek i zaczniecie robić na tym co zostało ?
czego brakuje? brakuje tytułów na wyłączność, czyli to co napędza rynek konsol, https://en.wikipedia.org/wiki/Console_exclusivity
trzeba pisać, pisać choćby najmniejsze 'pchełki' bo to zwiększa doświadczenie i powoduje że kolejne projekty 'same się piszą' kiedy zaczynacie korzystać z wcześniejszych doświadczeń, fragmentów napisanego kodu, teraz tego się nie dostrzega, nie chcecie marnować czasu i stworzyć gotowy projekt idealny i wydajny, nie da się, trzeba pisać i jeszcze raz pisać, małe pierdoły które okazują się później dużymi 'pierdołami' kiedy zaczynasz łączyć je razem
każde takie nowe rozszerzenie stanowi odrębną całość, nikt nie myślał aby stworzyć najpierw układ DMA a potem do niego podłączać nowe urządzenia
Electron zamknął temat definitywnie, ostatnia modyfikacja rdzenia VBXE dotyczyła podmiany palety kolorów na opracowaną przez ROCKY-ego, jest ten rdzeń do pobrania ze strony madteamu
Electron już oświadczył że nie będzie się tym zajmował, informował też że kompilacja dotychczasowych rdzeni wymagała dużo pracy aby to upchać, walczył już o każdy bajt aby to zmieścić, więc jakiekolwiek zmiany dotyczyć mogą tylko nowych oddzielnych rdzeni nie kompatybilnych z dotychczasowymi
tak jak ma to miejsce obecnie, wybierasz rdzeń GTIA, albo rdzeń FX, a jak do tej pory tylko JEDNA osoba napisała te rdzenie, czyli Electron
uprzyjaźnić VBXE? a po co Mad Pascala tworzyłem? przykłady są? są ...
te informacje odczytuje depacker ze spakowanego pliku, konkretnie z jego końca
load address, dwa bajty nagłówka z adresem pod który mają się ładować dane, normalnie je pomijasz
ins 'filename',2
albo ustawiasz '-l none' i już ich nie ma
p.s.
w załączniku przykład dekompresji dla najnowszej wersji exomizera
exomizer 3.0
https://bitbucket.org/magli143/exomizer/wiki/Home
zmiana formatu zapisu danych, lepszy stopień kompresji, krótszy/szybszy dekompresor
dla zachowania kompatybilności z exomizer 2.0 należy użyć przełącznika -P0
exomizer mem -P0 -l0xLOAD_ADDRESS -c <INPUT_FILENAME> -o <OUTPUT_FILENAME>mads\examples\players\rmt_player_relocator
p.s.
dołączasz właściwy plik *.FEAT ?
to jest plik RMT stripped, specjalnie wygenerowany przez RMT ?
atari.area forum » Posty przez tebe
Wygenerowano w 0.102 sekund, wykonano 23 zapytań