-
Data: 2018-06-10 21:49:04
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Udało mi się złożyć prosty komputerek z MOS6502AD. W tej chwili
konfiguracja wygląda następująco:
- 32kB RAM, adresowany bezpośrednio (pierwsza połowa przestrzeni adresowej).
- 16 kB pamięci EPROM (ostatnia ćwiartka przestrzeni adresowej)
- dekoder adresów na układach TTL-LS
- szyna adresowa buforowana przez dwa układy 74LS245
- port równoległy 8255
Poza tym na płytce znajdują się na razie nie obsadzone podstawki pod:
- dodatkowy chip pamięci RAM, dostępny jako cztery banki po 8kB
- port wyjściowy na 74LS373 do sterowania powyższym
- timer 8253 oraz UART 8251
Sygnały !WR oraz !RD na potrzeby pamięci oraz intelowskich peryferiów są
generowane przez następujący układ:
http://wilsonminesco.com/6502primer/RDnotWRnotCkt.jp
g
Podczas wstępnego rozruchu nie obyło się bez wpadki - okazało się, że
odwrotnie podłączyłem zasilanie do 8255. Popłynął za dużo prąd - nie na
tyle duży, żeby przepalić 3A bezpiecnzik, ale drucik wewnątrz się lekko
rozżarzył. Na wszelki wypadek po tym incydencie wymieniłem 8255 i CPU na
inne egzemplarze.
Na chwilę obecną układ przeszedł test "pracy na luzie" - podciągnąłem
linie danych za pomocą rezystorów, układając wartość 0xEA (NOP). Szyna
adresowa w tej sytuacji zachowuje się prawidłowo - na kolejnych liniach
pojawiają się impulsy o dwa razy większej długości niż na linii
poprzedniej. Dekoder adresów w tej sytuacji także zdaje się działać
prawidłowo, generując impulsy stanu niskiego we właściwej sekwencji.
Natomiast za nic nie udało mi się uruchomić programu. W EPROM-ie siedzi
w tej chwili coś takiego:
CTRLREG EQU $9000
PA_8255 EQU $9200
PB_8255 EQU $9201
PC_8255 EQU $9202
CONF_8255 EQU $9203
.ORG $C000
INIT:
LDX #$FF
TXS
LDA #$80
STA CONF_8255 ;tryb 0, wszystkie porty wyjsciowe
LOOP:
LDA #$01
STA PA_8255
JSR DELAY
LDA #$00
STA PA_8255
JSR DELAY
JMP LOOP
DELAY:
LDY #$FF
DELAY_LOOP1:
LDX #$FF
DELAY_LOOP2:
DEX
BNE DELAY_LOOP2
DEY
BNE DELAY_LOOP1
RTS
IRQ:
RTI
NMI:
RTI
.ORG $FFFA
DW NMI
DW INIT
DW IRQ
Program powinien "machać" stanem pinu PA0 układu 8255. Niestety, nie
robi tego. Oscyloskop pokazuje aktywność na liniach adresowych i danych,
a także na !WR !RD. Niestety linia CS sterująca 8255 jest nieaktywna,
podobnie jak wszystkie linie z obszaru I/O. Podczas pracy "na luzie"
linie te regularnie przełączały się na moment w stan niski.
Wstępnie sprawdziłem połączenia, przedzwaniając połączenia multimetrem.
Sprawdziłem też inny EPROM.
Ktoś ma jakiś pomysł? Może błąd tkwi w moim kodzie?
Następne wpisy z tego wątku
- 10.06.18 23:31 ajt
- 11.06.18 07:59 J.F.
- 12.06.18 08:06 Atlantis
- 13.06.18 11:29 J.F.
- 15.06.18 14:59 Atlantis
- 15.06.18 22:37 J.F.
- 16.06.18 00:00 HF5BS
- 16.06.18 00:42 J.F.
- 16.06.18 04:48 HF5BS
- 17.06.18 01:37 J.F.
- 18.06.18 01:33 HF5BS
- 18.06.18 08:34 J.F.
- 19.06.18 20:15 HF5BS
- 19.06.18 23:36 J.F.
- 20.06.18 19:27 HF5BS
Najnowsze wątki z tej grupy
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- 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
Najnowsze wątki
- 2024-12-28 Antyradar
- 2024-12-28 Deweloper przegral w sadzie musi zwrócic pieniądze Posypia sie kolejne pozwy?
- 2024-12-28 Warszawa => Full Stack .Net Engineer <=
- 2024-12-28 Warszawa => Sales Assistant <=
- 2024-12-28 Warszawa => Programista Full Stack .Net <=
- 2024-12-28 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-28 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-28 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-28 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-28 Żerniki => Employer Branding Specialist <=
- 2024-12-28 ale zawziętość i cierpliwość
- 2024-12-27 most kilometrowy
- 2024-12-27 Dyplomaci a alkomaty
- 2024-12-27 Zmiana kary
- 2024-12-27 Chiński elektrolizer tester wody