RTV forum PL | NewsGroups PL

Zaskakująca cisza na liniach adresowych MOS6502 podczas eksperymentów na płytce uniwersalnej?

Eksperymenty ze starymi procesorami - MOS6502

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Zaskakująca cisza na liniach adresowych MOS6502 podczas eksperymentów na płytce uniwersalnej?

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

Andrzej
Guest

Fri Jun 01, 2018 9:10 pm   



W dniu 2018-05-30 o 21:03, J.F. pisze:
Quote:
Dnia Tue, 29 May 2018 20:47:50 -0700 (PDT), sczygiel@gmail.com
napisał(a):
W dniu wtorek, 29 maja 2018 22:08:52 UTC-5 użytkownik J.F. napisał:
Mial niezdefiniowane instrukcje, niektore chyba go wieszaly (na
szczescie bez HCF). Warto by opornikami na linii danych wymusic jakas
bezpieczna.

http://www.obelisk.me.uk/6502/reference.html#NOP
6502 to dosyc prosty cpu. tam raczej nie ma nic fikusnego.

Tylko sporo dziur w liscie instrukcji, a dzialaly ... ciekawie.

chyba prosciej bedzie zaemulowac mu rom/ram przelacznikami i
taktowac recznie aby sie pobawic.

Dobrze znalazles NOP to EA.
Ale moze byc tez inny, np $DD - tylko 2 bity do wyzerowania, a rozkaz
CMP absolute,X
bedzie halasowal po magistrali.


Niestety - $00 to BRK - ale tez powinien halasowac, a $FF
niezdefiniowany. Ciekawy
http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes

INS *** (ISC)
This opcode INCs the contents of a memory location and then SBCs the
result from the A register.

Ale ... na jakims klonie moze nie dzialac.

J.

Nic już nie pamiętam. A przecież nawet kiedyś napisałem disasembler na

6502 w Basicu. Ciekawe, czy jeszcze u kogoś się poniewiera.

Atlantis
Guest

Fri Jun 01, 2018 10:35 pm   



On 01.06.2018 20:48, Sebastian Biały wrote:


Quote:
Daj namiar. Widze na ali 6502 ale w tak róznych cenach że nie wiem ktore
sa te Twoje.

https://tinyurl.com/y9j9auz4

Zaryzykowałem i postanowiłem kupić na jednej z tańszych (jeśli nie
najtańszej) aukcji. Nie był to kompletny strzał w ciemno, bo jeden
człowiek z pewnej grupy na FB już je wcześniej zamówił i otrzymał
przesyłkę (ale na tamtą chwilę jeszcze nie miał okazji przetestować).

Procesory wyglądają na pochodzące z demontażu, na szczęście wyjęte z
podstawek, a nie wylut. Wygląda na to, że każdy z innej serii. Niektóre
sztuki mają już nieco słabo widoczne oznaczenia, jedna dodatkowo ma
trochę rys na górnej stronie obudowy.

Co ciekawe na Ali nie widzę 6502 w wersji CMOS. Są na Ebay'u, także z
wysyłką z Chin. Może też na próbę kupię kilka sztuk. Wink

J.F.
Guest

Fri Jun 01, 2018 10:48 pm   



Dnia Fri, 1 Jun 2018 23:10:55 +0200, Andrzej napisał(a):
Quote:
W dniu 2018-05-30 o 21:03, J.F. pisze:
Niestety - $00 to BRK - ale tez powinien halasowac, a $FF
niezdefiniowany. Ciekawy
http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes

INS *** (ISC)
This opcode INCs the contents of a memory location and then SBCs the
result from the A register.

Ale ... na jakims klonie moze nie dzialac.

Nic już nie pamiętam. A przecież nawet kiedyś napisałem disasembler na
6502 w Basicu. Ciekawe, czy jeszcze u kogoś się poniewiera.

Tego nie mozesz pamietac, bo to nieoficjalne bylo.
Mnemonik tez nieoficjalny.

J.

Guest

Fri Jun 01, 2018 10:48 pm   



