601

Odp: 6502C niepublikowane rozkazy

@ - kto się szczerze pośmiał, ten zdrowszy :) A jeśli kogoś zainspirowała ta historia to jeszcze lepiej.
I tak jak mówi XXL - uważajcie na "kompotach" na typa powyżej siedemdziesiątki marudzącego coś o nielegalach - to będzie "TEN FACET" - może powie coś więcej.

602

Odp: 6502C niepublikowane rozkazy

@pablozp ... oczywiste, że tak.

603

Odp: 6502C niepublikowane rozkazy

@laborant - nic osobistego -  mam nadzieję, że moja reakcja była aż nader oczywista - i nie tyczy się Twojego tekstu co jego pojawienie się  na skutek posta poprzednika :-) Nie mniej jednak treść jest godna zapamiętania i postanowiłem fragmentarycznie użyć jej w stopce. Dzięki, oczywiste.

Ostatnio edytowany przez pancio.net (2019-03-01 16:59:20)

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

604

Odp: 6502C niepublikowane rozkazy

O, tu jest genialny przykład jakiś, na początku tego tematu znalazłem. Jeśli to jest prawdą, to super rzecz jakaś musi być.

Ciekawe, czy to działa w realu? Ktoś to sprawdzał?

xxl napisał/a:

czyli w tym przypadku kod:

        txa
        clc
        adc #$10
        tax

mozna zastapic rozkazem:

        sbx #$100-$10

Aż sobie sprawdzę i policzę, z ciekawości, liczbę cykli, chyba, że ktoś już liczył.

Ciekawi mnie:

- liczba cykli dla pierwszego bloku rozkazów
- liczba cykli dla drugiego bloku rozkazów

Asemblerowo takie odejmowanie, to chyba formalnie oszukuje trochę, czy nie? Jak się robi odejmowanie przy sbx? Hmm...

OK. Muszę to sprawdzić i dokładnie opisać i zaspokoję ciekawość tematem, czad.

Ostatnio edytowany przez Smaku (2019-03-01 19:43:36)

605

Odp: 6502C niepublikowane rozkazy

Smaku, to normalnie zdemaskuje te nielegale. Oczywiste.

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

606

Odp: 6502C niepublikowane rozkazy

jeśli ktoś chce dotrzeć do jak najszerszej grupy odbiorców, tworzy pod najmniejszy wspólny mianownik, wtedy wszyscy są happy

ale nikt nikomu nie zabroni eksperymentów, ja też miałem przygodę z nielegalami i przegrałem (65XE / 800XL), im mniej sprzętu na którym można to zweryfikować tym większe przekonanie że wszystko jest OK, taki błąd poznawczy

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

607

Odp: 6502C niepublikowane rozkazy

na szczescie czasy gdy rozkazy te byly slabo udokumentowane albo wrecz dokumentacja byla bledna minely.

teraz mozna korzystac ze 100% pewnoscia :-)

http://atari.pl/hsc/ad.php?i=1.

608

Odp: 6502C niepublikowane rozkazy

tebe napisał/a:

jeśli ktoś chce dotrzeć do jak najszerszej grupy odbiorców, tworzy pod najmniejszy wspólny mianownik, wtedy wszyscy są happy

Tak, to zasada ogólna, zawsze prawdziwa, oczywiste.

Pamiętam, że programując kiedyś jakieś prace w szkole na zaliczenie na PC, w Turbo Pascal 5.5, też bałem się, że dyskietka z programem zaniesiona do szkoły, albo oddana prowadzącemu do sprawdzenia - może zawierać program exe lub pas, przykładowo, który jest przecież przetestowany przeze mnie i wszystko działa idealnie, ale jednak... strach, że "u kogoś nie pójdzie", oczywiste... - stąd najprostsze programy z użyciem standardowych instrukcji, zawsze w miarę muszą zadziałać, oczywiste, ale kiedy zaczyna się używać adresów pamięci, odwołań do BIOS, przerwania w jakichś miejscach, wywoływane w sposób, który nie do końca jest stabilny, etc. - wystarczy uruchomić taki program na innym kompie i zasadniczo "na pewno" nie ma szans zadziałać, oczywiste. Jeśli już robić niestandardowe rzeczy, to jedynie na standardach, czyli na "wspólnym mianowniku", oczywiste. Np. programując coś w Super VGA, lepiej na VESA, niż na konkretną kartę VGA, bo na pewno nie pójdzie u kogoś innego, kto ma inną VGA, chociaż może się udać i pójdzie.


Jak napisał @XXl:

"teraz mozna korzystac ze 100% pewnoscia :-)"

Tak, jest to możliwe... prawdziwość stwierdzenia / tezy waha się w zakresie prawdopodobieństwa od 0 do 100%. Pewność 1. Oczywiste.

609

Odp: 6502C niepublikowane rozkazy

...za głupi jestem by to zrozumieć... oczywiste

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

