-
61. Data: 2018-06-04 12:47:20
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Atlantis" napisał w wiadomości grup
dyskusyjnych:5b14fc91$0$690$6...@n...neostrada.
pl...
On 04.06.2018 05:52, s...@g...com wrote:
>> Jak nie masz zamiaru nic konkretnego montowac z tego to po co brnąć
>> w
>> kostki? A jak cos zmontujesz na emulatorze to spokojnie mozesz sie
>> uprzec i z sprzetow z allegro sobie zmontujesz co potrzeba...
>Bo tak naprawdę od zawsze bardziej interesował mnie hardware niż
>software. Możliwość samodzielnego sklecenia komputera z układów
>scalonych wydaje mi się ciekawsza niż pisanie dem i gier (ponoć nowe
>produkcje wciąż powstają) na Commodore C64.
Kup sobie jakas plytke z FPGA :-)
>A to, że przy okazji podszkolę się z asemblera to tylko dodatkowa
>zaleta.
Znikoma, jesli to assembler 6502.
Jeszcze jak to bylby pierwszy poznany assembler, to owszem, ale jak
kolejny ...
J.
-
62. Data: 2018-06-04 13:45:32
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Atlantis <m...@w...pl>
On 04.06.2018 12:47, J.F. wrote:
> Jeszcze jak to bylby pierwszy poznany assembler, to owszem, ale jak
> kolejny ...
Właśnie o to chodzi, że pierwszy. To znaczy tak jakby...
Do tej pory wszystkie swoje projekty pisałem w C, trochę C++. Zdążyłem
też nauczyć się podstaw paru współcześniejszych języków wysokiego
poziomu (Python, JavaScript) w stopniu wystarczającym, żeby
wykorzystywać je w swoich projektach z RasPi czy podobnymi linuksowymi
płytkami.
Do tej pory co najwyżej w znikomym stopniu używałem asemblera, ale przy
niewielkim stopniu zrozumienia tematu, dodając jakieś proste wstawki do
programów w C.
Dopiero teraz zabrałem się za to na poważniej, eksperymentując najpierw
z MCY7880, a teraz także z MOS6502. Dlaczego akurat te antyczne procesory?
1) Bo całkiem możliwe, że jeszcze będę miał do czynienia ze sprzętem
retro. Lubię ten temat. ;)
2) Bo po opanowaniu asemblera jednej rodziny procesorów przyswojenie
sobie kolejnych nie będzie już tak wielkim wysiłkiem.
3) Bo chciałem zrobić coś konstruktywnego ze starymi elementami
zalegającymi w pudełkach. W przypadku projektu na MCY7880 spora część z
nich pochodzi jeszcze z zakładów CEMI.
4) Bo mogę. ;)
-
63. Data: 2018-06-04 13:48:59
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Atlantis <m...@w...pl>
On 03.06.2018 23:48, Sebastian Biały wrote:
> https://en.wikipedia.org/wiki/Texas_Instruments_TMS9
918
>
> ... i kilka innych w rodzinie
>
> Ale to scalak i dodatkowa vram.
Hmm... Wygląda ciekawie. Będzie potrzebny jakiś EPROM z generatorem
znaków, czy posiada już wbudowane definicje znaków ASCII? A może trzeba
je za każdym razem ładować do RAM-u na etapie inicjacji?
-
64. Data: 2018-06-04 13:59:36
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: jacek pozniak <j...@f...pl>
> Wydaje mi sie, ze ten RDY w 6502 dzialal ... ale byl za wolny.
> Musieli sie wciac w pol cyklu ... i to dzialalo.
6502 ma regularny cykl więc można w jednej z faz podbierać dane do
wyświetlania i procesor tego nie zauważy, że mu coś/ktoś z pamięci podbiera.
Problemem wtedy było chyba to, że czas dostępu ówczesnych pamięci był
znaczny i nie można było podkręcić zegara procesora.
>
> To samo bylo z 8080 i Z80 - DMA bylo przewidziane, ale za wolne.
Tzn. za bardzo spowalniało procesor, ale działało.
> Nie wiem jak to w Spectrum rozwiazali, w Amstradzie jakos waitcyklami
> wyrownali bieg procesora i tez sie wcinali
> "w pol cyklu" - w tym przypadku to dwa cykle z czterech.
W Spektrum, zdaje się, był zegar na chwilę zatrzymywany, ale dotyczyło to
tylko pierwszych 16k RAM; jeśli procesor dobierał się do dodatkowych 32k to
nie był wstrzymywany. Tam były multipleksery magistral na rezystorach
porobione :)
Ale najpomysłowiej, choć najwolniej to ZX80/81 :)
jp
>
>>Jak bym się za to zabierał to prawie na pewno zakończyło by się to na
>>jakimś AtTiny bo najprościej a po chwili krecenia trybkami w głowie
>>wziąłbym STM32 bo tam już mozna zrobić bardzo ładne VGA bez
>>wypruwania żył jak w AVR :).
>
> No wlasnie - wideo na AT Tiny to taki sobie pomysl.
>
> Ale mozna na FPGA czy CPLD, i to bedzie przyjemne z pozytecznym ...
> nie liczac translatorow poziomow :-)
>
> J.
-
65. Data: 2018-06-04 14:17:26
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Użytkownik "jacek pozniak" napisał w wiadomości grup
dyskusyjnych:5b1529a8$0$677$6...@n...neostrada.
pl...
>> Wydaje mi sie, ze ten RDY w 6502 dzialal ... ale byl za wolny.
>> Musieli sie wciac w pol cyklu ... i to dzialalo.
>6502 ma regularny cykl więc można w jednej z faz podbierać dane do
>wyświetlania i procesor tego nie zauważy, że mu coś/ktoś z pamięci
>podbiera.
>Problemem wtedy było chyba to, że czas dostępu ówczesnych pamięci był
>znaczny i nie można było podkręcić zegara procesora.
Jakos tak.
Pamieci wolne, procesory wolne, a wyswietlac trzeba.
>> To samo bylo z 8080 i Z80 - DMA bylo przewidziane, ale za wolne.
>Tzn. za bardzo spowalniało procesor, ale działało.
Nie dzialalo.
Tzn dzialalo na potrzeby "zwyklego" DMA, ale jak procesor dostal
żądanie, to dokanczał rozkaz, zatrzymywal sie, potwierdzał oddanie
sterowania - i to moglo trwac wiele cykli. A my potrzebujemy co chwila
bajt danych do wyswietlania.
No i w efekcie z tego nie korzystano w obsludze ekranu TV.
>> Nie wiem jak to w Spectrum rozwiazali, w Amstradzie jakos
>> waitcyklami
>> wyrownali bieg procesora i tez sie wcinali
>> "w pol cyklu" - w tym przypadku to dwa cykle z czterech.
>W Spektrum, zdaje się, był zegar na chwilę zatrzymywany, ale
>dotyczyło to
>tylko pierwszych 16k RAM; jeśli procesor dobierał się do dodatkowych
>32k to
>nie był wstrzymywany. Tam były multipleksery magistral na rezystorach
>porobione :)
Chyba jakos tak.
>Ale najpomysłowiej, choć najwolniej to ZX80/81 :)
Uklad niewatpliwie pomyslowy, ale jednoczesnie kiepski.
Jak sie jednak chce eksperymentowac ze starociami - warty skopiowania.
Ale takie rzeczy to tylko w Z80 ... choc moze i daloby sie do 6502 ...
zastosowac ...
J.
-
66. Data: 2018-06-04 14:26:10
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Zbych <a...@o...pl>
W dniu 04.06.2018 o 14:17, J.F. pisze:
>> Ale najpomysłowiej, choć najwolniej to ZX80/81 :)
>
> Uklad niewatpliwie pomyslowy, ale jednoczesnie kiepski.
>
> Jak sie jednak chce eksperymentowac ze starociami - warty skopiowania.
> Ale takie rzeczy to tylko w Z80 ... choc moze i daloby sie do 6502 ...
> zastosowac ...
Skoro goście od Atari 2600 dali radę na 6507, to czemu nie?
Co prawda mieli bufor na jedną linię obrazu.
https://en.wikipedia.org/wiki/Atari_2600
The console has only 128 bytes of RAM for run-time data that includes
the call stack and the state of the game world. There is no frame
buffer. Instead the video device has two bitmapped sprites, two 1-pixel
"missile" sprites, a 1-pixel "ball", and a 40-pixel "playfield" that is
drawn by writing a bit pattern for each line into a register just before
the television scans that line.
-
67. Data: 2018-06-04 14:34:58
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: jacek pozniak <j...@f...pl>
>>> To samo bylo z 8080 i Z80 - DMA bylo przewidziane, ale za wolne.
>>Tzn. za bardzo spowalniało procesor, ale działało.
>
> Nie dzialalo.
> Tzn dzialalo na potrzeby "zwyklego" DMA, ale jak procesor dostal
> żądanie, to dokanczał rozkaz, zatrzymywal sie, potwierdzał oddanie
> sterowania - i to moglo trwac wiele cykli. A my potrzebujemy co chwila
> bajt danych do wyswietlania.
> No i w efekcie z tego nie korzystano w obsludze ekranu TV.
Mnie działało :)
Tzn nie na standardowym sterowniku DMA ale złożonym na TTL, dosłownie kilka
szt., który jednocześnie był kontrolerem CRT; 320x200 lub 160x200 w czterech
odcieniach.
Procesor chwilę (uniwibratory 74123 to załątwiały) przed rozpoczęciem każdej
linii dostawał żądanie DMA, z zapasem, tak aby zdążyć dokończyć bieżącą
operację.
Potem następowało pobieranie, przez kontroler, 40 bajtów (40us) do
wyświetlenia linii i na koniec zwolnienie DMA. Z80 miał chwilę aby sobie
popracować w czasie powrotu plamki; około 20 us.
W czasie powrotów poionowych pracował normalnie.
jp
-
68. Data: 2018-06-04 14:42:18
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: jacek pozniak <j...@f...pl>
> Nie dzialalo.
> Tzn dzialalo na potrzeby "zwyklego" DMA, ale jak procesor dostal
> żądanie, to dokanczał rozkaz, zatrzymywal sie, potwierdzał oddanie
> sterowania - i to moglo trwac wiele cykli. A my potrzebujemy co chwila
> bajt danych do wyswietlania.
> No i w efekcie z tego nie korzystano w obsludze ekranu TV.
Był projekt w radzieckim Radio gdzie był 8080+8282(DMA)+8257(CRT).
Jeśli mie pamięć nie myli to chyba jakieś tam dwa bufory linii były,
przełączane na zmianę.
Ale nie wiem jak z wydajnością tego było.
jp
-
69. Data: 2018-06-04 14:43:26
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Użytkownik "jacek pozniak" napisał w wiadomości grup
dyskusyjnych:5b1531f3$0$31369$6...@n...neostrad
a.pl...
>>>> To samo bylo z 8080 i Z80 - DMA bylo przewidziane, ale za wolne.
>>>Tzn. za bardzo spowalniało procesor, ale działało.
>> Nie dzialalo.
>> Tzn dzialalo na potrzeby "zwyklego" DMA, ale jak procesor dostal
>> żądanie, to dokanczał rozkaz, zatrzymywal sie, potwierdzał oddanie
>> sterowania - i to moglo trwac wiele cykli. A my potrzebujemy co
>> chwila
>> bajt danych do wyswietlania.
>> No i w efekcie z tego nie korzystano w obsludze ekranu TV.
>Mnie działało :)
>Tzn nie na standardowym sterowniku DMA ale złożonym na TTL, dosłownie
>kilka
>szt., który jednocześnie był kontrolerem CRT; 320x200 lub 160x200 w
>czterech
>odcieniach.
>Procesor chwilę (uniwibratory 74123 to załątwiały) przed rozpoczęciem
>każdej
>linii dostawał żądanie DMA, z zapasem, tak aby zdążyć dokończyć
>bieżącą
>operację.
>Potem następowało pobieranie, przez kontroler, 40 bajtów (40us) do
>wyświetlenia linii i na koniec zwolnienie DMA. Z80 miał chwilę aby
>sobie
>popracować w czasie powrotu plamki; około 20 us.
minus rezerwa na ten poczatek.
>W czasie powrotów poionowych pracował normalnie.
A one krotkie.
W efekcie pracowal niewiele szybciej niz w ZX81/0 :-(
Pozniejsze komputery jednak to lepiej zrobily ... ale uP trzeba bylo
jakos sprytnie ominac.
J.
-
70. Data: 2018-06-04 15:35:18
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Użytkownik "jacek pozniak" napisał w wiadomości grup
dyskusyjnych:5b1533aa$0$31369$6...@n...neostrad
a.pl...
>> Nie dzialalo.
>> Tzn dzialalo na potrzeby "zwyklego" DMA, ale jak procesor dostal
>> żądanie, to dokanczał rozkaz, zatrzymywal sie, potwierdzał oddanie
>> sterowania - i to moglo trwac wiele cykli. A my potrzebujemy co
>> chwila
>> bajt danych do wyswietlania.
>> No i w efekcie z tego nie korzystano w obsludze ekranu TV.
>Był projekt w radzieckim Radio gdzie był 8080+8282(DMA)+8257(CRT).
>Jeśli mie pamięć nie myli to chyba jakieś tam dwa bufory linii były,
>przełączane na zmianę.
>Ale nie wiem jak z wydajnością tego było.
Moglo byc calkiem niezle, tylko w czasach gdy do komputera dajemy 128
bajtow RAM, albo 1kB, to te dwa bufory moga byc za drogie.
Nawet w czasach, gdy dajemy 64kB, ale DRAM, to moze byc za drogo.
Swoja droga - jak spectrum sobie radzilo z kolorami ?
Dodatkowe 32 bajty, niby tylko co 8 linii, ale jakos trzeba je czytac.
ULA miala jakies bufory ?
J.