W dniu piątek, 1 czerwca 2018 02:08:27 UTC-5 użytkownik Atlantis napisał:
Quote:
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.


Nie chodzi o replikowanie, chodzi o to ze i c64 i amiga mialy bardzo podobne uklady io i mozna je zastosowac tak, zeby bylo elegancko :)

obadaj schemat c64 i amigi, zobaczysz tam uklady cia:
https://www.c64-wiki.com/wiki/CIA

One sa tym o co pytasz.

No chyba ze chcesz inne, to juz kto inny musi zasugerowac co tam ci trzeba :)

Quote:
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.


Eeee chyba nie tak. dla x86 w dolnej czesci pamieci programy korzystaly z krotszego adresowania przez co byly krotsze oidp.

dla 6502 tego nie ma, chyba zrobili tak zeby bylo wygodnie i tyle.

Quote:
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?

Chyba nie, Ale zerknij czy to nie bylo zwiazane z obsluga przerwan. Cos mi sie kojarzy ze gdzies tam byl rejestr ktory wskazywal na procedure obslugi przerwania i moze on byl jakos skoligacony z gorna adresacja.

J.F.
Guest

Fri Jun 01, 2018 10:54 pm   



Dnia Fri, 1 Jun 2018 13:48:04 -0700 (PDT), sczygiel@gmail.com
Quote:
W dniu piątek, 1 czerwca 2018 02:08:27 UTC-5 użytkownik Atlantis napisał:
On 01.06.2018 08:43, cezar wrote:
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.


Nie chodzi o replikowanie, chodzi o to ze i c64 i amiga mialy bardzo podobne uklady io i mozna je zastosowac tak, zeby bylo elegancko Smile
obadaj schemat c64 i amigi, zobaczysz tam uklady cia:
https://www.c64-wiki.com/wiki/CIA
One sa tym o co pytasz.

Tylko czy da sie kupic ?

Oprocz 65xx powinny tez pasowac peryferia od 6800.

Na kompatybilne z magistrala wygladaja tez znakowe LCD - te 2x16, czy
wieksze.
No i np 6845 - tylko on musi miec czesty dostep do pamieci.

IMO - rozwijanie tego nie ma sensu. Czas sie zajac czyms wspolczesnym.

J.

Guest

Sat Jun 02, 2018 3:35 am   



W dniu piątek, 1 czerwca 2018 17:54:28 UTC-5 użytkownik J.F. napisał:
Quote:
Dnia Fri, 1 Jun 2018 13:48:04 -0700 (PDT), sczygiel@gmail.com
W dniu piątek, 1 czerwca 2018 02:08:27 UTC-5 użytkownik Atlantis napisał:
On 01.06.2018 08:43, cezar wrote:
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.


Nie chodzi o replikowanie, chodzi o to ze i c64 i amiga mialy bardzo podobne uklady io i mozna je zastosowac tak, zeby bylo elegancko Smile
obadaj schemat c64 i amigi, zobaczysz tam uklady cia:
https://www.c64-wiki.com/wiki/CIA
One sa tym o co pytasz.

Tylko czy da sie kupic ?


Da sie wylutowac :)

Quote:
Oprocz 65xx powinny tez pasowac peryferia od 6800.

Na kompatybilne z magistrala wygladaja tez znakowe LCD - te 2x16, czy
wieksze.
No i np 6845 - tylko on musi miec czesty dostep do pamieci.

IMO - rozwijanie tego nie ma sensu. Czas sie zajac czyms wspolczesnym.


No to sie tyczy tez samego 6502. Bo po co robic cos na nim jak mamy atmegi?

No chyba ze ma byc odporne na promieniowanie. Ale czy ten wspolczesny 6502 jest na duzym krzemie czy na malym?
Bo jak na malym to chyba bedzie rownie nieodporny na promieniowanie jak taka atmega?
No, moze nieco mniej ale jednak nadal felernie nieodporny...

Andrzej
Guest

Sat Jun 02, 2018 6:13 am   



