1

Temat: linia SO w 6502

Wiem, że temat jest starszy niż Vasco, ale Atari dobiega 40-tki więc trudno wyskoczyć z czymś nowym.
Do rzeczy: czy ktoś coś wie na ten temat?
Co wiem:
- Dataszit mówi, że tym ustawia się znacznik V w CPU,
- zastanawiający jest brak SEV na liście rozkazów,
- drzewiej chodziły słuchy, że to służy do obsługi koprocesora.
Tak więc ciekawi mnie czy w ogóle są jakieś dokumenty od Atari, Rockwella itp. które mówią do czego planowano to wykorzystać?
Ciekawi mnie też czy ktokolwiek (niekoniecznie w/w świętości) do czegoś to wykorzystał.

Przeszukałem fora (trzy), ale trudno zadać pytanie nie dostając miliona wyników (szczególnie na forum obcojęzycznym ;]).

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

2

Odp: linia SO w 6502

dalbym obciac reke komus znajomemu ze cos takiego widzialem na c64... urzadzenie oddajace status na linie s0


clv
bvc *

Ostatnio edytowany przez xxl (2019-02-12 15:49:11)

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

3

Odp: linia SO w 6502

http://www.6502.org/tutorials/vflag.html <--- sekcja 3 i 3.1

i do kompletu:

http://www.righto.com/2013/01/a-small-p … ained.html
http://www.righto.com/2012/12/the-6502- … ained.html

4

Odp: linia SO w 6502

To urządzenie z „bvc *” to była stacja dysków, tylko nie pamiętam, czy do atarki czy komcia.

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

5

Odp: linia SO w 6502

mono napisał/a:

Ciekawi mnie też czy ktokolwiek (niekoniecznie w/w świętości) do czegoś to wykorzystał.

Przypomniało mi się... w zamierzchłych czasach robiłem takie interface równoległy do Atari oparty po VIA (6522) służący do transmisji danych pomiędzy JIL i PC. On wykorzystywał ten pin SO, tzn. sprzętowy hand-shake z VIA i aby osiągnąć szybszy "hand-shake" a co za tym idzie większe transfery wykorzystałem linię SO.

Jak zakończę obecną kolejkę zadań, to poszukam tej atarki i udostępnię to... zresztą mam zamiar wszystkie te moje stare i niepublikowane projekty jakoś odgrzebać i upublicznić... może się komuś coś przyda, a nawet jak nie to niech zostanie w sieci zamiast zgnić gdzieś u mnie w czeluściach chaosu :P

Ostatnio edytowany przez seban (2019-02-12 16:51:13)

6

Odp: linia SO w 6502

Dziękuję za informacje. Bardziej niż sam opis działania V przy operacjach CPU właśnie ciekawi mnie sama linia SO.
Być może SO miałby sensowne zastosowanie w jakichś autonomicznych systemach opartych o 6502, niż w komputerze.
Może to jest tak, jak z BRK - niby służyć ma do wołania funkcji systemowych, ale wygodniej, prościej i szybciej zrobić sobie zwykłą tablicę skoków więc nikt z tego nie korzysta. W przypadku SO pewnie uniwersalniej mieć po prostu rejestr z flagą.
Może najsensowniejszym zastosowaniem dla SO jest rzeczywiście jakiś koprocesor, czyli urządzenie blisko współpracujące wewnętrznie z CPU, a przy konstruowaniu zwykłych urządzeń należy zostawić to w spokoju.

Cenna wiadomość dla XXL-a - SO nie ma w 65C816 :P Więc proponuję jej użyć w jakimś nowym sprzętowym rozwiązaniu :)

@Seban: O, i to jest ciekawostka! Dobry pomysł z publikacją projektów. Nieśmiało zagadnąłbym też o SlightSID-a - jest szansa na finisz i wdrożenie do produkcji?

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

7

Odp: linia SO w 6502

mono napisał/a:

Cenna wiadomość dla XXL-a - SO nie ma w 65C816

bezwartosciowa jak i ta, ze 6809e tez nie ma s0.

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

8

Odp: linia SO w 6502

@Seban - zrób wykopki - pliiiizzzzzz :)

@Mono - z pewnością da się wykorzystać. Nie jestem programistą ale jeśli wystawiasz flagę procesorowi to programowo można nad tym zapanować ale ja programistą ekstremalnym jak Ty nie jestem...

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

9

Odp: linia SO w 6502

mono napisał/a:

@Seban: O, i to jest ciekawostka! Dobry pomysł z publikacją projektów. Nieśmiało zagadnąłbym też o SlightSID-a - jest szansa na finisz i wdrożenie do produkcji?

