Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Przerwania  (Przeczytany 738 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Tomaaz

  • Gość
Przerwania
« dnia: 06 Lipca 2009, 17:56 »
 Czy  ktoś  mógłby  mi  pokrótce  przypomnieć  najważniejsze  informacje  dotyczące  obsługi  wszystkich  typów  przerwań?  Z  góry  dziękuję!



chateau

  • Gość
Przerwania
« Odpowiedź #1 dnia: 06 Lipca 2009, 19:17 »
 zacznij  od  irq  w  vic-ii,najprostsze.  uruchamiasz  w  d01a,linie  na  poczatku  ktorej  ma  wystartowac  wybierasz  w  d012  (i  najwyzszym  bicie  d011  bo  mamy  wiecej  niz  $ff  linii),potwierdzasz  wykonanie  w  d019.  sei/cli  uzywasz  do  maskowania  przerwan  na  przyklad  na  czas  ustawiania  parametrow  przerwania.  w  punkcie  3.12  artykulu  o  vic-ii  jest  wiecej  informacji:  http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt\' target=_blank>http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt

Tomaaz

  • Gość
Przerwania
« Odpowiedź #2 dnia: 06 Lipca 2009, 22:17 »
 No  to  żeś  mi  jasno,  klarownie  i  konkretnie  przypomniał.  :)  W  każdym  razie  -  dzięki  za  linka!  A  może  ktoś  jeszcze  coś  dorzuci?

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034

2sam

  • Gość
Przerwania
« Odpowiedź #4 dnia: 09 Lipca 2009, 20:15 »
 To  co  moim  zdaniem  jest  zbyt  często  pomijane  to  źródła  przerwań  oraz  rola  układów  CIA.  Samo  IRQ  może  mieć  kilka  źródeł  np.  rozkaz  BRK  -  polecam  deasemblację  Kernela.    
   
  Jest  jeszcze  przerwanie  NMI  które  pomimo  swojej  nazwy  może  zostać  zablokowane.  
       

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
Przerwania
« Odpowiedź #5 dnia: 16 Lipca 2009, 19:23 »
 stawiam,  że  klawisza  restore  zablokować  się  nie  da  
   
  http://c64scene.pl/viewtopic.php?t=159\' target=_blank>http://c64scene.pl/viewtopic.php?t=159
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

2sam

  • Gość
Przerwania
« Odpowiedź #6 dnia: 19 Lipca 2009, 18:36 »
 Zależy  co  rozumiesz  przez  \'zablokować\'.  Samego  klawisza  faktycznie  nie  zablokujesz,  ale  przerwanie  NMI  można  zablokować  i  robi  się  to  bardzo  prosto  (chociaż  nie  tak  jak  w  przypadku  IRQ  tylko  rozkazem  SEI).    
   
  Blokowanie  NMI  polega  na  użyciu  timera  CIA  aby  wyzwolić  NMI  a  następnie  go  nie  potwierdzić  (ACK).  Prawdą  jest  że  6502  i  jego  różne  wersje  nie  mają  potwierdzenia  przerwań,  ale  Komodorek  nie  składa  się  tylko  z  procesora.  W  tym  przypadku  za  potwierdzenie  odpowiada  układ  CIA.  Dodam  jeszcze  że  są  2  wersje  tego  układu  (6526  i  6526A)  które  mają  jedną  istotną  różnicę:  NMI  jest  wywoływane  jeden  cykl  później  lub  wcześniej  w  zależności  od  wersji.    
   
  Sensowność  blokowania  NMI  także  jest  niepodważalna  ;)  Po  pierwsze  w  przypadku  operacji  krytycznych  czasowo  pozwala  to  chronić  przed  nieprzewidzianym  przerwaniem.  Po  drugie  trick  ten  jest  stosowany  w  niektórych  zabezpieczeniach  przed  kopiowaniem  (a  raczej  opcją  typu  freeze)  chociaż  AR  i  jego  klony  oraz  nowsze  wersje  (RR  i  MMC  Replay)  działają  bez  problemu  nawet  bez  przerwań  IRQ  i  NMI  (BRK  nie  liczę  bo  rozkaz  ten  zawsze  kończy  się  wywołaniem  IRQ).  Także  Expert  sobie  poradzi  bo  zostanie  uaktywniony  (jeśli  jest  włączony).  Jeśli  nie  to  lampka  ESM  sygnalizuje  że  trzeba  potwierdzić  przerwanie  przyciskiem  ESM.  
   
  Generalnie  to  jedna  z  pozaciekawszy  IMHO  funkcji  układów  CIA  wokół  której  narosło  wiele  legend  i  nieporozumień.          

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Przerwania
« Odpowiedź #7 dnia: 19 Lipca 2009, 19:58 »
 tyle  napisałeś  i  nic  z  tego  nie  wynika.  NMI,jak  sama  nazwa  wskazuje,  nie  da  się  zblokować.  Reszta  zdań  jest  bełkotem,  wystarczy  wcisnąć  reset  w  actione  i  potem  restore  aby  się  przekonać  jak  on  działa.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