W dniu 2018-06-02 o 00:48, J.F. pisze:
Quote:
Dnia Fri, 1 Jun 2018 23:10:55 +0200, Andrzej napisał(a):
W dniu 2018-05-30 o 21:03, J.F. pisze:
Niestety - $00 to BRK - ale tez powinien halasowac, a $FF
niezdefiniowany. Ciekawy
http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes

INS *** (ISC)
This opcode INCs the contents of a memory location and then SBCs the
result from the A register.

Ale ... na jakims klonie moze nie dzialac.

Nic już nie pamiętam. A przecież nawet kiedyś napisałem disasembler na
6502 w Basicu. Ciekawe, czy jeszcze u kogoś się poniewiera.

Tego nie mozesz pamietac, bo to nieoficjalne bylo.
Mnemonik tez nieoficjalny.

J.

Czy był oficjalny, czy nie tego nie pamiętam. Pamiętam , że coś takiego

napisałem. Gdzieś nawet w śmieciach plącze się wydruk.Rozgryzaliśmy z
kolegami różne wersje Basic'a, w tym BASIC C64. A pamięta ktoś "Smutny
Basic", tzn. Basic z Amaterskiego Radia napisany przez inż. Smutnego?

Grzegorz Kurczyk
Guest

Sat Jun 02, 2018 6:35 am   



W dniu 01.06.2018 o 09:08, Atlantis pisze:
Quote:
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ć Wink
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

jacek pozniak
Guest

Sat Jun 02, 2018 8:26 am   



Quote:

IMO - rozwijanie tego nie ma sensu. Czas sie zajac czyms wspolczesnym.

J.
Współczesne są nudne Smile


I w zasadzie niczym się nie różną od tych historyczych, tyle tylko, że ich
stosowanie jest bardziej opłacalne; jeśli robisz to dla pieniędzy.
No ale Atlantis robi to dla hobby. Trochę mu zazdroszczę, że ma czas.


jp

jacek pozniak
Guest

Sat Jun 02, 2018 8:33 am   



Quote:
Czy był oficjalny, czy nie tego nie pamiętam. Pamiętam , że coś takiego
napisałem. Gdzieś nawet w śmieciach plącze się wydruk.Rozgryzaliśmy z
kolegami różne wersje Basic'a, w tym BASIC C64. A pamięta ktoś "Smutny
Basic", tzn. Basic z Amaterskiego Radia napisany przez inż. Smutnego?

Nie wiem czy o tym mowa ale pamiętam jakiś Basic, drukowany w Amaterske
Radio (niebieskie), na kilku stronach, w hex, na 8080 był, coś koło 4
kilobajty.

Z kolegą zdisassemblowaliśmy go, ręcznie, długopisem w zeszycie.

Bardzo pouczające doświadczenie, odkrywanie jak działa interpreter.
Potem przenieśliśmy go do pamięci EEPROM, nieco modyfikując; dodaliśmy
proste funkcje do rysowania grafiki i obsługe magnetofonu.

jp

Atlantis
Guest

Sat Jun 02, 2018 10:00 am   



On 02.06.2018 10:26, jacek pozniak wrote:

Quote:
No ale Atlantis robi to dla hobby. Trochę mu zazdroszczę, że ma czas.

Tak naprawdę, to nie mam. Moje projekty potrafią niekiedy powstawać
długimi miesiącami, kiedy aktywnie pracuję nad nimi przez wieczór albo
dwa, a potem mam parę tygodni przerwy. Wink
A co do nowoczesnych rozwiązań, to zrobiłem już sporo projektów na AVR
oraz PIC32, do tego trochę na STM32, ESP8266 i Raspberry Pi. Nauczyłem
się C, do pewnego stopnia ogarniam też parę innych wysokopoziomowych
języków.

Po prostu chciałem teraz zobaczyć, jak to działa u podstaw. Jasne, że
mógłbym po prostu podszkolić się w asemblerze AVR, ale gdzie tu zabawa? Wink

J.F.
Guest

Sat Jun 02, 2018 10:15 am   



