-
111. Data: 2018-06-13 11:29:13
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Atlantis" napisał w wiadomości grup
dyskusyjnych:5b1f62fe$0$607$6...@n...neostrada.
pl...
>Okazało się, że winę ponosił uszkodzony procesor. O ile zachowywał
>się
>prawidłowo podczas pracy na luzie, to po odpalaniu programu przez
>chwilę
>zachowywał się dziwnie, a potem w ogóle przestawał pracować -
>aktywność
>na liniach adresowych zamierała.
Dziwne troche.
Co prawda jak pomyliles zasilanie to duzo moglo sie zdarzyc ... ale to
bylo zasilanie 8255 ?
Nie powinno miec wplywu na procesor.
>Po podmianie na inny egzemplarz MOS6502 wszystko zaczęło działać tak,
>jak powinno.
To juz trzeci, czy wrociles do pierwszego ?
Jeszcze troche, i seryjna produkcje bedziesz mogl zaczac :-)
Ale ciekaw jestem co mu sie stalo.
Zegar dzialal po zawieszeniu ? Moze jakies klopoty z kwarcem ?
A moze uszkodziła mu się ktoras linia danych - czytal czasem dobre
rozkazy, czasem inne ale ciagle poprawne, az trafil na jakis
nielegalny kod i sie zawiesil.
>Pozostało mi teraz tylko odpalenie UART-a. Potem spróbuje
>przeportować i uruchomić którąś wersję MS Basic, a także dopisać
>obsługę
>ładowania programów przez port szeregowy. Gdy będzie mi się chciało,
>może dorobię interfejs magnetofonowy. ;)
System Spectrum byl dobry i prosty.
Tylko ze 6502 jest 8-bitowy, a Spectrum zapisywal dlugimi blokami :-)
Zaprogramujesz - zrozumiesz czemu 6502 byl kiepski. Choc miejscami
pokazywal zalety.
A masz jeszcze magnetofon ? Moze lepiej sie skupic na obsludze kart SD
?
No chyba, zeby tak na MP3 trzymac programy :-)
J.
-
112. Data: 2018-06-15 14:59:58
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: Atlantis <m...@w...pl>
On 13.06.2018 11:29, J.F. wrote:
> To juz trzeci, czy wrociles do pierwszego ?
> Jeszcze troche, i seryjna produkcje bedziesz mogl zaczac :-)
Wychodzi na to, że opisując proces debugowania problemu pominąłem jeden
istotny szczegół. Mianowicie już po pierwszej podmianie CPU zauważyłem
błąd konstrukcyjny - brakowało inwertera na jednej linii, co
uniemożliwiało normalną prace I/O i przez co dioda nie migała. Usunąłem
ten błąd i podłączyłem zasilanie, jednak urządzenie ciągle nie chciało
działać prawidłowo - bo tym razem CPU był wadliwy. Dopiero jego ponowna
podmiana dała właściwy efekt. Nie wiem - możliwe nawet, że wziąłem ten
procesor sam, który był na początku. :)
> Ale ciekaw jestem co mu sie stalo.
> Zegar dzialal po zawieszeniu ? Moze jakies klopoty z kwarcem ?
Tak, zegar cały czas pracuje prawidłowo. Pierwszą rzeczą, która mi
przyszła do głowy było to, że może zworka przy dzielniku częstotliwości
(do ustawiania 1 MHz lub 2 MHz) nie łączy. Jednak to nie to.
Już po uruchomieniu układu włożyłem jeszcze raz w podstawkę ten
podejrzany egzemplarz CPU - układ znów nie chciał działać. To tylko
potwierdziło, że tu tkwiła przyczyna problemu.
> Zaprogramujesz - zrozumiesz czemu 6502 byl kiepski. Choc miejscami
> pokazywal zalety.
Chodzi mi przede wszystkim o walor edukacyjny, nie praktyczna
użyteczność. W końcu mówimy o procesorach, które nawet hardware'owo nie
potrafiły mnożyć i dzielić. ;)
> A masz jeszcze magnetofon ? Moze lepiej sie skupic na obsludze kart SD ?
Leży gdzieś u mnie jakiś kasetowy Kasprzak. ;) Poza tym nie mam zamiaru
wykorzystywać tego magnetofonu jako pamięci masowej. To raczej zadanie
do rozwiązania w ramach nauki. W zamierzeniach głównym sposobem
ładowania kodu ma być RS232.
-
113. Data: 2018-06-15 22:37:21
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Dnia Fri, 15 Jun 2018 14:59:58 +0200, Atlantis napisał(a):
> On 13.06.2018 11:29, J.F. wrote:
>> Zaprogramujesz - zrozumiesz czemu 6502 byl kiepski. Choc miejscami
>> pokazywal zalety.
>
> Chodzi mi przede wszystkim o walor edukacyjny, nie praktyczna
> użyteczność.
Tu sie objawi walor edukacyjny :-)
> W końcu mówimy o procesorach, które nawet hardware'owo nie
> potrafiły mnożyć i dzielić. ;)
Tu akurat wystarczy +1 i -1
>> A masz jeszcze magnetofon ? Moze lepiej sie skupic na obsludze kart SD ?
>
> Leży gdzieś u mnie jakiś kasetowy Kasprzak. ;) Poza tym nie mam zamiaru
> wykorzystywać tego magnetofonu jako pamięci masowej. To raczej zadanie
> do rozwiązania w ramach nauki. W zamierzeniach głównym sposobem
> ładowania kodu ma być RS232.
Jest jeszcze czym wyslac dane? Taki X-modem, czy Z-modem ...
a moze po prostu .hex tekstowo ?
J.
-
114. Data: 2018-06-16 00:00:12
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "HF5BS" <h...@...pl>
Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
news:17go5pc3o1ttn.9xezlqt47aii.dlg@40tude.net...
>> Leży gdzieś u mnie jakiś kasetowy Kasprzak. ;) Poza tym nie mam zamiaru
>> wykorzystywać tego magnetofonu jako pamięci masowej. To raczej zadanie
>> do rozwiązania w ramach nauki. W zamierzeniach głównym sposobem
>> ładowania kodu ma być RS232.
>
> Jest jeszcze czym wyslac dane? Taki X-modem, czy Z-modem ...
> a moze po prostu .hex tekstowo ?
Idźmy na całość, Kermitem przez telnet :)
(ach, gdzie te czasy, gdy się tak robiło) :)
--
Łapy, łapy, cztery łapy,
A na łapach pies kudłaty.
Kto dogoni psa? Kto dogoni psa?
Może ty? Może ty? Może jednak ja...?
-
115. Data: 2018-06-16 00:42:19
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 16 Jun 2018 00:00:12 +0200, HF5BS napisał(a):
> Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
>>> Leży gdzieś u mnie jakiś kasetowy Kasprzak. ;) Poza tym nie mam zamiaru
>>> wykorzystywać tego magnetofonu jako pamięci masowej. To raczej zadanie
>>> do rozwiązania w ramach nauki. W zamierzeniach głównym sposobem
>>> ładowania kodu ma być RS232.
>>
>> Jest jeszcze czym wyslac dane? Taki X-modem, czy Z-modem ...
>> a moze po prostu .hex tekstowo ?
>
> Idźmy na całość, Kermitem przez telnet :)
> (ach, gdzie te czasy, gdy się tak robiło) :)
Kermit calkiem dobry ... i kermit ciagle zyje, a inne programy
upadaja.
Tyle ze kermit sie tak rozrosl, ze posadzic go 6502 bedzie problem.
J.
-
116. Data: 2018-06-16 04:48:51
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "HF5BS" <h...@...pl>
Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
news:zy4n7ncgaqm2.xbrnhp5k64f0$.dlg@40tude.net...
>> Idźmy na całość, Kermitem przez telnet :)
>> (ach, gdzie te czasy, gdy się tak robiło) :)
>
> Kermit calkiem dobry ... i kermit ciagle zyje, a inne programy
> upadaja.
>
> Tyle ze kermit sie tak rozrosl, ze posadzic go 6502 bedzie problem.
Ale tak że 1200 to może? :)
Ja w każdym razie, już w '93, hmm... bodajze z Maloki, ale pewności nie mam,
no, ćwierć wieku... na pracowym kompie (do synchronizacji zegarynki z
serwerem czasu w Dallas), miałem 386, DOS, z 1 MB (tak, mega, nie
giga-bajtem), 40 MB HDD i całkiem sporo się zmieściło, z gołymi babami z
BBSów i nie tylko :)... Nawet partycja była 32 (+8 druga) MB, bo DOS 3.30
więcej nie umiał. To ja Telixem, v4.51, nie wiem jak, ale to jedyny program,
z jakim się zetknąłem, który liczył realne dni używania (shareware),
nominalnie 45, ale, jak się w środku tego okresu 5 dni programu nie używało,
to jego okres wygasał nie po 45, lecz 50 dniach.... na tym programie,
wdzwaniałem się w dostęp, po znajomości na MIMUW-ie (eleet, chyba tak),
nawet prawdziwego maila miałem, w dzisiejszym rozumieniu. I już z dostępu,
telnetem właśnie chyba na Malokę się zapinałem (było wtedy bodajże 10 minut
za darmo, spoko, nie nadużywałem), to sobie pliczusiów trochę pościągałem,
jakieś drobne pierdumalenta, wtedy się wlokło, dziś nawet pierdnąć się nie
zdąży, a tysiąc sztuk już przeszło na dysk... Kermit szedł u mnie
mniej-więcej z połową szybkości łącza, czyli na 2400 szło ok. 1100-1300 bps.
I jako jedyny chciał pójść przez telnet, ok. 110-120 cps, inne nie
startowały.
ZTCP. C64, oparty na 6502, może max wyciągnąć 2400, własnymi możliwościami.
Nie powiem, na ile dałby więcej portem równoległym, w każdym razie, transfer
dyskowy, fabrycznie ok. 4 kbps, w trybie warp szedł ok. 100 kbps (tak, sto
kilobitów na sekundę), dając prockowi jedynie 10 cykli na 1 bit transmisji,
zaznaczam, na łaczu szeregowym. Więc myślę, że spoko by się dało.
https://www.youtube.com/watch?v=KfDden-V-WE - to jeszcze nie szczyt
mozliwości (ok. 22 sekund), na pełnym WARPie strona dyskietki leci w ok. 15
sekund, działając w ok. 25-krotnym przyspieszeniu wobec normy. A ten tryb
jest realizowany wyłacznie programowo, nie są, jak tu, dokładane dodatkowe
elementy, wszystko na czysto fabrycznym wyposażeniu. Oba zaś urządzenia są
6502 pędzone, więc procek da radę, chyba, że chciałbyś puścić pełną szybkość
portu RS, ale to raczej układy we-wy się nie wyrobią, a nie procek.
Oczywiście, wiadomo, WARP jest obłożony kosztami takiej imprezy, nietrudno
się domyślić jakimi, choć podstawowa kontrola błędów jest zachowana (nie w
każdej realizacji). W trybie WARP można też zrobić kopiowanie dyskietek,
leci OIDP, z ok. 20-krotnym przyspieszeniem. Gdyby mój laptop miał mieć
podobną wydolność transfery z dyskiem, to powinien ciąć, zakładając
szeregowe łącze i WARP, 2x2.8=5.6, czyli jakieś 560 Mbps. Przy nikczemnej
ilości pamięci, źródła podają, że 2 kB, ale ja jakoś wcisnąłem, ok. 26 kB
danych, trafiłem na program, który robił z 1541... ramdysk! I szło to
piorunem, jak, nie wiem, ale zrobiłem test, program na C64 o maksymalnej
wielkości dla ramdysku, wrzuciłęm nań, następnie kombinacją FOR T=A TO
B:POKE T,0:NEXT, gdzie A był początkiem pamięci programu, a B jego końcem,
wyzerowałem zawartość, sprawdziłem, wyzerowana, obszar ten też nie podlega
bankowaniu (w sensie, że nie ma pod jeden obszar podpiętych 2, lub więcej
pamięci). To sru, załadowałem program z "ramdysku" i był w takiej postaci,
jak przed wyzerowaniem, sprawdziłem, co do bajtu. Skąd 26 kB w urządzeniu,
mającym ich podobno tylko 2 kB? :)
--
Łapy, łapy, cztery łapy,
A na łapach pies kudłaty.
Kto dogoni psa? Kto dogoni psa?
Może ty? Może ty? Może jednak ja...?
-
117. Data: 2018-06-17 01:37:02
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 16 Jun 2018 04:48:51 +0200, HF5BS napisał(a):
> Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
>>> Idźmy na całość, Kermitem przez telnet :)
>>> (ach, gdzie te czasy, gdy się tak robiło) :)
>> Kermit calkiem dobry ... i kermit ciagle zyje, a inne programy
>> upadaja.
>> Tyle ze kermit sie tak rozrosl, ze posadzic go 6502 bedzie problem.
>
> Ale tak że 1200 to może? :)
Mnie o rozmiar pamieci chodzi.
> Ja w każdym razie, już w '93, hmm... bodajze z Maloki, ale pewności nie mam,
> no, ćwierć wieku... na pracowym kompie (do synchronizacji zegarynki z
> serwerem czasu w Dallas), miałem 386, DOS, z 1 MB (tak, mega, nie
> giga-bajtem), 40 MB HDD i całkiem sporo się zmieściło, z gołymi babami z
> BBSów i nie tylko :)...
A tu mamy 64KB RAM+ROM.
No i to byly zlote czasy dla modemow, a teraz ... a co to jest modem ?
Juz nawet nie pamietam kiey ostatni raz uzywalem :-(
> ZTCP. C64, oparty na 6502, może max wyciągnąć 2400, własnymi możliwościami.
O ile pamietam, to stacja dyskow byla na laczu szeregowym, i dawala
sie przeprogramowac na 19200, bo normalnie to byl tragicznie wolna :-)
ten procesor robi ok 1 MIPS, to mamy ok 500 rozkazow na bajt - az za
duzo, wiec to nie koniec mozliwosci.
> Nie powiem, na ile dałby więcej portem równoległym, w każdym razie, transfer
> dyskowy, fabrycznie ok. 4 kbps, w trybie warp szedł ok. 100 kbps (tak, sto
> kilobitów na sekundę), dając prockowi jedynie 10 cykli na 1 bit transmisji,
> zaznaczam, na łaczu szeregowym.
Ktore ma sprzetowy rejestr i w koncu mamy 80 cykli na bajt.
No chyba, ze nie ma, i czysto programowo wachlujemy jednym bitem?
Tak nawiasem mowiac - pamietam jakis system monitorujacy na 8080.
Modem 9600 ... ale wiele ich.
No i tak liczymy - od jednego przerwanie co 1ms, zanim przerwanie
przyjmiemy, zrzucimy rejestry, sprawdzimy ktory port, odtworzymy ...
no zabraknie czasu przy 10 modemach.
W efekcie przerwanie bylo zegarowe co ok 0.5ms, sprawdzalo polingiem
wszystkie porty.
> Oczywiście, wiadomo, WARP jest obłożony kosztami takiej imprezy, nietrudno
> się domyślić jakimi, choć podstawowa kontrola błędów jest zachowana (nie w
> każdej realizacji). W trybie WARP można też zrobić kopiowanie dyskietek,
> leci OIDP, z ok. 20-krotnym przyspieszeniem. Gdyby mój laptop miał mieć
> podobną wydolność transfery z dyskiem, to powinien ciąć, zakładając
> szeregowe łącze i WARP, 2x2.8=5.6, czyli jakieś 560 Mbps.
Tak nawiasem mowiac, to IBM sie nacial podobnie.
DMA w 8088/86/286 bylo za wolne, i AT z HDD komunikowal sie rozkazami
OUTR/INR
J.
-
118. Data: 2018-06-18 01:33:58
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "HF5BS" <h...@...pl>
Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
news:1t06y4d7b4btn$.1e8lpn3n2yuno.dlg@40tude.net...
>> Ale tak że 1200 to może? :)
>
> Mnie o rozmiar pamieci chodzi.
Myślę, że gdyby kompilator nie rozwlekał kodu takiego jak ten (chodzi mi o
objętość źródła):
begin;
writeln ('Dzień dobry wieczór bardzo');
end.
do ponad 100 kB, czy w ogóle, to dało by się to zrealizować.
W końcu Packet-Radio na C64 działa i to program nie ułomek (choć nie bez
wad), są programy BBS-ów radiowych, BBS-ów telefonicznych, C64, ze względu
chyba na konstrukcję systemu plików 1541, uzywa do plików protokołu Punter,
hasło wiki nie podaje tego, ale ZTCP, było chyba w ktrymś Bajtku coś, co na
to wskazuje.
https://en.wikipedia.org/wiki/Punter_(protocol)
(dostawić nawias w adresie, jeśli wyrzuci brak strony)
>
>> Ja w każdym razie, już w '93, hmm... bodajze z Maloki, ale pewności nie
>> mam,
>> no, ćwierć wieku... na pracowym kompie (do synchronizacji zegarynki z
>> serwerem czasu w Dallas), miałem 386, DOS, z 1 MB (tak, mega, nie
>> giga-bajtem), 40 MB HDD i całkiem sporo się zmieściło, z gołymi babami z
>> BBSów i nie tylko :)...
>
> A tu mamy 64KB RAM+ROM.
Nie wydaje mi się to istotnym ograniczeniem. Może jakieś wersje rozwojowe,
to tak, ale mam wrażenie, że powinno dać sie zrobić, przynajmniej wersja
podstawowa.
>
> No i to byly zlote czasy dla modemow, a teraz ... a co to jest modem ?
> Juz nawet nie pamietam kiey ostatni raz uzywalem :-(
>
>> ZTCP. C64, oparty na 6502, może max wyciągnąć 2400, własnymi
>> możliwościami.
>
> O ile pamietam, to stacja dyskow byla na laczu szeregowym, i dawala
> sie przeprogramowac na 19200, bo normalnie to byl tragicznie wolna :-)
Tak, oryginalnie jest ok. 4 kbps. Jako ciekawostkę niepotwierdzoną podam, że
pasjonaci z powodzeniem żenili 1541 z komputerem ZX Spectrum.
Owo 19200, jeśli, to zmianami rejestrów, ale nie sądzę, żeby aż taki narzut,
prędzej modyfikacja (albo nowy) program obsługi. Transmisja z poziomu
"maintenance" szła raczej z fabrycznym 4 kbps.
A Warp, jak łatwo policzyć, wyciągał do ok. 100 (z moich szacunków, ok. 98
kbps, ale to szacunki były, musiałbym dokładniej to pomierzyć) kbps, więc
dawało się to zrobić. Zdaje mi się, ze prócz linii danych, zaprzęgano do
tego linię zegara, więc na każdą z linii wychodziło ok. 50 kbps, więc procek
miał już wtedy ok. 20 cykli, aby to obrobić.
>
> ten procesor robi ok 1 MIPS, to mamy ok 500 rozkazow na bajt - az za
> duzo, wiec to nie koniec mozliwosci.
Myślę, że to raczej nie w tym rzecz była... stacja Atari, fabrycznie miała
19200, a też na łączu szeregowym przecież.
Zbadałbym, czy to nie z powodu nośnika, który na początku mógł nie należeć
do najlepszych, programy jeszcze tak dobrze nie zoptymalizowane, do tego,
coś działającego trzeba było na rynek wypuścić, stąd wolniejsza transmisja,
mnie to raczej polityką (ale nie typu przywódcy państwowi, lecz działania
korporacynje) firmy śmierdziało, na zasadzie pośrodkowania pewne-szybkie.
Gdybam tylko.
>
>> Nie powiem, na ile dałby więcej portem równoległym, w każdym razie,
>> transfer
>> dyskowy, fabrycznie ok. 4 kbps, w trybie warp szedł ok. 100 kbps (tak,
>> sto
>> kilobitów na sekundę), dając prockowi jedynie 10 cykli na 1 bit
>> transmisji,
>> zaznaczam, na łaczu szeregowym.
>
> Ktore ma sprzetowy rejestr i w koncu mamy 80 cykli na bajt.
Ale jakoś trzeba do tego rejestru wpisać... Nie pamiętam teraz, na ile
sprzętowo.
>
> No chyba, ze nie ma, i czysto programowo wachlujemy jednym bitem?
Ja podejrzewam, ze jednak jest to coś takiego. Inaczej część zabaw
niskopoziomowych, nie musiała by być robiona na fabrycznej prędkości
transmisji.
>
> Tak nawiasem mowiac - pamietam jakis system monitorujacy na 8080.
> Modem 9600 ... ale wiele ich.
> No i tak liczymy - od jednego przerwanie co 1ms, zanim przerwanie
> przyjmiemy, zrzucimy rejestry, sprawdzimy ktory port, odtworzymy ...
> no zabraknie czasu przy 10 modemach.
> W efekcie przerwanie bylo zegarowe co ok 0.5ms, sprawdzalo polingiem
> wszystkie porty.
I tak bez buforowania? Bo niby nie ma tu tak dużo (że ma przy 10 zabraknąć
czasu), a jednak się zapycha.
Gorąc jest, myslenie na 10 % zaledwie...
>
>> Oczywiście, wiadomo, WARP jest obłożony kosztami takiej imprezy,
>> nietrudno
>> się domyślić jakimi, choć podstawowa kontrola błędów jest zachowana (nie
>> w
>> każdej realizacji). W trybie WARP można też zrobić kopiowanie dyskietek,
>> leci OIDP, z ok. 20-krotnym przyspieszeniem. Gdyby mój laptop miał mieć
>> podobną wydolność transfery z dyskiem, to powinien ciąć, zakładając
>> szeregowe łącze i WARP, 2x2.8=5.6, czyli jakieś 560 Mbps.
>
> Tak nawiasem mowiac, to IBM sie nacial podobnie.
> DMA w 8088/86/286 bylo za wolne, i AT z HDD komunikowal sie rozkazami
> OUTR/INR
Trochę nie tak... Niejasno napisałem "ciąć", w sensie, pruć jak nóż. A do
skakania transferu powinno być raczej "przycinać". Miałem na myśli, ze mój
lapek, pruł by pół giga, jeśli WARP nie byłby pełny i zostawił prockowi
trochę czasu na ekran (bo co po DMA, jak jakoś trzeba układom zadać, co i
gdzie mają przesłać, a tego bez procka raczej się nie da). Prędzej mechanika
dysku by nie wyrobiła, bo czas pozycjonera jednak jest skończony i tym
większy, im dalej głowica musi skoczyć. Zresztą, w 1541 też występował
problem fragmentacji i narastającego przez to czasu transmisji pliku, ale
tam sprawa była dość prosta i dawało się to poukładać ręcznie, jeśli ktoś
miał sierpliwość bawić się 664 blokami (albo 1328 dla 1571/1572) i wiedział,
jak jest skonstruowany system plików.
Co do dysku w AT - to dziś by nie poszedł? Nie było tak dedykowanych kart do
obsługi dysku? Czy mówimy o starociach, jak ST225, czy o nowszych, zgodnych
raczej z "autobusem"?
--
Łapy, łapy, cztery łapy,
A na łapach pies kudłaty.
Kto dogoni psa? Kto dogoni psa?
Może ty? Może ty? Może jednak ja...?
-
119. Data: 2018-06-18 08:34:07
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "J.F." <j...@p...onet.pl>
Dnia Mon, 18 Jun 2018 01:33:58 +0200, HF5BS napisał(a):
> Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
>>> Ale tak że 1200 to może? :)
>> Mnie o rozmiar pamieci chodzi.
>
> Myślę, że gdyby kompilator nie rozwlekał kodu takiego jak ten (chodzi mi o
> objętość źródła):
> begin;
> writeln ('Dzień dobry wieczór bardzo');
> end.
> do ponad 100 kB, czy w ogóle, to dało by się to zrealizować.
To jest kiepski przyklad. Niby jeden writeln, a srodowisko cale trzeba
zainicjowac.
Tymczasem zrodelko Kermita liczy 9MB plikow .c
Musisz je najpierw odchudzic :-)
http://www.kermitproject.org/
>>> ZTCP. C64, oparty na 6502, może max wyciągnąć 2400, własnymi
>>> możliwościami.
>>
>> O ile pamietam, to stacja dyskow byla na laczu szeregowym, i dawala
>> sie przeprogramowac na 19200, bo normalnie to byl tragicznie wolna :-)
>
>> ten procesor robi ok 1 MIPS, to mamy ok 500 rozkazow na bajt - az za
>> duzo, wiec to nie koniec mozliwosci.
>
> Myślę, że to raczej nie w tym rzecz była... stacja Atari, fabrycznie miała
> 19200, a też na łączu szeregowym przecież.
> Zbadałbym, czy to nie z powodu nośnika, który na początku mógł nie należeć
> do najlepszych, programy jeszcze tak dobrze nie zoptymalizowane, do tego,
> coś działającego trzeba było na rynek wypuścić, stąd wolniejsza transmisja,
> mnie to raczej polityką (ale nie typu przywódcy państwowi, lecz działania
> korporacynje) firmy śmierdziało, na zasadzie pośrodkowania pewne-szybkie.
> Gdybam tylko.
Nosnik IMO bez znaczenia - pewnosc z predkosc komunikacji z napedem
nie ma znaczenia.
Moze w czasach modemow 300 nie pomysleli, ze 19200 to za wolno, moze w
czasach gier po 4-30KB te 19200 wystarczalo, wszak to tylko 15s na
duza gre.
Transmisja asynchroniczna wymaga zegara ok 16x szybszego - dla 19200
to jest 307kHz - moze nie pasowalo im szybciej robic.
>>> Nie powiem, na ile dałby więcej portem równoległym, w każdym razie,
>>> transfer
>>> dyskowy, fabrycznie ok. 4 kbps, w trybie warp szedł ok. 100 kbps (tak,
>>> sto
>>> kilobitów na sekundę), dając prockowi jedynie 10 cykli na 1 bit
>>> transmisji,
>>> zaznaczam, na łaczu szeregowym.
>>
>> Ktore ma sprzetowy rejestr i w koncu mamy 80 cykli na bajt.
>
> Ale jakoś trzeba do tego rejestru wpisać... Nie pamiętam teraz, na ile
> sprzętowo.
Bardzo sprzetowo ... w kosci UART, bo ten warp to musi cos nowego.
>> Tak nawiasem mowiac - pamietam jakis system monitorujacy na 8080.
>> Modem 9600 ... ale wiele ich.
>> No i tak liczymy - od jednego przerwanie co 1ms, zanim przerwanie
>> przyjmiemy, zrzucimy rejestry, sprawdzimy ktory port, odtworzymy ...
>> no zabraknie czasu przy 10 modemach.
>> W efekcie przerwanie bylo zegarowe co ok 0.5ms, sprawdzalo polingiem
>> wszystkie porty.
>
> I tak bez buforowania? Bo niby nie ma tu tak dużo (że ma przy 10 zabraknąć
> czasu), a jednak się zapycha.
buforuje UART, ale tylko 1 bajt (8251). Przy 9600 te 0.5ms wystarczy
>> Tak nawiasem mowiac, to IBM sie nacial podobnie.
>> DMA w 8088/86/286 bylo za wolne, i AT z HDD komunikowal sie rozkazami
>> OUTR/INR
> Co do dysku w AT - to dziś by nie poszedł? Nie było tak dedykowanych kart do
> obsługi dysku?
Byly, ale na ISA :-)
> Czy mówimy o starociach, jak ST225, czy o nowszych, zgodnych
> raczej z "autobusem"?
Wszysto jedno - interfejs ten sam. AT-bus/IDE to moze jeszcze gdzies
sie dzis spotka na plycie glownej.
Tylko, ze od lat podlaczony do specjalnego sterownika DMA/bus master.
J.
-
120. Data: 2018-06-19 20:15:11
Temat: Re: Eksperymenty ze starymi procesorami - MOS6502
Od: "HF5BS" <h...@...pl>
Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
news:z37te2gyr0zu$.1nz23qznmb8s8.dlg@40tude.net...
>> Myślę, że gdyby kompilator nie rozwlekał kodu takiego jak ten (chodzi mi
>> o
>> objętość źródła):
>> begin;
>> writeln ('Dzień dobry wieczór bardzo');
>> end.
>> do ponad 100 kB, czy w ogóle, to dało by się to zrealizować.
>
> To jest kiepski przyklad. Niby jeden writeln, a srodowisko cale trzeba
> zainicjowac.
Zobacz na zastrzeżenie w nawiasie na początku cytatu...
>
> Tymczasem zrodelko Kermita liczy 9MB plikow .c
>
> Musisz je najpierw odchudzic :-)
>
> http://www.kermitproject.org/
Spoko, Telix zajmuje coś koło 300 kB, więc jak się za to weźmie ktoś, kto
poobcina narzuty na inicjalizację, pierdyliony bibliotek, itd. to na stówe
jestem pewien, że jeszcze miejsca zostanie. Poza tym, skoro 6510 ma
możliwość sprzętowego bankowania pamięci (do 512k OIDP), to tym bardziej,
ale i bez tego IMO powinno się dać, tylko wyjdzie w prawdziwym maszyniaku, a
nie pseudokodzie. Packet-Radio do C64, program chyba nieco bardziej
rozbudowany od Kermita, mieści się 2 64 i ma jeszcze kawałek miejsca na
bufory transmisji. A zważ, że robi wszystko, nie tylko protokół, ale i
programową emulację modemu. To, co z eteru przychodzi (AX25, to jedynie jest
zamieniane na 0 i 1). No, ale program (Digicom jako terminal, Digiprom, jako
BBS i terminal (do roli którego bardziej nadaje się Digicom, jako
stabilniejszy).
>> Myślę, że to raczej nie w tym rzecz była... stacja Atari, fabrycznie
>> miała
>> 19200, a też na łączu szeregowym przecież.
>> Zbadałbym, czy to nie z powodu nośnika, który na początku mógł nie
>> należeć
>> do najlepszych, programy jeszcze tak dobrze nie zoptymalizowane, do tego,
>> coś działającego trzeba było na rynek wypuścić, stąd wolniejsza
>> transmisja,
>> mnie to raczej polityką (ale nie typu przywódcy państwowi, lecz działania
>> korporacynje) firmy śmierdziało, na zasadzie pośrodkowania pewne-szybkie.
>> Gdybam tylko.
>
> Nosnik IMO bez znaczenia - pewnosc z predkosc komunikacji z napedem
> nie ma znaczenia.
> Moze w czasach modemow 300 nie pomysleli, ze 19200 to za wolno, moze w
> czasach gier po 4-30KB te 19200 wystarczalo, wszak to tylko 15s na
> duza gre.
Może też taniej było i pewniej jednak, w tamtych czasach przypuszczam,
pomijano parametr czasowy ustabilizowania się głowicy, zmiana jednej
wartości w pamięci pozwalała zmieniać szybkość silnika krokowego, do takiej
nawet, że nie był w stanie przeskoczyć, a jedynie smutno brzęczał. Na tej
sztuczce opiera się działanie programu 1541 Music Composer (nie trafiłem w
sieci, ale chyba tak się nazywa), który podmieniając wartość bajtu, wywołuje
procedurę zmiany ścieżki, co objawia się efektem akustycznym:
https://www.youtube.com/watch?v=5gnMgmlKi_o
https://www.youtube.com/watch?v=ZR454sxi27o (ta sama melodia, ale pokazane
przygotowanie, poza tym, lepiej słychać)
> Transmisja asynchroniczna wymaga zegara ok 16x szybszego - dla 19200
> to jest 307kHz - moze nie pasowalo im szybciej robic.
Ale myślisz, że to jest asynchroniczne? Przyznam, że jakiś mi umknęło to
rozkminić. A może jakaś sztuczka programowa (bo jak się uprzeć, to daje się
nawet CRC z WARPem zrobić), że cykli na bit bierze się mniej, obostrzając to
tak, że byle odchyłka i ch** bombki strzela, transmisji nie budiet...? A
wtedy, jak cykli mniej, to ilość danych rośnie, kosztem pewności?
>> Co do dysku w AT - to dziś by nie poszedł? Nie było tak dedykowanych kart
>> do
>> obsługi dysku?
>
> Byly, ale na ISA :-)
To przecież ISA była w pierwszych kompach, wiec w czym rzecz?
>
>> Czy mówimy o starociach, jak ST225, czy o nowszych, zgodnych
>> raczej z "autobusem"?
>
> Wszysto jedno - interfejs ten sam. AT-bus/IDE to moze jeszcze gdzies
ST225 "autobusowy"? Jakoś mi taśma łącząca do tego nie pasuje. Pierwsze AT,
to od 40 MB widziałem, nawet "temi rencami" macałem taki, a nawet
podłączałem i działał, niemiłosiernie zgrzytając pozycjonerem. Ale zawsze
pewnie, bez najmniejszych problemów z odczytem.
Kurczaczek... korci mnie, zdjąć mu dekiel, zasłonić czymś przezroczystym,
pofilmować w akcji. Na YT filmy niewiele ukazują.
Ciekawe, po jakim czasie ten kawałek kurzu, co się dostał, załatwi nośnik...
> sie dzis spotka na plycie glownej.
Mam chyba kilka płyt z tym.
> Tylko, ze od lat podlaczony do specjalnego sterownika DMA/bus master.
Hmm... byle działało i się nie srało.
--
Łapy, łapy, cztery łapy,
A na łapach pies kudłaty.
Kto dogoni psa? Kto dogoni psa?
Może ty? Może ty? Może jednak ja...?