-
31. Data: 2018-06-01 22:48:04
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: s...@g...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:
>
> > 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 :)
> 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.
> 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.
-
32. Data: 2018-06-01 23:10:55
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Andrzej <d...@o...pl>
W dniu 2018-05-30 o 21:03, J.F. pisze:
> Dnia Tue, 29 May 2018 20:47:50 -0700 (PDT), s...@g...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.opco
des
>
> 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.
-
33. Data: 2018-06-02 00:35:42
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Atlantis <m...@w...pl>
On 01.06.2018 20:48, Sebastian Biały wrote:
> 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. ;)
-
34. Data: 2018-06-02 00:48:03
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
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.opco
des
>>
>> 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.
-
35. Data: 2018-06-02 00:54:30
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Dnia Fri, 1 Jun 2018 13:48:04 -0700 (PDT), s...@g...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 :)
> 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.
-
36. Data: 2018-06-02 03:35:38
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: s...@g...com
W dniu piątek, 1 czerwca 2018 17:54:28 UTC-5 użytkownik J.F. napisał:
> Dnia Fri, 1 Jun 2018 13:48:04 -0700 (PDT), s...@g...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 :)
> > 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 :)
> 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...
-
37. Data: 2018-06-02 08:13:49
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Andrzej <d...@o...pl>
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.opco
des
>>>
>>> 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?
-
38. Data: 2018-06-02 08:35:30
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>
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
-
39. Data: 2018-06-02 10:26:16
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: jacek pozniak <j...@f...pl>
>
> IMO - rozwijanie tego nie ma sensu. Czas sie zajac czyms wspolczesnym.
>
> J.
Współczesne są nudne :)
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
-
40. Data: 2018-06-02 10:33:38
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: jacek pozniak <j...@f...pl>
> 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