@jellonek: zdjecie plyty w dobrej rozdzialce umiesc tu http://www.atari.org.pl/forum/viewtopic.php?id=10165
@syscall: moze zrob zdjecie tych prockow - pewnie czesc z nich juz jest przetestowana...
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
4th Atari ASCII Compo - wyniki Dostępne są już wyniki tegorocznego ATASCII Compo.
thing neo 1.60 Olivier Landemarre wydał nową wersję desktopu Thing.
VIII. Basque Tournament of Atari 2600 Kolejna relacja, wśród otrzymywanych od naszego przyjaciela Egoitza z Kraju Basków.
atari.area forum » Programowanie - 8 bit » 6502C niepublikowane rozkazy
Strony Poprzednia 1 2 3 4 5 6 … 26 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
@jellonek: zdjecie plyty w dobrej rozdzialce umiesc tu http://www.atari.org.pl/forum/viewtopic.php?id=10165
@syscall: moze zrob zdjecie tych prockow - pewnie czesc z nich juz jest przetestowana...
xxl: poczekaj az sprawdze te swoje kilkanascie procków :P
Doczekasz, naprawde nie mam teraz na czym testowac.
to co? beda chociaz te zdjecia? jesli nie masz czasu testowac udostepnij zdjecia (moze faktycznie masz cos czego jeszcze nie przetestowałem) - znajde atari z takim procem i sprawdze.
XXL - mam wątpliwości co do klasyfikacji na atariki. Dlaczego CIM są na czerwono? Przecież to są bardzo stabilne rozkazy. Za każdym razem działają tak samo - Czekają na przerwanie RESET. Powinno się wg mnie zmienić ich nazwę na WAR - WAit for Reset.
"Użyto mnemoników stosowanych w makroassemblerze MADS oraz monitorze emulatora Atari800Win PLus." - po co wymyslac nowe nazwy mnemonikow?
CIM w.mnie jest niestabilny. nie mozna sprawdzic jak dziala. czeka na reset? za malo. co ze wskaznikami, rejestrami, pamiecia.
---
na zielono sa tylko te rozkazy ktore na 100% dzialaja i mozna podac dokladnie co sie dzieje w pamieci, rejestrach i wskazniku.
na czerwono mimo, ze niektore z nich dzialaja jak w opisie to sposob dzialania zalezy od modelu a wiec nie sa wspolne dla wszystkich 6502C. - te niestabilne to tez ciekawy temat... ale to innym razem
Kiedy to jasne. Zobacz sobie tę symulację. Zmieniam tu parę rejestrów, odpalam WARa o kodzie $02, a po pewnym czasie resetuję procesor powtarzając ten sam kod. Jak widać ten WAR (i wg mnie wszystkie inne, ale możesz sobie sprawdzić) nie zmienia zawartości żadnych rejestrów, ani nie zapisuje nic do pamięci (rw jest zawsze 1). RESET ustawia tylko I i przesuwa stos i widzimy, że żadne inne rejestry się nie zmieniły. Możesz trywialnie odpalić podobny kod na prawdziwym atari i uzyskasz ten sam efekt.
Jak widzisz, można sprawdzić jak działa, a działa bardzo deterministycznie i dokładnie wiadomo co dzieje się z rejestrami i pamięcią, więc nie uważam, jakoby był to rozkaz niestabilny. Bądź konsekwentny i zrób go na zielono. Niefortunną nazwę już przeboleję, ale rzekoma niestabilność jest dla tej rodziny rozkazów krzywdząca.
nazwy nielegali podpatrywałem w Atari800Win, stąd Mads ich używa, można wstawić dodatkowe nazwy mnemoników jako alternatywę
@laoo: ta symulacja nie dotyczy 6502C. nie wierzysz? sprawdz rozkaz SHA. proponuje wykonywac testy na atari a nie na emulatorach...
---
> można wstawić dodatkowe nazwy mnemoników jako alternatywę
ja ciagle uzywam np .byte $0c zamiast NPO - sprawdz jak to dziala w mads. lepszy bylby TOP... a dla 2 bajtowych nop DOP ale nie wiem czy jest o co kruszyc kopie ... (takie mnemoniki widzialem na c64...)
Ta strona zawiera symulator, nie emulator. Zacytowałem ją gwoli pokazania, że nie ma nic magicznego w teście, który wykaże, że te rozkazy są stabilne i program na prawdziwym atari pokaże ci ten sam efekt jaki można zaobserwować w symulatorze, musiałby być tylko "interaktywny", bo wymagałby wielokrotnego naciskania RESET.
ten symulator nie jest symulatorem 6502C !!! juz mowilem - sprawdz inne rozkazy niepublikowane i zobaczysz ze w tym symulatorze daja inne wyniki niz na atari !!!
rozkazy CIM (KIL/JAM/HLT) bardzo trudno sprawdzic... co ma byc w opisie? "funkcja nieznana, stan rejestrow nieznany, wyglana to to ze blokuje procesor" - i to ma byc opis stabilnego rozkazu? gdyby zapodac atari custom OS - byc moze po reset cpu nie zmienia znacznikow i rejestrow cokolwiek mozna by bylo wymyslec a tak nic nie wiadomo.
laoo: daj sobie spokoj. xxl wybiorczo podchodzi do tego co jest standardowe (np. 6502 to MUSI byc 6502c, ale popatrz juz np. na podejscie do ramu i "mapram").
nie przetlumaczysz mu ze w 6502c czesc rozkazow dziala przypadkowo, bo maja uproszczony (wzgledem chocby 65c02, czy 65816, czy innych 65xx) dekoder instrukcji. uproszczony, celem minimalizacji ilosci bramek...
co z tego ze rejestry maja jakikolwiek stan, skoro i tak stan procesora wymaga resetu?
dasz rade zrobic cos z nimi bez resetu?
xxl od lat ma swoja wizje co mu pasuje jako standardowe, a co nie (nie tylko o ten ram chodzi, nie tylko o podejscie do dosow ;) ). ma swoja wizje - i uwazam ze nalezy ja uszanowac, przemilczajac ;)
chcesz konkretnych informacji na ten temat - to nie pros innych by ci udowadniali cokolwiek. napisz do mensza (http://www.westerndesigncenter.com/wdc/WDC_Founder.cfm - ponoc "z lekkim opoznieniem", ale odpowiada na maile) - niech on ci wyjasni, bo pewnie innym osobom nie uwierzysz...
no chyba ze sam cos wyczytasz z http://www.6502.org/documents/publications/6502notes/ choc znajac ciebie zaraz odpowiesz ze to tyczy sie 6502 a nie 6502c :D
kim1 user notes.... litosci
tyle tam info dotyczacych tematu co w tym: http://www.youtube.com/watch?v=oavMtUWDBTM tresci
Wydaje się, że z tymi rozkazami jest jak z czasownikami nieregularnymi w angielskim.
Nazywamy je nieregularnymi ale wśród nich można wypatrzeć co najmniej 3 stałe wzorce tworzące.
Może to nie jest "profi" korzystać z tych rozkazów ale jeśli program ma być bardziej "sweetaśny" i działać na 95%
sprzętu, to "why not" ?
6502/6502C różnią się na tyle niewiele, że różnica w nielegalach powinna być wg mnie tylko na poziomie rozkazów niestabilnych, czyli zbierających śmieci z szyny. Specyfika WARów polega na utracie poczucia czasu, bo po 7 cyklu urywa im się film ;) i nie ma możliwości, żeby któryś przeszedł do następnego rozkazu. Do pamięci nigdy nic nie zapisują, kwestia tylko, czy nie modyfikują żadnych rejestrów. Symulator pokazuje, że nie, ale nie mamy pewności nieistnienia po drodze żadnych "efektów szynowych". Potrzebne byłyby albo wnikliwe testy w dziczy z podmienionym ROMem, żeby przechwycić oryginalny RESET, albo mądrzejszy symulator potrafiący wykryć niestabilności - wg mnie jest to możliwe na poziomie symulacji.
Ogólnie tylko żartuję sobie z arbitralnego podziału STABILNE / NIESTABILNE i odmowie nadania stabilnego statusu rozkazom, które u nikogo nie zrobiły nigdy nic innego, jak zaczekanie na RESET. Jestem przekonany, że da się to rozstrzygnąć za pomocą odpowiedniego symulatora (poprzez wykrycie "zapisów" na wewnętrzną szynę z kilku źródeł), ale gra nie jest warta świeczki.
a ja bede bronil podzialu na stabilne oraz niestabilne. jest tak jak piszesz - niestabilne w tym symulatorze dzialaja a na atari nie i mozna to latwo sprawdzic. stabilne dzialaja i tu i tu (i nie sadze, zeby znalazl sie smialek ktory to podwazy - testy sa bardzo proste mozna sprawdzic) natomiast z CIM jest taki problem, ze nie mozna testami potwierdzic lub podwazyc jego dzialania (nie na atari ze standardowm atari OS).
> różnica w nielegalach powinna być wg mnie tylko na poziomie rozkazów niestabilnych, czyli zbierających śmieci z szyny.
nie przywiazywalbym wagi do niestabilnych bo i tak tych akurat bym nie uzywal ale umiem wykazac, ze w SHA nie sa to smieci.
dziala na 100% komputerow atari xl/xe :-)
Seria ATARI XXL :) :) :)
Co do rozkazów CIM/JAM/KIL/WAR wiadomo, jak one działają - mianowicie procesor wchodzi w stan, w którym nie pobiera następnych instrukcji i nic nie robi. Jeśli chcecie, mogę poszukać linka z dokładnym opisem. Spotkałem się z zestawieniem opcodów, które twierdzi, że dwa lub cztery opcode-y CIM/JAM/KIL/WAR nie zawsze powodują zawieszenie - ale nie sprawdzałem, ile w tym prawdy.
Racja, w dodatku mają różne tryby adresowania przekładające się na liczbę cykli (w tym dodatkowy cykl przy przekroczeniu granicy strony przy indeksowaniu X). Co do maskowania rozkazów, nie znam przypadku w którym BIT by się nie nadał.
albo cos takiego. przekazujemy do podprogramu parametry przykladowo dwa:
jsr podprogram
.byte $00,$00
zwyczajowo podprogram powinien aktualizowac stos zeby ominac parametry po powrocie:
lda PZER0
clc
adc #2
tay
bcc _1
inc PZER0+1
_1 lda PZER0+1
pha
tya
pha
rts
a z niepublikowanym rozkazem TOP mozna to ominac:
jsr podprogram
TOP
.byte $00,$00
i podprogram wraca tak
rts
caly czas wskazniki mamy prawidlowe
Strony Poprzednia 1 2 3 4 5 6 … 26 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
atari.area forum » Programowanie - 8 bit » 6502C niepublikowane rozkazy
Wygenerowano w 0.029 sekund, wykonano 59 zapytań