1

Temat: 6502C niepublikowane rozkazy

Witam,

temat ciekawy ale pomijany. podzielcie sie ciekawostkami / przykladami na przyspieszenie lub skrocenie kodu przy uzyciu stabilnych niepublikowanych (zwanych tez dodatkowymi lub nielegalnymi) rozkazow, ktore sa wykonywane przez KAZDE standardowe atari serii xl/xe.

na zachete pobrany z atariki przyklad:

lookup  ldx #$00
        ldy #$01
loop    lda icchid,x
        cmp #$ff
        beq found
        txa
        clc
        adc #$10
        tax
        bpl loop
        ldy #-95       ;kod błędu "TOO MANY CHANNELS OPEN"
found   rts

to samo z uzyciem dodatkowych rozkazow

lookup  lax #$ff
        inx
        ldy #$01
loop    cmp icchid,x
        beq found
        sbx #$100-$10
        bpl loop
        ldy #-95       ;kod błędu "TOO MANY CHANNELS OPEN"
found   rts

czyli w tym przypadku kod:

        txa
        clc
        adc #$10
        tax

mozna zastapic rozkazem:

        sbx #$100-$10

przyklady mozna kompilowac w MADS - obsluguje dodatkowe rozkazy.

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

2

Odp: 6502C niepublikowane rozkazy

najpierw warto by ustalić, które nielegle są stabilne, ja się z taką (wiarygodną) listą nie spotkałem

3

Odp: 6502C niepublikowane rozkazy

tu jest lista:
http://members.chello.nl/taf.offenga/illopc31.txt

tu program testujacy:
http://www.virtualdub.org/altirra.html  ( Acid800 )

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

4

Odp: 6502C niepublikowane rozkazy

a pozniej ludzie sie dziwia dlaczego po zmienieniu proca np. na 65816 program nie dziala...
xxl: sprobuj sie zastanowic dlaczego okresla sie je jako "nielegalne".

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

5

Odp: 6502C niepublikowane rozkazy

Trzeba by sie upewnic ze wszystkie 6502 i ich klony (rockwell, synertek, idc, itd) sa identyczne na poziomie 'litografii'. A przynajmniej czesci dekodera rozkazow. A wg wielu zrodel nie sa. To kasuje jakakolwiek mozliwosc istnienia 'usrednionej' listy nielegali.

ps.  KIL zawsze dziala :)

"Was powinny uzbrojone służby wyciągać z domów do punktów szczepień, a potem zamykać do pi* za rozpowszechnianie zagrożenia epidemicznego" - Epi 2021
"Powinno się pałować tylko tych co tego nie rozumieją. No i nie szmatki i nie chirurgiczne tylko min FFP3, to by miało jakiś sens. U mnie we firmie, to jak przychodzi bezmaskowiec, to stoi w deszczu przed firmą" - Pin 2021

6

Odp: 6502C niepublikowane rozkazy

prosze nie zasmiecac watku, jesli wymienisz proca w atari na inny nie masz standardowego atari. watek dotyczy STANDARDOWEGO atari i sposobow wykorzystania jego zasobow w 100%.
ten banalny przyklad wyzej pokazuje ze nawet w tak krotkich programikach mozna bylo zaoszczedzic chyba z 8 cykli na jeden obrot petli.

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

7

Odp: 6502C niepublikowane rozkazy

> Trzeba by sie upewnic ze wszystkie 6502 i ich klony (rockwell, synertek, idc, itd)

watek dotyczy atari i jego 6502C a nie wszystkich mozliwych klonow 6502

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

8

Odp: 6502C niepublikowane rozkazy

xxl napisał/a:

prosze nie zasmiecac watku, jesli wymienisz proca w atari na inny nie masz standardowego atari. watek dotyczy STANDARDOWEGO atari i sposobow wykorzystania jego zasobow w 100%.
ten banalny przyklad wyzej pokazuje ze nawet w tak krotkich programikach mozna bylo zaoszczedzic chyba z 8 cykli na jeden obrot petli.

Prosze cytowac :) bo ja nic takiego nie napisalem.

"Was powinny uzbrojone służby wyciągać z domów do punktów szczepień, a potem zamykać do pi* za rozpowszechnianie zagrożenia epidemicznego" - Epi 2021
"Powinno się pałować tylko tych co tego nie rozumieją. No i nie szmatki i nie chirurgiczne tylko min FFP3, to by miało jakiś sens. U mnie we firmie, to jak przychodzi bezmaskowiec, to stoi w deszczu przed firmą" - Pin 2021

9

Odp: 6502C niepublikowane rozkazy

xxl napisał/a:

> Trzeba by sie upewnic ze wszystkie 6502 i ich klony (rockwell, synertek, idc, itd)

