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

Autor Wątek: "boot" czyli jak to sie dzeje?  (Przeczytany 833 razy)

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

kubas

  • Gość
"boot" czyli jak to sie dzeje?
« dnia: 26 Marca 2007, 18:11 »
 pytanie  czy  commodore  64  po  starcie  kleara(nie  pamiętam  jak  to  sie  pisze  chodi  o  \'bios\'  w  komodze)sprawdza  czy  nie  ma  chardża  jeśli  jest  to  sie  z  niego  \'botuje\'  a  jak  nie  to  z  Basicka  \'\'  



bloodmoon

  • Gość
"boot" czyli jak to sie dzeje?
« Odpowiedź #1 dnia: 26 Marca 2007, 19:34 »
 Pewnie  że  sprawdza  ja  nie  ma  to  uruchamia  ci  z  podsystemu  komody  BASICA

zyga

  • Gość
"boot" czyli jak to sie dzeje?
« Odpowiedź #2 dnia: 27 Marca 2007, 12:18 »
 Polska  język,  trudna  język...  
   
  Po  resecie  procedurka  z  Kernala  -  tak  się  to  nazywa,  szuka  pod  adresem  $8004  ciągu  znaków  CBM80  -  jeśli  jest  (oznacza  to  że  jest  cartdridge  -  \'kardridż\')  to  wykonuje  kod  pod  adresem  $8000

suchy

  • Gość
"boot" czyli jak to sie dzeje?
« Odpowiedź #3 dnia: 13 Lipca 2007, 11:31 »
 ...  a  dokładniej:  
  \'  
  32768  ($8000)  -  Autostart  ROM  cartridge  
   
  8K  lun  16K  cartridge  przeznaczony  do  uzycia  tej  lokacji  jako  adresu  startowego,  może  dołączony  do  złącza  z  tyłu  obudowy  komputera.  Jeśli  ten  cartridge  w  lokacji  32772  -  32776  ($8004  -  $8008)  zawiera  liczby:  195,  194,  205,  56,  48  ($C3,  $C2,  $CD,  $38,  $30  -  co  tak  jak  napisał  zyga,  oznacza:  CBM80),  gdy  zostanie  włączone  napięcie  ,  spowoduje  on  wystartowanie  programu  wskazanego  przez  wektor  w  lokacjach:  32768  -  32769  ($8000  -  $8001)  oraz  użycie  lokacji  32770  -  32771  ($8002  -  $8003)  jako  wektora  ciepłego  startu  po  wciśnięciu  klawisza  RESTORE.  Autostart  cartridge  może  być  adresowany  na  40960  ($A000),  gdzie  zastąpi  interpreter  BASICa  lub  na  61440  ($F000)  gdzie  zastąpi  Kernala.  Można  użyć  16K  cartridge`a  siedzącego  pod  32768  ($8000),  takiego  jak  BASIC  Simons,  który  można  włączać    i  wyłączać  tak,  że  może  być  jednocześnie  używany  ROM  interpretera      BASICa.  Można  nawet  użyć  cartridge`ów,  które  przełączają  banki  pamięci  w  cartridge`u  tak,  że  32K  program  zmieści  się  w  16K  przestrzeni  adresowej.  
   
  Na  podstawie:  \'Mapping  The  Commodore  64\'  Sheldon  Leemon  -  tłumaczenie  polskie  (skrypt).

suchy

  • Gość
"boot" czyli jak to sie dzeje?
« Odpowiedź #4 dnia: 13 Lipca 2007, 11:40 »
 ...  od  siebie  dodam,  że  w  \'zamierzchłych\'  ;-)  czasach  robiło  się  carty,  które  na  pokładzie  miały  pamięć  z  całą  dowolną  gierką  (wrzucaną  jednorazowo  do  pamięci  kompcia)  z  EPROMem  27512  (64K)  na  pokładzie.  Prosta  procedurka  przepisywania  eeproma,  uruchamiana  po  restarcie  carta  (z  obszaru  RAM,  nieużywanego  przez  kompcia),  zrzucała  do  pamięci  RAM  C64  całą  poprawioną  grę  z  EEPROMa  27512  i  uruchamiała  ją.  Tak  się  przerabiało  C64  na  maszyny  grające  w  salonach  gier.  Były  takie  czasy,  aż  łza  się  w  oku  kręci.  Rozczuliłem  się  co  nie  co  ;-)  
  Pozdrawiam:  
  suchy  

suchy

  • Gość
"boot" czyli jak to sie dzeje?
« Odpowiedź #5 dnia: 13 Lipca 2007, 12:47 »
 ...  aby  wypowiedź  była  kompletna  w  tym  temacie  muszę  jeszcze  dodać  co  nie  co.  Jest  to  procedura  RESET  zawarta  w  Kernalu:  
   
  \'  64738  ($FCE2)  -  RESET  
   
  Procedura  inicjalizacyjna  (włączenie  zasilania  lub  reset)  
  Procedura  ta  jest  wskazywana  przez  hardware`owy  wektor  mikroprocesora  6510,  znajdujący  się  w  lokacji  65532  ($FFFC).  
  Procedura  ta  jest  wykonywana  automatycznie  po  włączeniu  komputera  do  napięcia.  Najpierw  zapala  ona  maskę  przerwań  (zakazuje  przyjmowania  przerwań),  ustawia  wslaźnik  stosu  i  zeruje  wskaźnik  trybu  dziesiętnego  (wskaźnik  D  w  rejestrze  .P).  Następnie  sprawdza  ,  czy  nie  jest  dołączony  samosterujący  się  cartridge.  Jeśli  jest,  procedura  ta  skacze  natychmiast  przez  wektor  zomnego  startu  cartridge`a  (lokacja  32768,  $8000)  oddając  mu  kontrolę  nad  systemem..  Jesli  nie,  wywoływane  są  procedury  inicjalizacyjne  Kernala:  IOINIT,  RAMTAS,  RESTORE  i  CINT.  Następnie  kasuje  maskę  przerwań  i  przez  wektor  zimnego  startu  BASICa  (lokacja  40960,  $A000)  oddaje  mu  sterowanie  systemem\'  
   
  Na  podstawie:  j/w  
  Teraz  juz  chyba  wszystko  jasne  ;-)  jesli  chodzi  o  bootowanie  systemu  C64