Minimig Dodatkowe Amiga W FPGA Materiały Na CD

Minimig Dodatkowe Amiga W FPGA Materiały Na CD

PROJEKTY Minimig Dodatkowe Amiga w FPGA materiały na CD Nie każdy z Czytelników EP pamięta komputer domowy o nazwie Czym jest Minimig? Amiga. W swoich czasach był to hit, marzenie niemalże każdego Minimig to akronim od słów Mini Amiga. nastolatka. W artykule opisujemy, jak można zbudować kopię Amigi Jest to układ FPGA, za pomocą którego zasymu- lowano pracę układów, w które wyposażona korzystając ze współczesnych układów. Projekt ma niewątpliwie dużą była Amiga 500. Aktualnie jest to jedna płytka wartość edukacyjną. PCB o wymiarach tylko 12×12 cm. Minimig Rekomendacje: objęty jest licencją GNU. Autorem jest holen- polecamy wszystkim, którzy z sentymentem wspominają starą, dobrą derski inżynier elektryk Dennis van Werren. Pro- Amigę, a może nawet przechowują programy dla niej przeznaczone, jekt opisano na stronie http://home.hetnet.nl/ ~weeren001/. albo chcieliby jeszcze raz pograć w ulubioną grę z lat młodości? Pomysł, aby zrobić Minimig narodził się w styczniu 2005. W tym czasie zrealizowa- no inny projekt C64DTV. Wówczas na którejś z grup dyskusyjnych padł pomysł, aby zmieścić PODSTAWOWE PARAMETRY Amigę w joystick’u. Rozważano zastosowanie • Pojedyncza, dwustronna płytka drukowana o wymiarach (120×120) mm układów ASIC i FPGA. Wydawało się to możliwe • Napięcie zasilania 5 VDC, pobór prądu około 0,3 A • Emulacja komputera Amiga 500 do zrobienia, choć niełatwe. Pierwszym krokiem • Praca pod kontrolą systemu operacyjnego Amiga OS • Wykorzystuje procesor M68000 (M68SEC000FU2) i układ Spartan 3 (XC3S400-4PQ208C-ND) takiego przedsięwzięcia byłoby odtworzenie • Stacja dysków emulowana przy pomocy karty SD struktury chipsetów Amigi i zaimplementowa- • Możliwość podłączenia klawiatury i myszy PS2 nie ich w FPGA. Autor projektu poświęcił mnóstwo wysiłku na studiowanie dostępnej literatury na temat PROJEKTY POKREWNE wymienione artykuły są w całości dostępne na CD programowania FPGA oraz analizę dokumenta- Tytuł artykułu Nr EP/EdW Kit cji komputera Amiga. Nauczył się języka Verilog, Snake czyli gra z lat 70 EdW 12/2006 AVT-2806 kupił zestaw startowy z FPGA i rozpoczął pisa- Gra telewizyjna „SQUASH” EdW 11/2004 AVT-2739 nie programu. Zajęło mu to blisko rok. Pierw- Wolfenstein 3D na STR911 EP 1/2008 AVT-5122 szą grą, którą uruchomił były popularne kiedyś Wideo gra „Piłkarzyki” EP 12/2008 AVT-5162 Lemmingi. 30 ELEKTRONIKA PRAKTYCZNA 2/2009 Minimig – Amiga w FPGA Rys. 1. Schemat ideowy MiniMig V1.1 ELEKTRONIKA PRAKTYCZNA 2/2009 31 PROJEKTY Rys. 1. c.d. 32 ELEKTRONIKA PRAKTYCZNA 2/2009 Minimig – Amiga w FPGA Prototyp Minimig został zbudowany na sprzedanych Amig wywindowała producenta Overscan trzech płytkach podłączonych do zestawu star- na pierwsze miejsce wśród wytwórców kompu- Na początku produkcji komputery domowe były najczęściej podłączane do telewizorów, które miały towego FPGA Digilent Spartan-3 z zewnętrznym terów domowych i zapewniła firmie ponad 80 duże zniekształcenia na brzegach obrazu. Aby omi- procesorem MC68000, zmodyfikowanym ukła- procentowy udział w rynku. Konstruktorzy Amigi nąć ten problem, obraz uzyskiwany z komputera otoczony był ramką. Ramka mogła zmieniać kolory, dem wizyjnym z wyjściem VGA i emulatorem (początkowo pracujący we własnej firmie Amiga ale nie można tam było wyświetlać ani grafiki, ani oryginalnej stacji dysków wykonanym z uży- Computers) postanowili zbudować – jak to sami tekstu, choć w przypadku C64 programiści ominęli ciem mikrokontrolera PIC. Później opracowano określili – „najbardziej zabójcze pudło do gier to ograniczenie. Takie komputery nie nadawały się do obróbki obrazu, ponieważ okno robocze nie nową wersję, w której wszystkie komponenty elektronicznych”. Jednak (dziś można powiedzieć obejmowało całego wyświetlanego obszaru. Amiga znajdują się na jednej płytce PCB. – na szczęście) pojawiła się pewna różnica zdań była pozbawiona tej wady. Umożliwiała wyłączenie ramek i wyświetlenie obrazu na całym ekranie. i jeden z nich zaczął pracować wraz z zespołem Skrót historii Amigi techników nad nowym modelem uniwersalnego Sukces komputera Amiga na światowym komputera. Przewidywał, że moda na gry szyb- nego, rychło ogłaszał bankructwo. W tej sytuacji rynku da się porównać jedynie z sukcesem słyn- ko przeminie i ludzie będą szukać czegoś wię- prawdziwy i wszechstronny komputer był jedy- nego Commodore C64. W roku 1987 liczba cej. Prace były prowadzone w tajemnicy przed ną szansą dla firmy. Premiera modelu nastąpiła pozostałymi wspólnikami i nie w styczniu 1984, podczas targów Consumer wiadomo czym by się to za- Electronics Show przy drzwiach zamkniętych. kończyło, gdyby nie gwałtowne Komputer pojawił się w sprzedaży już la- załamanie się rynku gier telewi- tem 1984 roku jako produkt firmy Commodore. zyjnych. Zgodnie z przewidy- Był on seryjnie wyposażony w 512 kB pamięci, waniami, moda prawie z dnia którą łatwo można było rozbudowywać i sta- na dzień przeminęła, i kto nie cję dysków 3,5”. Dyskietki miały pojemność zdążył się przerzucić na coś in- 880 kB (w konkurencyjnym PC tylko 720 kB). Rys. 1. c.d. ELEKTRONIKA PRAKTYCZNA 2/2009 33 PROJEKTY wszystkie pisane dla niego aplikacje są 32-bito- we. M68000 wymienia dane z otoczeniem uży- wając 16-bitowej magistrali danych. Jak wspomniano wcześniej, komputer wy- posażony był w szereg procesorów pomocni- czych. Ciekawy był również podział pamięci. Otóż Amigę wyposażono w 3 rodzaje pamięci, podzielone na bloki funkcjonalne: – ChipRAM – zwana też pamięcią audio/video. Może być używana przez wszystkie proceso- ry (graficzny, muzyczny i główny), – FastRAM – do tej pamięci dostęp ma jedynie procesor główny, toteż jest ona najszybsza, 3 typy pamięci używanej w Amidze mianowicie: – SlowRAM – widziana przez system jako ROM kickstartu, CHIP RAM i FAST RAM. Ponie- FastRAM, w rzeczywistości działa jak Chip- waż Minimig nie ma ROM-u Amigi (kickstart), Jej dodatkowym atutem był multi-tasking, który -RAM. Łączyła wady obu poprzednich ty- jego kopia jest ładowana przy starcie. Procesor pozwala na jednoczesną realizację kilku zadań. pów była więc najgorsza. Ten rodzaj pamięci PIC emuluje napęd dyskowy, z którego ładowa- Była to rzecz niespotykana w komputerach do- był dostępny tylko w pierwszych modelach ny jest obraz ROM. Takie rozwiązanie było uży- mowych. Amigi. wane w pierwszych Amigach, później kickstart umieszczono w pamięci stałej. Konfiguracja sprzętowa Minimig Po załadowaniu obrazu pamięci ROM do Amigi 500, 1000 i 2000 miały procesor Mo- Minimig rev. 1.0 jest zbudowany na poje- RAM, FPGA chroni ten obszar przed zapisem, toroli MC68000 taktowany zegarem 7,14 MHz dynczej płytce PCB o wymiarach 12×12 cm, dzięki czemu zachowuje się on jak pamięć stała. i wyspecjalizowane układy (Denise, Agnus i Pau- której schemat pokazano na rys. 1. Zawiera ona Pozostała część RAM-u (1,5 MB) jest podzielona la) odpowiedzialne za obraz, dźwięk, operacje wszystkie komponenty oryginalnej Amigi poza pomiędzy CHIP i FAST RAM. na pamięci oraz obsługę dysku. Układ graficz- stacją dysków, dyskiem HD i CD-ROM. Zamiast ny o nazwie OCS (Original Chipset) umożliwiał tego zastosowano kartę MMC. Minimig składa Procesor PIC Amidze uzyskanie maksymalnej rozdzielczości się z 4 głównych elementów: Układ PIC pełni dwie funkcje. Pierwszą 640×512 pikseli (+tzw. overscan) w 16 kolo- – układu FPGA firmy XILINX typu SPARTAN z nich jest załadowanie RAM-u układu Spar- rach, lub 320×512 pikseli maksymalnie w 32 XC3S400, tan-3. Układy te wymagają zewnętrznego kon- lub 64 kolorach (tryb Extra Half Bright, w któ- – procesora M68SEC000, figuratora, w Minimigu funkcję taką pełni układ rym „drugie” 32 kolory były o połowę ciemniej- – pamięci RAM, PIC. Drugim zadaniem układu jest załadowanie szymi odcieniami). Istniał także specjalny tryb – kontrolera MMC zbudowanego z użyciem kickstartu do pamięci RAM Minimiga. Dzieje się HAM(6), który umożliwiał uzyskanie w niskich mikrokontrolera PIC. to tylko raz po włączeniu zasilania. rozdzielczościach (tryb low, 320 pikseli w po- Sercem Minimiga jest FPGA. Zużyto 400 ziomie) aż 4096 kolorów, co w tamtych czasach tysięcy bramek z układu Spartan-3 firmy Xilinx. Funkcje układu FPGA było wielkością szokującą. Wszystkie główne komponenty (RAM i 68000) Działania układu FPGA są opisane w języku W czasach, gdy komputery PC były wypo- podłączone są bezpośrednio do FPGA. FPGA Verilog. Moduły nazwano identycznie, jak emu- sażane w różne „wynalazki” typu Covox, czy emuluje chipy specjalizowane Denise, Agnus, lowane przez nie funkcje: układ Denise nazywa AdLib, Amiga dzięki przetwornikom C/A dyspo- Paula i Gary, jak również obie kości CIA (układ się denise, Agnus – agnus, itd. Zachowano rów- nowała czterokanałowym generatorem dźwięku 8520). Oprócz tego, FPGA emuluje również kla- nież oryginalne nazwy sygnałów (DMSA, INT2, stereofonicznego. Powstała również wersja de- wiaturę i mysz Amigi, wykorzystując do tego OVL itd). Oprócz standardowych modułów, sktop Amigi, która była wyposażona w złącza celu typową klawiaturę i mysz PC pracujące znajdują się dwa niewystępujące w oryginalnej Zorro, służące do rozbudowy komputera np. w standardzie PS2. Oryginalna Amiga nie miała Amidze. Moduły te łączą FPGA z pamięcią RAM o karty graficzne. Były one funkcjonalnie po- złącz PS2, zaimplementowano je po to, aby uła- i procesorem 68000. Cały projekt zrealizowa- dobne do ISA, z tym że obsługiwały autokonfi- twić podłączenie współczesnych urządzeń. no za pomocą darmowego narzędzia Webpack gurację (pełne PnP). Minimig używa spe- cjalnej wersji procesora Budowa Amigi M68000: MC68SEC000. Jest W Amidze oprócz procesora głównego to układ zasilany napięciem wbudowano szereg procesorów pomocniczych. 3,3 V. Dzięki temu nie ma

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us