65C816

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 09:26, 11 lut 2006
KMK (Dyskusja | wkład)
(Rozszerzenia oparte na 65C816)
← Previous diff
Wersja z dnia 09:29, 11 lut 2006
KMK (Dyskusja | wkład)
(Rozszerzenia oparte na 65C816)
Next diff →
Linia 27: Linia 27:
== Rozszerzenia oparte na 65C816 == == Rozszerzenia oparte na 65C816 ==
Jeśli jesteś szczęśliwym posiadaczem procesora 65C816, możesz go w prosty sposób podłączyć do naszej ukochanej Atarki zastępując procek [[6502C]]. Jest to jednak najprostsze rozwiązanie umożliwiające tylko korzystanie z większej liczby rozkazów. Rozwiązanie to nie pozwala na dołączenie większej ilości [[Pamięć liniowa|pamięci liniowej]] (jak wiadomo 65C816 może zaadresować do 16MB pamięci). Szczegóły montażu w stołówce [http://hardware.atari8.info/65816.php Simple 65C816 Processor Adapter]. Na takiej samej zasadzie działa rozszerzenie [[Sweet16]]. Jeśli jesteś szczęśliwym posiadaczem procesora 65C816, możesz go w prosty sposób podłączyć do naszej ukochanej Atarki zastępując procek [[6502C]]. Jest to jednak najprostsze rozwiązanie umożliwiające tylko korzystanie z większej liczby rozkazów. Rozwiązanie to nie pozwala na dołączenie większej ilości [[Pamięć liniowa|pamięci liniowej]] (jak wiadomo 65C816 może zaadresować do 16MB pamięci). Szczegóły montażu w stołówce [http://hardware.atari8.info/65816.php Simple 65C816 Processor Adapter]. Na takiej samej zasadzie działa rozszerzenie [[Sweet16]].
 +{{grafr|Si-65816.png}}
Bardziej zaawansowane rozszerzenie to [[Warp4]], autorstwa [[Pasiu|Pasia]]/[[SSG]] - schematy i opis montażu już w stołówce. Bardziej zaawansowane rozszerzenie to [[Warp4]], autorstwa [[Pasiu|Pasia]]/[[SSG]] - schematy i opis montażu już w stołówce.
Linia 32: Linia 33:
Pasiu pracuje również nad kolejnym typem rozszerzenia (nazwa kodowa - [[Projekt F7]]), 65C816 pracujący razem z 6502C. Rozszerzenie zainspirowane projektem [[Hyperspeed XL-XE|Hyperspeed XL/XE]], z danych ujawnionych do tej pory wynika iż będzie ono zapewniało 64K taktowanej 14MHz pamięci cache umożliwiającej szybki odczyt także obszaru poniżej 0x010000. Pasiu pracuje również nad kolejnym typem rozszerzenia (nazwa kodowa - [[Projekt F7]]), 65C816 pracujący razem z 6502C. Rozszerzenie zainspirowane projektem [[Hyperspeed XL-XE|Hyperspeed XL/XE]], z danych ujawnionych do tej pory wynika iż będzie ono zapewniało 64K taktowanej 14MHz pamięci cache umożliwiającej szybki odczyt także obszaru poniżej 0x010000.
-Poniżej screenshot z [[SysInfo]] pokazujący parametry prototypowej instalacji:+Obok screenshot z [[SysInfo]] pokazujący parametry prototypowej instalacji:
- +
- +
-[[Grafika:Si-65816.png]]+
==Zobacz też== ==Zobacz też==

Wersja z dnia 09:29, 11 lut 2006

65C816 to 16-bitowy następca układu MOS 6502, można nim zastąpić zastosowany w Atari procesor 6502C. 65C816 zaprojektowany został przez Williama D. Menscha jako wersja rozwojowa i następca procesora 65C02. Produkowany jest przez Western Design Center.

Architektura

Grafika:65c816.gif

  • ośmiobitowa szyna danych
  • 24-bitowa szyna adresowa
  • 92 rozkazy
  • 22 tryby adresowania
  • 16-bitowe ALU
  • jeden 16-bitowy rejestr ogólnego przeznaczenia (akumulator A/B, czyli C)
  • dwa szesnastobitowe rejestry indeksowe (X i Y)
  • szesnastobitowy wskaźnik strony zerowej
  • szesnastobitowy wskaźnik stosu
  • dziewięć bitów statusu
  • dwa ośmiobitowe rejestry adresowe banku programu i danych
  • szesnastobitowy licznik programu (razem z rejestrem banku programu stanowi 24-bitowy adres)
  • wsparcie dla zewnętrznego MMU
  • rozkazy przesłań blokowych
  • dwa tryby pracy: natywny oraz tryb emulacji 6502

Osobliwością procesora jest działanie rejestrów C, X i Y: są one 16-bitowe, ale żeby skorzystać z ich pełnego rozmiaru, trzeba dokonać przełączenia za pomocą dodatkowych bitów rejestru statusu. Jeden z nich, zwany M, wybiera rozmiar akumulatora oraz operacji na pamięci (1 - ośmiobitowe, 0 - szesnastobitowe), drugi zwany X ma analogiczne znaczenie dla obydwu rejestrów indeksowych.

Dodatkowo rejestry indeksowe i akumulator zachowują się nieco odmiennie przy manipulacji bitami M i X. Mianowicie przełączenie rejestrów X i Y z szesnastu na osiem bitów zeruje ich starsze bajty, natomiast przełączenie akumulatora na osiem bitów powoduje, że "rozpada się" on na dwie połówki, ale zawartość starszej jest w dalszym ciągu dostępna jako "akumulator B".

Szesnastobitowe rejestry C, X, Y są dostępne tylko w trybie natywnym 65C816, natomiast w trybie emulacji 6502 istnieje dostęp do akumulatora B - obydwie połówki rejestru C można zamienić miejscami.

Rozszerzenia oparte na 65C816

Jeśli jesteś szczęśliwym posiadaczem procesora 65C816, możesz go w prosty sposób podłączyć do naszej ukochanej Atarki zastępując procek 6502C. Jest to jednak najprostsze rozwiązanie umożliwiające tylko korzystanie z większej liczby rozkazów. Rozwiązanie to nie pozwala na dołączenie większej ilości pamięci liniowej (jak wiadomo 65C816 może zaadresować do 16MB pamięci). Szczegóły montażu w stołówce Simple 65C816 Processor Adapter. Na takiej samej zasadzie działa rozszerzenie Sweet16.

Grafika:Si-65816.png

Bardziej zaawansowane rozszerzenie to Warp4, autorstwa Pasia/SSG - schematy i opis montażu już w stołówce.

Pasiu pracuje również nad kolejnym typem rozszerzenia (nazwa kodowa - Projekt F7), 65C816 pracujący razem z 6502C. Rozszerzenie zainspirowane projektem Hyperspeed XL/XE, z danych ujawnionych do tej pory wynika iż będzie ono zapewniało 64K taktowanej 14MHz pamięci cache umożliwiającej szybki odczyt także obszaru poniżej 0x010000.

Obok screenshot z SysInfo pokazujący parametry prototypowej instalacji:

Zobacz też

Personal tools