1

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

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

3

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

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

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

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

> 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

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

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

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 Ostatnio edytowany przez syscall (2012-03-11 18:21:39)

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'

"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 Ostatnio edytowany przez xxl (2012-03-11 18:32:48)

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.

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

13

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

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

15

to tam jest ehem, 816 - nie da sie

przechodze na tumiwisizm

16

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

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

> 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

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

przechodze na tumiwisizm

20

> 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

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

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

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

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

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.

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

25

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