Dnia Sat, 2 Jun 2018 08:13:49 +0200, Andrzej napisał(a):
Quote:
W dniu 2018-06-02 o 00:48, J.F. pisze:
Dnia Fri, 1 Jun 2018 23:10:55 +0200, Andrzej napisał(a):
W dniu 2018-05-30 o 21:03, J.F. pisze:
Niestety - $00 to BRK - ale tez powinien halasowac, a $FF
niezdefiniowany. Ciekawy
http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes

INS *** (ISC)
This opcode INCs the contents of a memory location and then SBCs the
result from the A register.

Ale ... na jakims klonie moze nie dzialac.

Nic już nie pamiętam. A przecież nawet kiedyś napisałem disasembler na
6502 w Basicu. Ciekawe, czy jeszcze u kogoś się poniewiera.

Tego nie mozesz pamietac, bo to nieoficjalne bylo.
Mnemonik tez nieoficjalny.

Czy był oficjalny, czy nie tego nie pamiętam.

To strona z tymi nieoficjalnymi rozkazami.


J.

Atlantis
Guest

Sat Jun 02, 2018 3:43 pm   



Tak swoją drogą, da się gdzieś dostać jeszcze peryferia (UART, port
równoległy, timer, RTC itp.) kompatybilne z magistralą MOS6502?
Ewentualnie, czy nie będzie żadnych problemów z podpięciem intelowskich
układów (8251, 8253, 8255), jeśli zastosuję prosty układ konwertujący
sygnał R/W i drugie wyjście zegarowe na sygnały WR i RD? W końcu i tak
ich potrzebuję, żeby obsłużyć standardowe RAM-y i EPROM=y...

Grzegorz Kurczyk
Guest

Sat Jun 02, 2018 4:53 pm   



W dniu 02.06.2018 o 17:43, Atlantis pisze:
Quote:
Tak swoją drogą, da się gdzieś dostać jeszcze peryferia (UART, port
równoległy, timer, RTC itp.) kompatybilne z magistralą MOS6502?
Ewentualnie, czy nie będzie żadnych problemów z podpięciem intelowskich
układów (8251, 8253, 8255), jeśli zastosuję prosty układ konwertujący
sygnał R/W i drugie wyjście zegarowe na sygnały WR i RD? W końcu i tak
ich potrzebuję, żeby obsłużyć standardowe RAM-y i EPROM=y...

Pisałem o tym trochę wcześniej. Możesz spokojnie użyć peryferiów Intela.

Magistrala 6502 jest synchroniczna. Zapis do na magistralę następuje
przy opadającym zboczu Fi2 przy aktywnym stanie niskim sygnału R/W.
Strob zapisu w peryferiach intela jest asynchroniczny. Tak jak piszesz
trzeba poskładać intelowskie sygnały WR i RD z kombinacji R/W z Fi2.
Jeśli chodzi o RD to wystarczy negacja sygnału R/W. Sygnał WR robisz
przez NOT Fi2 OR R/W lub NOT(NOT R/W AND Fi2) Druga metoda pozwala
zrobić sterowanie na dwóch bramkach z 74LS00.
Osobiście nie polecam 8251. Jest dość upierdliwy i było trochę błędów w
dokumentacji. Chyba, że chcesz go użyć w podstawowym trybie
asynchronicznym. Nie ma własnego dzielnika prędkości transmisji więc
trzeba go poganiać z jednego licznika 8253.

--
Pozdrawiam
Grzegorz

Sebastian Biały
Guest

Sat Jun 02, 2018 5:45 pm   



On 6/2/2018 12:35 AM, Atlantis wrote:
Quote:
https://tinyurl.com/y9j9auz4
Zaryzykowałem i postanowiłem kupić na jednej z tańszych (jeśli nie
najtańszej) aukcji.

Tu są ponizej 1E :D

https://www.aliexpress.com/item/1PCS-Mos-6502-MOS6502-6502AD-R65C02AP-MOS-6502/32832487055.html

Twierdzą że działają ok.

Skuszę się na 4 sztuki (bo wtedy shipping jest za 0.66E).

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Zaskakująca cisza na liniach adresowych MOS6502 podczas eksperymentów na płytce uniwersalnej?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map