2sam

  • Gość
Przerwania
« Odpowiedź #8 dnia: 19 Lipca 2009, 20:17 »
 W  obrażaniu  jesteś  super  :)    
   
  Żeby  nie  było  że  znów  coś  napisałem  nie  tak  dla  innych  wielkich  znawców  C64  to  podaję  źródła  ogólnie  dostępne:  
   
  http://codebase64.org/doku.php?id=base:nmi_lock\' target=_blank>http://codebase64.org/doku.php?id=base:nmi_lock  
   
  http://codebase64.org/doku.php?id=base:detecting_6526_vs_6526a_cia_chips\' target=_blank>http://codebase64.org/doku.php?id=base:detecting_6526_vs_6526a_cia_chips
   
  Życzę  sukcesów  w  dalszym  byciu  miłym.  To  bardzo  przyciąga  kolejnych  ludzi  do  forum.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Przerwania
« Odpowiedź #9 dnia: 19 Lipca 2009, 20:47 »
 oj  hardware  guru  urażony?  NMI  nie  da  się  zablokować  poza  fizycznym  usunięciem  połączenia  na  płycie.  Kiedyś  zwalił  mi  się  scalak  od  obsługi  restore  i  musiałem  tak  to  zrobić.  Bełkotanie  o  budowie  actiona  nie  mogę  inaczej  nazwać  bo  niestety  jako  jedyny  na  tym  forum  go  sklonowałem  (AFIK)  
   
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
Przerwania
« Odpowiedź #10 dnia: 19 Lipca 2009, 22:23 »
 Umówmy  się  tak:  
   
  Można  zablokować  jedno  źródło  generowania  NMI,  natomiast  klawisz  restore  za  każdym  razem  gdy  go  wdusisz  geneuje  NMI  i  nie  ma  sposobu  softwarowego  aby  to  zablokowac.
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Przerwania
« Odpowiedź #11 dnia: 20 Lipca 2009, 15:48 »
 nie  no  idea  jest  taka  sama  jak  uszkodzenie  mechaniczne  płytki  j.w.,  ustawiamy  na  zero  NMI  i  nie  ma  możliwości  wywołania  przerwania.  
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

.pr0lame

  • Gość
Przerwania
« Odpowiedź #12 dnia: 21 Lipca 2009, 03:32 »
 aha  :)

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
Przerwania
« Odpowiedź #13 dnia: 31 Lipca 2009, 20:49 »
 Właśnie  wymyśliłem  sposób  na  zablokowanie  NMI  :)  
   
  O  ile  mnie  pamięć  nie  myli  przerwanie  wyzwalane  jest  opadającym  zboczem  tak  więc  ustawienie  linii  NMI  w  stanie  niskim  uniemożliwia  nawet  sprzętowe  wywołanie  NMI.  
   
  Linię  NMI  wprowadzamy  w  stan  niski  wciskając  klawisz  restore.  Tylko...  potem...  nie  można  go  już  puścić  hehe  \'\'  
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
Przerwania
« Odpowiedź #14 dnia: 01 Sierpnia 2009, 19:00 »
 moja  teoria  updła  -  w  realu  nie  działa  -  odszczekuję  -  na  c64scene  Nitro  podał  sposób  na  zablokowanie  nmi  -  sprawdzę  i  może  drugi  raz  odszczekam  :)
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???