-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!news.mixmin.net!border2.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed
.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.
neostrada.pl.POSTED!not-for-mail
Subject: Re: Eksperymenty ze starymi procesorami - MOS6502
Newsgroups: pl.misc.elektronika
References: <5b0de421$0$679$65785112@news.neostrada.pl>
<1oxy4sr8fj9eg$.19avyxwt0zuxv.dlg@40tude.net>
<5b0e3b4a$0$619$65785112@news.neostrada.pl>
<pepgq4$rdf$1@node1.news.atman.pl>
<5b10e195$0$691$65785112@news.neostrada.pl>
<peqptm$pds$1$cezar91@news.chmurka.net>
<5b10f0e2$0$31371$65785112@news.neostrada.pl>
From: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>
Date: Sat, 2 Jun 2018 08:35:30 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
Thunderbird/52.8.0
MIME-Version: 1.0
In-Reply-To: <5b10f0e2$0$31371$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Language: pl-PL
Content-Transfer-Encoding: 8bit
Lines: 64
Message-ID: <5b123ab2$0$618$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 37.8.223.76
X-Trace: 1527921330 unt-rea-a-02.news.neostrada.pl 618 37.8.223.76:32842
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:732658
[ ukryj 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
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
Najnowsze wątki
- 2024-12-12 Autocom CAN CDP+ wysokie kody błędów
- 2024-12-13 termostat do lodowki
- 2024-12-13 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-13 Warszawa => Head of International Freight Forwarding Department <=
- 2024-12-13 Poznań => Employer Branding Specialist <=
- 2024-12-13 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-13 Kraków => Business Development Manager - Network and Network Security
- 2024-12-13 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-13 Gdańsk => Programista Full Stack .Net <=
- 2024-12-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-12-13 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2024-12-13 Wrocław => Application Security Engineer <=
- 2024-12-13 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-13 Lublin => Programista Delphi <=
- 2024-12-13 Chrzanów => Specjalista ds. public relations <=