forum speccy.pl
ZX Spectrum => SOFTWARE => Wątek zaczęty przez: grzeg w 2020.05.12, 00:48:50
-
Czy istnieje jeszcze jakieś oprogramowanie dla FDD3000 pracujące pod CP/M'em oprócz tego, które jest wystawione w obrazach dysków na ftp'ie kolegi TDU ?
-
W zasadzie to każdy program przeznaczony dla CP/M 2.2 powinien działać.
Największy problem to przerzucenie go na dyskietkę FDD3000...
-
W zasadzie - zgodzę się - często jednak występuje problem z znakami sterującymi dla terminala - przynajmniej taką niedogodność zauważyłem. Drugi problem jaki napotkałem - to pojemność dyskietki - procedurę przerzucania udało mi się jakoś opanować - przynajmniej dla dyskietek 160k - korzystając głównie z oprogramowania libdsk i cpmtools. Na razie testowałem programy z emulatora AltairZ80.
-
Nie posiadam FDD3000 i nie wiem czy tam się tak da, ale częstym sposobem przenoszenia oprogramowania pomiędzy komputerami w CP/m jest też port szeregowy.
-
Poprawcie mnie jeżeli się mylę, ale to nie jest tak że format zapisu pod CP/M jest taki sam dla każdej z platform?
-
Największy problem to przerzucenie go na dyskietkę FDD3000...
Hmm, nie największy, bo do przeskoczenia. Jest trochę różnych narzędzi dyskowych do tego przeznaczonych, któreś na pewno zadziała ;)
Moim zdaniem największym problemem jest "pogodzenie" programu z ekranem z 64 kolumnami zamiast 80, jeżeli program oczekuje takiej szerokości. Oraz zgodność kodów terminalowych.
-
Poprawcie mnie jeżeli się mylę, ale to nie jest tak że format zapisu pod CP/M jest taki sam dla każdej z platform?
Zgodna jest tylko warstwa logiczna. Liczba stron/ścieżek/sektorów oraz rozmiar jednostki alokacji są dowolne. W praktyce oznacza to, że nie da się odczytać "obcych" dyskietek, bo kontrolery FDC miewają rozmaite parametry graniczne, zwłaszcza te związane z zegarem co wpływa np. na maksymalną liczbę sektorów na ścieżce i na rozmiar tegoż sektora.
Ale, teoretycznie, jakieś niezbyt wyśrubowane formaty DD powinny być odczytywalne przy użyciu programów, które przedefiniowują parametry BIOS.
-
Moim zdaniem największym problemem jest "pogodzenie" programu z ekranem z 64 kolumnami zamiast 80, jeżeli program oczekuje takiej szerokości. Oraz zgodność kodów terminalowych.
Hmm, skądbytu jakiś stary terminal znakowy...
Gdyby go podpiąć pod port szeregowy i ustawić RSa jako we/wy?
-
Oczywiście, da się.
Tylko to jakiś stary standard, VT52 pewnie.
No i brak przerwania komplikuje trochę temat.
-
W Bajtku 12/91 był opis przeróbki stacji dokładający przerwania dla RS232 w celu podłączenia modemu wraz z prostym programem terminalowym. Może można by tą ideę wykorzystać.
-
Uuu, panie, toż to cały interfejs jest do zbudowania :)
Ale faktycznie, ułatwiłby pracę z zewnętrznym terminalem.
O ile mnie pamięć nie myli, nowa wersja klona FDD miała rozwiązywać ten problem ;)
-
Hmm, skądbytu jakiś stary terminal znakowy...
http://geoffg.net/terminal.html
Na bazie tego zbudowalem terminal do Bosmana
-
A co złego się działo przy pollingu i korzystaniu z sygnału RTS/CTS?
(tak wysyła BIOS FDD3000)
-
Nic. Ale trzeba by dosztukować własny kawałek BIOS-u. A gdyby działały przerwania z portu szeregowego, to wystarczyłyby chyba zwykłe przekierowania kanałów.
Z naciskiem na "chyba" ;) Nie dotykałem tematu od ponad 20 lat, a kiedyś sam zdeasemblowałem i przeanalizowałem cały CP/M.
-
No po mojemu w końcu rozmawiacie ;)
- Szeregowy terminal będzie działać bez przerwań, pierwszą implementację CP/M 2.2 napisałem bez ich używania i korzystania z kontroli przepływu.
- Każda dystrybucja, każdego twórcy BIOS może mieć (i ma) inną strukturę zapisu na dysk, warstwa fizyczna nie jest standaryzowana i oddaje kontrolę w ręce programisty.
- Ilość znaków w wierszu nie jest przypisana na stałe, różne sterowniki dla danych programów dają pewną swobodę. Przyjęło się 80, ale to nie jest mus.
-
Oczywiście, da się bez przerwań, przez polling. Ale polling to marnotrawstwo czasu procesora. Fakt, że w przypadku zwykłego CP/M nie ma to znaczenia, bo CPU jest i tak wtedy zajęty CCP i niczym więcej. No ale polling jest brzydki ;)
-
Nie sądzę, by ktoś pisał szybciej na konsoli niż czas przepytywania portu szeregowego przez OS. Owszem, nie jest to eleganckie rozwiązanie, bo warto używać przerwań, zrobić mały bufor, który po zapełnieniu steruje sygnałem CTS, ale sam w sobie CP/M nie działa na przerwaniach. Przykładowo, użycie NMI może być dla niego zabójcze. :)
-
Na szczęście terminal do FDD3000 buforuje po "swojej" stronie :)
-
Fajnie by mieć taki CP/M w połączeniu z TIMEX 2048 w trybie 512x192 można by zrobić czcionkę terminala w matrycy 5x7 i wtedy zmieści się ponad 80 znaków...
-
A jeszcze fajniej by było mieć terminal z możliwością wyboru 64 lub 80 kolumn.
-
Zmieniasz wtedy tylko fonta z 5x7 na 8x8 :P
A w zasadzie to w 6x8 można zrobić prawie bezkompromisowy zestaw ASCII a i tak styknie na 80 kolumn...
-
Fajnie by mieć taki CP/M w połączeniu z TIMEX...
Nie wiem jak na to zareagują puryści, ale jest to tak naprawdę degradacja tego sprzętu do roli konsoli. Zaczyna mi powoli kiełkować zbrodnicza myśl zrobienia mostu do szyny RC2014... ::)
-
A w zasadzie to w 6x8 można zrobić prawie bezkompromisowy zestaw ASCII a i tak stknie na 80 kolumn...
A nawet 85 ;)
Tak to wtedy wygląda mniej więcej.
-
Dokładnie to na 85,3 ;D
No i wygląda to całkowicie elegancko i czytelnie (na TV może nie być tak fajnie, ale monitor da radę) :)
No ale Timex i ktoś to musi jeszcze zrobić ... :P
-
Po kilku minutach czytania takiego tekstu oczy krwawią ;)
Ale i talk to lepiej wygląda niż terminal polbritowski (działający tylko na 256x192).
-
Fajnie to wygląda, aż się chce odpalić FDD3000 z Timexem i sprawdzić jak to wyglada na nie-emulatorze. Podejrzewam że na CRT mogą być problemy z rozczytaniem.
Wygląda jakbyś zaimplementował 'śwatowe fonty'. A polskie znaki są?;)
-
Mówisz i masz!
Wydłubałem 5 stron kodowych w formacie 6x8, więcej nie widziałem sensu ;)
-
Ciekawie wygląda ASCII Art w fontach 6x8 :)
Na LCD i CRT-mono będzie to raczej dobrze czytelne.