610

Odp: 6502C niepublikowane rozkazy

gdyby tak jeszcze był program do detekcji działania takowych rozkazów, stosowny komunikat mógłby oszczędzić nerwów i skierować na właściwe tory

np.
próbuję zainstalować linuxa na starszym Intelu i dostaję komunikat że procesor nie obsługuje PAE (Physical Address Extension), próbuje zainstalować coś na XEON-ie dostaję komunikat procesor nie obsługuje rozkazu XXX

frontem do klienta :)

Ostatnio edytowany przez tebe (2019-03-02 16:24:03)

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

611

Odp: 6502C niepublikowane rozkazy

atari to nie pc. tu masz jeden oficjalny procesor.

w obrebie stabilnch nielegali wszystko jest w jak najlepszm porzadku i nie musisz przeprowadzac detekcji bo na kazdm atari zadziala tak samo.

jedne roznice dotycza kodow niestabilnych - takze dobrze udokumentowane - tu jak Ci juz tak bardzo zalezy to mozesz przeprowadzic detekcje.

http://atari.pl/hsc/ad.php?i=1.

612

Odp: 6502C niepublikowane rozkazy

tebe napisał/a:

gdyby tak jeszcze był program do detekcji działania takowych rozkazów, stosowny komunikat mógłby oszczędzić nerwów i skierować na właściwe tory

Taki program to pewnie prosta rzecz, kilkanaście linii kodu, bez względu na procesor, ogólny kod jest zawsze taki sam, dedykuje się tylko pod konkretne zestawy rozkazów do sprawdzenia, oczywiste.

Wystarczy zapuścić te rozkazy po liście w zakresie testu wymiernego i gotowe, oczywiste.

613

Odp: 6502C niepublikowane rozkazy

Czekamy na te kilka linii kodu ... chyba nikt nawet nie będzie narzekał na BASIC jeśli zadziała

614

Odp: 6502C niepublikowane rozkazy

@BartoszP:

dokładnie tak. To jest ciekawe zadanie. W ramach zaciekawienia tematem muszę ciągle policzyć te cykle wspomniane, w tym przykładzie podanym wyżej, dla obu bloków.

Potem taki test w BASIC to byłoby coś, przynajmniej dałoby się zobaczyć pracę tych kodów i porównać, a nawet może określić "niestabilność" tych niektórych rozkazów - powinno być widać na rejestrach i flagach co nie działa, lub z jakiego powodu, być może da się określić, że nie są niestabilne, tylko trzeba przykładowo odpowiednio zainicjować rejestry i flagi PRZED użyciem rozkazu i rozkaz staje się stabilny, itp. - do sprawdzenia wszystko, z ciekawości, oczywiste.

Wstępnie trzeba zrobić jakiś program testowy i wrzucić w A=USR(). I jakoś to posprawdzać potem, najpierw te dwa bloki przykładowe, może być ciekawa zabawa.

Ten przykład:

sbx #$100-$10 to ciągle mi dziwnie wygląda, bo tę różnicę trzeba by zapisać jakimś innym SBA, czy coś... czyli dwa rozkazy typu SBX w sumie, hmm...

sbx ma argument #n
2 cykle, to bardzo szybkie w sumie, hmm...

Ten wcześniejszy blok ma więcej cykli, hmm...

gdyby nawet te rozkazy miały tylko po 1 cyklu:

txa
clc
adc #$10
tax

to 4 cykle, ale adc ma chyba ze 3 nawet, hmm...

No to kosmos Fast CPU 6502!

Trzeba wpisać wszystkie rozkazy w BASIC w USR() i zobaczyć wyniki i gotowe. Proste.

Plus pokazanie niestabilności niektórych rozkazów, czyli flagi i adresy i rejestry PO wykonaniu rozkazu, a potem ponownie, a potem 100 razy ten sam rozkaz i pokazać ilość różnych wyników / stanów CPU i otoczenia, dla 100 wywołań tego samego rozkazu dla tego samego stanu procesora i otoczenia PRZED wywołaniem rozkazu. Potem poszukać stanów CPU które stabilizują wywołanie dla 100% pewności tych samych wyników, czyli trzeba znaleźć taki stan CPU i otoczenia, dla których rozkazy niestabilne stają się 100% stabilne - ciekawe, czy są takie stany. No to proste, oczywiste.

Ostatnio edytowany przez Smaku (2019-03-03 21:21:37)

615

Odp: 6502C niepublikowane rozkazy

Czekamy zatem ...

616

Odp: 6502C niepublikowane rozkazy

BartoszP napisał/a:

Czekamy zatem ...

Tu na tym forum wszyscy czekają na pracę innych, oczywiste. A potem fochy, kiedy nie dostają. Ciekawe, hehe. :-)

617

Odp: 6502C niepublikowane rozkazy