watek dotyczy atari i jego 6502C a nie wszystkich mozliwych klonow 6502

Ale ja pisze o klonach spotykanych w atari. 6502C.

"Was powinny uzbrojone służby wyciągać z domów do punktów szczepień, a potem zamykać do pi* za rozpowszechnianie zagrożenia epidemicznego" - Epi 2021
"Powinno się pałować tylko tych co tego nie rozumieją. No i nie szmatki i nie chirurgiczne tylko min FFP3, to by miało jakiś sens. U mnie we firmie, to jak przychodzi bezmaskowiec, to stoi w deszczu przed firmą" - Pin 2021

10

Odp: 6502C niepublikowane rozkazy

odpowiedz w poscie 6 byla do jellonka.

> Ale ja pisze o klonach spotykanych w atari. 6502C.

z tego co pokazuja testy z postu 3 mozna pokusic sie ostworzenie takiej listy jesli to nie jest wlasnie ta zalaczona lista.

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

11

Odp: 6502C niepublikowane rozkazy

No, ok, ale tam pisza ze byly tylko dwie wersje 6502C w atari, a to zdaje sie byc nieprawda.
Widzialem XEGSa z synertekiem (bez atari COxxxx) i z VLSI i z Rockwellem i z 'made in mexico'
Kazdy z innej cipki, ze tak powiem ;)
Dlatego za kluczowe nalezy uznac ustalenie najpierw jakie czipy ladowaly w atari (z dokladnoscia do daty produkcji i partii) zeby cokolwiek
ustalac w ramach 'listy obslugiwanych nielegali' Oczywiscie mozna to olac, ale wtedy nic sie nie ustali i nadal bedzie 'dzialac lub nie'

Ostatnio edytowany przez syscall (2012-03-11 18:21:39)

"Was powinny uzbrojone służby wyciągać z domów do punktów szczepień, a potem zamykać do pi* za rozpowszechnianie zagrożenia epidemicznego" - Epi 2021
"Powinno się pałować tylko tych co tego nie rozumieją. No i nie szmatki i nie chirurgiczne tylko min FFP3, to by miało jakiś sens. U mnie we firmie, to jak przychodzi bezmaskowiec, to stoi w deszczu przed firmą" - Pin 2021

12

Odp: 6502C niepublikowane rozkazy

nie trzeba. wiedza o tym nie pomoze poniewaz nie znasz rozkazow niepublikowanych specyficznych (jesli takie byly) dla danego producenta - napracujesz sie i nic z tego nie bedzie.

jesli masz dostep do takich atarynek to przetestuj acid800 i bedziesz mial wynik, nie trzeba zastanawiac sie jaka firma i kiedy dostala zlecenie na wyprodukowanie dla atari 6502C. szukalem prawie rok (poprzez forum a niektorzy byli tez przezemnie mailowo nekani o testy) i jeszcze nie trafilem na atari, ktore nie wykona rozkazu np. SBX.

Ostatnio edytowany przez xxl (2012-03-11 18:32:48)

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

13

Odp: 6502C niepublikowane rozkazy

rockwelle sa w 2 odmianach, dalej masz synertek, general semiconductor i inne takie
generalnie dzialasz tez na szkode samemu sobie, bo okaze sie na koncu tej drogi ze prawdziwe atari to posiada tylko xxl, a reszta ma jakies niedorzeczne podrobki i mutanty (nie wspominam tutaj o 816)

przechodze na tumiwisizm

14

Odp: 6502C niepublikowane rozkazy

Oj, oj... wzorcowy sprzęt ma Pin ... to wiadomo od dawna... :) :)

15

Odp: 6502C niepublikowane rozkazy

to tam jest ehem, 816 - nie da sie

przechodze na tumiwisizm

16

Odp: 6502C niepublikowane rozkazy

panowie... na temat prosze.

@Candle powtarzasz (nie przeczytawszy odpowiedzi) to co pisal syscall. nie ma znaczenia producent.

jesli nie potrafisz napicac na temat a chcesz cos koniecznie napisac to (jesli dasz rady :) ) udowodnij ze np. SBX nie dziala na kazdym standardowym atari serii xl/xe.

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

17

Odp: 6502C niepublikowane rozkazy

ja dawno wyszedlem poza twoj waski standard
ponadto pisze ci ze sa 2 rockwelle i to ma znaczenie w sensie elektrycznym i tu czerpie ze swojego doswiadczenia ktore obejmuje troche szersze spektrum roznych atari xl/xe niz zapewne widziales
skoro ma znaczenie w sensie elektrycznym, to mozna zakladac ze ma rowniez w sensie programisty, ktory usiluje robic na tym procku cos, do czego projektowany nie byl
podsumuje to dla ciebie: nielegali sie nie uzywa