Zaczyna się dziać na poważnie, chciałem robić ręcznie trochę sztuk, ale jeżeli wszystko pójdzie dobrze... to może uda się zrobić montaż trochę bardziej profesjonalny. Pozostaje jeszcze kwestia obudów i ich wycięcia, ale liczę na pomoc znajomego, może w końcu uda się to ogarnąć na jakimś cnc.

toriman1 napisał/a:

@Seban - zrób wykopki - pliiiizzzzzz :)

Zrobię, zrobię... na pewno! Tylko muszę tylko ogarnąć do końca partię magnetów od uicr0bee i zacznę to przenosić wszystko do postaci cyfrowej :)

Ostatnio edytowany przez seban (2019-02-12 22:26:19)

10

Odp: linia SO w 6502

toriman1 napisał/a:

Z pewnością da się wykorzystać. Nie jestem programistą ale jeśli wystawiasz flagę procesorowi to programowo można nad tym zapanować

Można, ale (jak już rozmawialiśmy) problemy się mnożą. Co jak w międzyczasie:

clv
lda #komenda_dla_koprocesora
sta rejestr_koprocesora
bvc *
lda rejestr_koprocesora    ;odebranie wynikow

przyjdzie przerwanie? Można powyłączać, no ale nie o to chodzi. Taką kooperację pewnie wygodniej robić tak, jak to robi ANTIC (bo i tak już musimy zaingerować we wnętrze komputera). Więc pewnie byłoby:

lda #komenda_dla_koprocesora
sta rejestr_koprocesora     ;i tu koprocesor robi READY[] procesorowi do chwili zakończenia operacji
lda rejestr_koprocesora    ;odebranie wynikow

Może po drodze potrzebny byłby jakiś NOP, ale to chyba byłoby sensowniejsze.
Dlatego podałem analogię z BRK - ten z kolei raz działa, a raz nie działa :)

toriman1 napisał/a:

ale ja programistą ekstremalnym jak Ty nie jestem...

Programistą ekstremalnym jest inny kolega :) Ja staram się po bożemu w pozycji misjonarskiej.

Ostatnio edytowany przez mono (2019-02-13 00:13:41)

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

11

Odp: linia SO w 6502

Monu niech będą dzięki :)

12

Odp: linia SO w 6502

Chociaż RDY też jest niedobre, bo w międzyczasie pewnie zginie NMI. Podejrzewam, że niebezzasadnie tylko ANTIC zgłasza przerwania niemaskowalne i że robi to w ściśle określonych chwilach kiedy nie blokuje CPU.
Wyglądałoby na to, że najlepsze jest jednak zwykłe I/O z flagą w rejestrze.

      lda #komenda_dla_koprocesora
      sta rejestr_komend_koprocesora
      lda #flaga_gotowosci_wyniku
?wait bit rejestr_stanu_koprocesora
      bne ?wait
      lda rejestr_wyników_koprocesora
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

13

Odp: linia SO w 6502

mono napisał/a:

Dlatego podałem analogię z BRK - ten z kolei raz działa, a raz nie działa

dziala, dziala...
http://www.atari.org.pl/forum/viewtopic … 71#p182171

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

14

Odp: linia SO w 6502

prosiłbym na końcu ekshumacji takiego wątku o wzorcowy przykład wykorzystania w postaci kodu :)

np. tutaj http://atariki.krap.pl/index.php/Biblio … tari_XL/XE

Ostatnio edytowany przez tebe (2019-02-13 11:54:41)

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

15

Odp: linia SO w 6502

mono napisał/a:

Chociaż RDY też jest niedobre, bo w międzyczasie pewnie zginie NMI. Podejrzewam, że niebezzasadnie tylko ANTIC zgłasza przerwania niemaskowalne i że robi to w ściśle określonych chwilach kiedy nie blokuje CPU.
Wyglądałoby na to, że najlepsze jest jednak zwykłe I/O z flagą w rejestrze.

      lda #komenda_dla_koprocesora
      sta rejestr_komend_koprocesora
      lda #flaga_gotowosci_wyniku
?wait bit rejestr_stanu_koprocesora
      bne ?wait
      lda rejestr_wyników_koprocesora

Też tak myślę, że najlepiej po prostu przekazywać komendy oraz parametry i potem wyniki przez rejestry. Choć i tu wstrzymujesz program główny - może w przerwaniu to sprawdzać i umożliwiać "rozmowy wieloprocesorowe"? Szybko się wyczerpie dostępny czas...

pozdr

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site