Ale wydaje się, że nie wszyscy mają taką wiedzę jak Ty ... przemyślane już masz wszystko, wiesz co i jak robić ... nie bądź samolub i podziel się umiejetnościami

618

Odp: 6502C niepublikowane rozkazy

Smaku napisał/a:
BartoszP napisał/a:

Czekamy zatem ...

Tu na tym forum wszyscy czekają na pracę innych, oczywiste. A potem fochy, kiedy nie dostają. Ciekawe, hehe. :-)

Nie wszyscy, jest tutaj sporo osób co oprócz "gadania" także zrobili sporo - sam kilka rzeczy kupiłem i tak mógłbym wymienić kilku z nich. Służą też bardzo dobrą pomocą. Ja np nie napisze żadnego kodu itp gdyż w kwestii Atari i programowania mam duże braki i zaległości - ostatni raz robiłem cokolwiek około 1990 roku i aktualnie jestem tylko szczęśliwym użyszkodnikiem tego sprzętu ale z chęcią zobaczę co tam ciekawego napiszesz...

Ostatnio edytowany przez pawel (2019-03-03 21:59:43)

619

Odp: 6502C niepublikowane rozkazy

@BartoszP:

BartoszP napisał/a:

Ale wydaje się, że nie wszyscy mają taką wiedzę jak Ty ...

To prawda, nie tylko wiedzę, ale i umiejętności i wszystko zawsze gotowe i proste, oczywiste. To nie kwestia "samolubstwa", tylko pedagogiki i wartości istotnych dobrych / pozytywnych, a nie odwrotnie, oczywiste.

@pawel:

No to super, to mam nadzieję, że będzie z kim i o czym pogadać czasem, a nawet coś porobić praktycznie. To bardzo istotne i nadające sens tematom i etc., oczywiste.

Kwestia "oczekiwania na pracę innych" to bardzo istotny element wspólnej zabawy, czy pracy - chodzi o robienie "fochów", że jedni rozmawiają w tematach - materiał merytoryczny gotowy, jak widać i czytać - można artykuły publikowane w nakładach tysięcy egzemplarzy realizować, w papierze nawet i w czasopismach, nie tylko w Polsce, oczywiste - i nagle przychodzi ktoś i mówi "nadal nie widzę gry" - i nigdy nie zobaczy taka osoba, to oczywiste. Musi najpierw się postarać i poprosić, uzasadnić, chcieć, być w temacie, etc. - to chyba oczywiste. Proste.

Chętnie sprawdzę te kilka rozkazów i przykładów podanych w Atari BASIC, bo moje korzyści będą:

- zabawa (przypomnienie sobie) jak się używa USR()
- sprawdzenie, jak działają w praktyce te rozkazy nieoficjalne
- porównanie tych rozkazów nieoficjalnych z oficjalnymi w kwestii "zamienników" do programów, że zamiast kilku rozkazów, można by jednym, przykładowo - i policzyć korzyści (cykle, realną wydajność programu, poprawność działania, etc.)
- określenie niestabilności rozkazów nieoficjalnych (zobaczyć co ustawia się losowo, lub nie wiadomo jak na rejestrach, na skutek wykonania rozkazu - sprawdzić co można ustawić przed wykonaniem rozkazu, żeby niestabilne stały się 100% stabilne)
- inne testy i zabawy

... aż znudzę się tematem i zostawię.

I teraz znowu ktoś przyjdzie i będzie czekał i miał fochy. No to jak w ogóle i o czym z kim? Hmm...

620

Odp: 6502C niepublikowane rozkazy

Np., większość efektów w demach operuje na dwóch instrukcjach: LDA, STA. Znajdź sensowne uproszczenie tej konstrukcji, oczywiste.

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

621

Odp: 6502C niepublikowane rozkazy

MOV. Oczywiste przecież.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

622

Odp: 6502C niepublikowane rozkazy

https://www.pagetable.com/?p=39

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

623

Odp: 6502C niepublikowane rozkazy

Pin napisał/a:

Np., większość efektów w demach operuje na dwóch instrukcjach: LDA, STA

tak...... dlatego ostatnio w kategorii demo mozna zobaczyc animki ;-)

http://atari.pl/hsc/ad.php?i=1.

624

Odp: 6502C niepublikowane rozkazy

.. ale za to jakie ładne ;)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

625

Odp: 6502C niepublikowane rozkazy

    org $2000

    ldx #$00

    lda #$ff

    lax test

    nop

    sta $bc40
    stx $bc40+1

jj    ldy $d20a
    sty $d01a
    jmp jj

test    dta d'!'

test, który oszczędzi frustracji tym którzy nie wiedzą czym jest referencyjne Atari XE/XL

w rejestrach A/X znajduje się dla w/w przykładu $01/$01, teraz wiemy że nielegale działają

test nie przejdzie dla włączonego Rapidus-a, teraz wiemy że wystarczy ustawić go na 'CLASSIC' i już mamy działające nielegale :)

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C