-
Data: 2018-06-02 08:35:30
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 01.06.2018 o 09:08, Atlantis pisze:
> On 01.06.2018 08:43, cezar wrote:
>
>> Jezeli chcesz zostac przy MOS technology to praktycznie najlepiej wziac
>> schemat VIC 20 lub C64
>
> Nie planuję budować repliki konkretnego urządzenia z epoki. To ma być
> projekt o walorach edukacyjnych, budowany dla frajdy. Chciałbym więc
> samodzielnie zaprojektować dekoder adresów i peryferia, a potem
> przystosować jakiegoś BASIC-a do pracy z tym sprzętem. Tak samo, jak
> zrobiłem w przypadku mojego projektu z wykorzystaniem MCY7880.
>
> Tak BTW czy w przypadku systemu 6502 istnieje jakiś argument za
> umieszczaniem EPROM-u w górnej części przestrzeni adresowej? W przypadku
> komputerów opartych na 8080/8085/Z80 ma to sens o tyle, że CP/M wymaga
> RAM-u zaczynającego się od adresu 0x0000. Wiąże się to jednak z pewna
> komplikacją - dodatkowa logika musi zapewnić start procesora od
> właściwego adresu.
>
> Dla 6502 nie było CP/M, jednak czy istnieje jeszcze jakiś inny argument
> za takim rozwiązaniem? Nie zamknę sobie jakiejś drogi umieszczając EPROM
> na początku przestrzeni adresowej?
>
Nie tyle argument co konieczność. Na adresach 0000-00FF jest tzw. strona
zerowa pełniąca rolę czegoś w rodzaju 256 rejestrów. Czyli w tym
obszarze musi być RAM. Rozkazy operujące na tej stronie mają krótsze
mnemoniki i działają szybciej. Teoretycznie można by z nich zrezygnować
w programie, ale "utrata" adresowania indirect (adres bazowy w dwóch
sąsiednich komórkach na stronie zerowej) może być bolesna. Następny
obszar bez którego raczej się nie obejdziesz to stos pod adresami
0100-01FF. Następny problem, to wektory na końcu przestrzeni adresowej:
NMI $FFFA/$FFFB
RESET $FFFC/$FFFD
IRQ/BRK $FFFE/$FFFF
Jeśli w tym obszarze umieścisz RAM, to na jaki adres będą wskazywać
wektory po włączeniu zasilania?
Najprostsze systemy z 6502 budowałem z kostką EPROM 2716 i statycznym
RAM-em 6116. Dekoder adresu, to jeden inwerter. Sygnał /CS pamięci RAM
był podłączony bezpośrednio do A15, a /CS EPROMu przez inwerter do A15
Dawało to efekt wielokrotnego powtarzania tego samego 2 kilobajtowego
obszaru w przestrzeni adresowej procesora, ale to w niczym nie przeszkadza.
Oczywiście z takim systemem bez układów I/O ciężko będzie pogadać ;-)
Więc trzeba będzie jakiś dekoder chociaż dwóch najstarszych linii
adresowych (np połówka 74LS155) aby stworzyć cztery obszary adresowe.
CS0 0000-3FFF dla pamięci RAM
CS1 4000-7FFF dla układu I/O
CS2 8000-BFFF dla układu I/O
CS3 C000-FFFF dla pamięci EPROM
Z powodu kiepskiej dostępności układów peryferyjnych 65xx w tamtym
czasie, pożeniłem z 6502 dość popularne układy ze stajni Intela.
port równoległy i8255 i timer i8253. Trzeba sztucznie wytworzyć sygnały
IOW oraz IOR przez bramkowanie sygnału R/W z wyjściem zegarowym FI2.
Tą samą metodą możesz dołączać proste peryferia w postaci przerzutników
D (lub latch) oraz buforów trójstanowych.
--
Pozdrawiam
Grzegorz
Następne wpisy z tego wątku
- 02.06.18 10:26 jacek pozniak
- 02.06.18 10:33 jacek pozniak
- 02.06.18 12:00 Atlantis
- 02.06.18 12:15 J.F.
- 02.06.18 17:43 Atlantis
- 02.06.18 18:53 Grzegorz Kurczyk
- 02.06.18 19:45 Sebastian Biały
- 02.06.18 21:03 Andrzej
- 02.06.18 21:50 Grzegorz Kurczyk
- 02.06.18 22:20 J.F.
- 03.06.18 00:11 Atlantis
- 03.06.18 01:12 s...@g...com
- 03.06.18 09:08 Atlantis
- 03.06.18 09:57 Sebastian Biały
- 03.06.18 19:51 Michał Baszyński
Najnowsze wątki z tej grupy
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
Najnowsze wątki
- 2025-12-29 Greta Thunberg aresztowana w Londynie za wsparcie zdelegalizowanej grupy [Palestine Action - przyp. JMJ]
- 2025-12-29 Sarkozy
- 2025-12-29 Czujnik
- 2025-12-29 Warszawa => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Serv
- 2025-12-29 Warszawa => IT Recruiter <=
- 2025-12-29 Warszawa => Solution Architect (Workday) - Legal Systems <=
- 2025-12-29 Warszawa => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-29 Warszawa => Senior Java Developer <=
- 2025-12-29 Katowice => Key Account Manager <=
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Czwarta doba strajku na głębokości 500 metrów. "Ministerstwo robi sobie z nas jaja"
- 2025-12-29 Kolejny kraj [WB - przyp. JMJ] zakazuje chowu klatkowego. W Polsce żyje tak 40 mln kur
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Norwegia kontra media społecznościowe
- 2025-12-28 PREZENTY OD MINISTRA FINANSÓW. SKĄD PIENIĄDZE?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]