przechodze na tumiwisizm

18

Odp: 6502C niepublikowane rozkazy

> skoro ma znaczenie w sensie elektrycznym, to mozna zakladac ze ma rowniez w sensie programisty,

bzdura

> ktory usiluje robic na tym procku cos, do czego projektowany nie byl

antic tez nie byl projektowany do tego zeby wyswietlic interlance (rybagsa) i co? nie uzywa sie?

podsumuje to dla Ciebie: rozkazow niepublikowanych mozna uzywac jak sie wie co sie robi.
no i ciagle nie udowodniles ze np. SBX moze nie dzialac :-)

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

19

Odp: 6502C niepublikowane rozkazy

fajny przyklad z tym interlace
nie dziala on na polowie telewizorow jakie posiadam

przechodze na tumiwisizm

20

Odp: 6502C niepublikowane rozkazy

> nie dziala on na polowie telewizorow jakie posiadam

zieew. tak jak z tym, ze u Ciebie nie dziala Nightshade a okazalo sie ze nie zamontowales kabelka do vbxe zgodnie z instrukcja electrona :)

gtia nie bylo projektowanie do odtwarzania muzy ... posluchaj beep'em all - u Ciebie pewnie nie dziala na co drugim glosniku,

> udowodnij ze np. SBX nie dziala na kazdym standardowym atari serii xl/xe.

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

21

Odp: 6502C niepublikowane rozkazy

Moim zdaniem, nielegalnych rozkazów nie powinno się używać. Nigdy. To też dobry nawyk przy pisaniu na wszelkie platformy.

Może inaczej to wygląda np. na C64, gdzie jedna firma (MOS / CSG) robiła te scalaki całe życie tego komputera spod jednej sztancy, ale w przypadku Atari powinniśmy dać sobie z tym spokój. Do wymienionych wyżej producentów procków jakie widziałem w Atari dorzucę jeszcze UMC (6502I) i chyba widziałem też NEC -a .... (ale tu może bredzę).

Myślę, że ktoś, kto tylko pisze programy a na sprzęcie za bardzo się nie zna, jest skłonny to ignorować, ale każdy "bawiący się" w elektronikę już inaczej, ostrożniej na to patrzy.

pomidor

22

Odp: 6502C niepublikowane rozkazy

temat nie jest uzywac czy nie, temat to przyklady wykorzystania rozkazow niepublikowanych do optymalizacji.

w c64 montowano 6510 i 8510 (8502 w c128 ?) tam, tylko garstka rozkazow niepublikowanych jest wspolna. na atari podejrzewam jest lepiej, rozni producenci ale jakos jeszcze nie trafilem na taki, ktory tej garstki (rozsadnych) nie wykona.

gdzie jest dowod niedzialania rozkazow niepublikowanych na standardowym atari serii xl/xe?

konkrety:

AXS (SBX) [SAX]
~~~~~~~~~~~~~~~
AND X register with accumulator and store result in X regis-
ter, then subtract byte from X register (without borrow).
Status flags: N,Z,C

Addressing  |Mnemonics  |Opc|Sz | n
------------|-----------|---|---|---
Immediate   |AXS #arg   |$CB| 2 | 2


uwazam go za stabilny

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

23

Odp: 6502C niepublikowane rozkazy

Chodzi tylko o ten jeden rozkaz, czy jest więcej "stabilnych"?

24

Odp: 6502C niepublikowane rozkazy

z moich testow wynika ze jest ich mniej nizby sie mozna bylo spodziewac, chcialbym wspolnie, poprzez przyklady zademonstrowac te rozsadne, ale widze moze to byc bardfzo trudne :-) ludzie offtopikuja a nikt nie zauwazyl, ze w pierwszym przykladzie pierwszy rozkaz nie istnieje :-)

---
mowiac "z moich testow" mam na mysli tylko te kody i tylko w takich trybach adresowania, ktore umialbym do czegos wykorzystac.

Ostatnio edytowany przez xxl (2012-03-12 00:21:06)

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

25

Odp: 6502C niepublikowane rozkazy

Dolutowujecie różne wynalazki i to jest ok, a jak XXL chce odkrywać możliwości seryjnie produkowanych Atari, to jest be?

Według mojej wiedzy stabilne są wszystkie rozkazy "nielegalne" (wolę określenie "nieudokumentowane") oprócz $93, $9b, $9f, $bb oraz podobno $8b, $ab i niektórych KIL/JAM/CIM. Na C64 używają np. LAX w demach.

https://www.youtube.com/watch?v=jofNR_WkoCE