Goto page Previous 1, 2, 3
jacek pozniak
Guest
Tue Jan 25, 2022 4:33 pm
Atlantis wrote:
Quote:
On 24.01.2022 12:40, J.F wrote:
Nie pierwsza to moja taka rada - spowolnij kwarc, i przeanalizuj co
sie dzieje.
Hmm... Udało mi się skorzystać z nieco lepszego oscyloskopu cyfrowego.
Potwierdza się większość obserwacji wykonanych analizatorem logicznym,
jednak miałem też okazję sprawdzić sygnał zegarowy. Częstotliwość w
porządku - minimalnie poniżej 10 MHz. Natomiast to co mi się w nim nie
podoba to jego kształt - na pewno nie jest to prawidłowy przebieg
prostokątny. Zbocza są bardzo nachylone - bliżej temu do trójkąta albo
sinusoidy. Czy to może być przyczyną? Później wrzucę zdjęcie.
Spróbuj rezystorem 470 podciągnąć do plusa linię zegara. Pamiętam, że miałem
straszne problemy z pamięciami dynamicznymi jeśli go nie było. Podejrzałem
go na jakimś schemacie jakiegoś kompa z Z80.
Może pomoże :)
jp
--
jp
www.flowservice.pl
www.flowsystem.pl
Dawid Rutkowski
Guest
Wed Jan 26, 2022 12:30 pm
wtorek, 25 stycznia 2022 o 13:08:05 UTC+1 Mateusz Viste napisał(a):
Quote:
2022-01-25 o 03:15 -0800, Dawid Rutkowski napisał:
wtorek, 25 stycznia 2022 o 11:31:57 UTC+1 Mateusz Viste napisał(a):
2022-01-25 o 02:17 -0800, Dawid Rutkowski napisał:
Turbo Pascala na współczesnym PC nie poużywasz, już na 386 BGI
wylatywało na błędzie dzielenia przez 0 ;
Z pewnością nie na 386, raczej gdzieś w okolicach Pentium 200 MHz.
A poprawione wersje biblioteki BGI krążą po internecie, bez trudu
można znaleźć poprawkę egavga.bgi.
Hmm, i na 3GHz CPU z 4MB cache nie wyleci na błędzie?
Przetestuj, daj znać. Sam jestem ciekaw.
O, trzeba dysk z DOSem podłączyć, dobrze, że ID na płycie głównej ma.
W sumie w tym komputerze mam jeszcze nawet stację 3,5" (i gniazdo na płycie) - ale dyskietek to już chyba nie,
więc nawet nie ma jak sprawdzić, czy działa.
I nawet DOS się uruchomi - a jakiś czas temu miałem problem, bo trzeba było zrobić linuxowy X-Terminal na komputerze dostarczonym przez klienta (przyjechał z monitorem, bo miał tylko displayport - a ja takiego monitora nie mam) i zonk - miał taki BIOS, że z pendrive'a po staremu instalka ruszała, ale z twardego dysku tylko na uefi pozwalał.
Trzeba było dać pokój ze slackware 13.0.0.0.0 i zrobić ubuntu.
Oczywiście potem podłączyli to do internetu, zrobił się auto-upgrade i przestało działać...
Quote:
Może rzeczywiście nie 386, bo tam turbo pascala miałem.
pentium miałem 166MHz - i tam już chyba nie działało (a wtedy
"jeszcze nie było internetu"

. Ale być może nawet na poprzednim
5x86 133MHz też już nie.
Możliwe, że tak było. Na DX4 nie miałem tego problemu, pojawił się
jakoś później, właśnie w okolicach 200 MHz, ale przyznaję, że nie
testowałem pośrednich CPU. W każdym razie 386 był już bardzo daleko, i
postrzegany wówczas już w kategoriach muzealnych.
Szkoda, że te 386 i 5x86 sprzedałem. Ale moje pentium 166 znalazłem ostatnio w kącie w firmie.
Z SC Trio64V+ oraz ISA'ową kartą dźwiękową z dodanym syntezerem wavetable.
Tylko nie mam pojęcia, gdzie szukać mojej kolekcji MIDów :(
Zasilacz AT mam, ciekawe, czy się to uruchomi - późniejsze płyty poumierały, moja do durona i druga do athlona, w której raz wymieniłem kondensatory - i nawet nikt jej nie użył, bo zanim wziąłem się za wymianę, to do tej obudowy kupiłem już nową płytę, bo nie można było czekać - i te kondensatory też się wypęczniły, bez używania...
Quote:
Ale właśnie chodzi o to, że na CP/M z wołaniem BIOSu dawało radę.
Chyba że ten BIOS PC tak fatalny, no ale aż tak?
Kwestia API... Na XT odświeżenie ekranu wymagało zawołania 2000x tego:
http://www.ctyme.com/intr/rb-0099.htm
Nie było funkcji "pobierz cały ekran z bufora i wrzuć do hardware".
Programiści pisali więc bezpośrednio do VRAM, bo to było wielokrotnie
szybsze. Raz, że można było zrzucić pełny ekran w czasie jednego
VBLANK, a dwa że nie trzeba było korzystać z BIOSu który mógł być w
dużo wolniejszej pamięci przy braku ROM shadowing.
No dobra, pisali jak pisali, bo było szybciej - ale czy musieli?
Zapewne mogli, bo jak ibm zrobił komputer osobisty, nieważne, jak kijowy, wcale nie lepszy od innych (ew. display i klawiatura - tak jak mówił Steve Jobs - na cholerę komu komputer z kolorem na monitorze, skoro przygotowuje się na nim czarno-białe dokumenty?), a do tego koszmarnie drogi i przez spory czas praktycznie nie do kupienia - to ten komputer jest najlepszy i możemy go traktować jako jedyny obowiązujący.
Tyle że CP/M miał chyba takie samo API - wyświetl znak, przyjmij znak - a dawało się robić programy używając BIOS.
Nie wiem, jak działające, ale pewnie dobrze, skoro się to sprzedawało (no chyba że jedynie z braku laku, a apple II było jeszcze droższe - no ale jak ktoś kupuje komputer za 3k$, żeby uruchamiać na nim visicalca kosztującego 100$ - w żałosnym przekoneniu, że komputery mogą być programowanie przez laików - to na biednego nie trafiło).
A komputery na CP/M były przecież jeszcze słabsze od PC - 8080 lub Z80 (z 4-bitowym ALU) na 2,5 max.4MHz.
PC nie był może dużo mocniejszy - 4,77MHz, taka sama 8-bit szyna danych - ale szybszy jednak nieco był.
No chyba że procesor był za szybki dla pamięci, z którymi go sprzedawali ;>
To chyba było jakoś tak, że XT-286 był szybszy od AT, bo w AT były pamięci z wait-state, a w XT-286 0-wait state ;>
Ależ to bzdura.. Muszę poczytać, jak się realizuje taki wait-state w dostępie do pamięci. Na I2C wiadomo, ale z pamięciami?
Quote:
Trzeba do tego dodać, że BIOS PC-klonów przez długi czas był nie do
końca zgodny z PC... Co można stwierdzić po lekturze RBIL i ilości
wyjątków przy różnych wywołaniach.
Hmm, to jednak compaq i phoenix nie zrobili 100% dobrego?
Jest gdzieś o tym jakaś historia? Bo wiki twierdzi, że było OK.
A właściwie to czy int 10h nie jest jednak w BIOS karty graficznej?
Mateusz Viste
Guest
Wed Jan 26, 2022 1:31 pm
2022-01-26 o 02:30 -0800, Dawid Rutkowski napisał:
Quote:
No dobra, pisali jak pisali, bo było szybciej - ale czy musieli?
Fakt - nie musieli. Mogli pisać parszywie wolne programy i umrzeć z
głodu, bo programy konkurencji działają sprawnie i gładko.
Quote:
Tyle że CP/M miał chyba takie samo API - wyświetl znak, przyjmij znak
- a dawało się robić programy używając BIOS.
Skoro mówisz o API CP/M, to już nie BIOS, tylko funkcje systemowe, a te
wołały zapewne bezpośrednio hardware. DOS też miał takie funkcje, ale
ograniczone do poziomu CP/M i też boleśnie powolne, jeśli idzie o
malowanie po ekranie.
Quote:
Hmm, to jednak compaq i phoenix nie zrobili 100% dobrego?
Pierwszy z brzegu przykład dot. dość podstawowej operacji
odczytu pozycji kursora:
http://www.ctyme.com/intr/rb-0088.htm
Wynika z tego, że BIOS Phoenix, w przeciwieństwie do IBM, resetował
rejestr AL... i nieszczęście gotowe, jeśli program się tego nie
spodziewał.
Quote:
A właściwie to czy int 10h nie jest jednak w BIOS karty graficznej?
Dziś (tzn. wczoraj), tak. Przedwczoraj nie.
Mateusz
J.F
Guest
Thu Jan 27, 2022 11:14 am
On Wed, 26 Jan 2022 13:31:21 +0100, Mateusz Viste wrote:
Quote:
2022-01-26 o 02:30 -0800, Dawid Rutkowski napisał:
No dobra, pisali jak pisali, bo było szybciej - ale czy musieli?
Fakt - nie musieli. Mogli pisać parszywie wolne programy i umrzeć z
głodu, bo programy konkurencji działają sprawnie i gładko.
Tyle że CP/M miał chyba takie samo API - wyświetl znak, przyjmij znak
- a dawało się robić programy używając BIOS.
Skoro mówisz o API CP/M, to już nie BIOS, tylko funkcje systemowe, a te
wołały zapewne bezpośrednio hardware.
A gdzie tam - BDOS w CP/M byl uniwersalny, a wrecz jeden, jesli nie
liczyc roznych wersji.
Wszystko co dotyczylo hardware musialo przechodzic przez BIOS.
W dodatku nie bylo w zasadzie zadnych funkcji sterowania ekranem -
wsystko zalezalo od tego jaki terminal byl podpiety lub emulowany.
I jeszcze np taki niuans
http://www.seasip.info/Cpm/bdos.html
"BDOS function 9 (C_WRITESTR) - Output string
Supported by: All versions
Entered with C=9, DE=address of string.
Display a string of ASCII characters, terminated with the $ character.
Thus the string may not contain $ characters - so, for example, the
VT52 cursor positioning command ESC Y y+32 x+32 will not be able to
use row 4.
Under CP/M 3 and above, the terminating character can be changed using
BDOS function 110. "
Quote:
A właściwie to czy int 10h nie jest jednak w BIOS karty graficznej?
Dziś (tzn. wczoraj), tak. Przedwczoraj nie.
Juz VGA podstawiala wlasny BIOS.
J.
Mateusz Viste
Guest
Thu Jan 27, 2022 11:45 am
2022-01-27 o 11:14 +0100, J.F napisał:
Quote:
Skoro mówisz o API CP/M, to już nie BIOS, tylko funkcje systemowe,
a te wołały zapewne bezpośrednio hardware.
A gdzie tam - BDOS w CP/M byl uniwersalny, a wrecz jeden, jesli nie
liczyc roznych wersji.
Wszystko co dotyczylo hardware musialo przechodzic przez BIOS.
No dobra, ale z tego co teraz czytam, to "BIOS" był częścią CP/M
Tą częścią wołającą bezpośrednio sprzęt właśnie.
Quote:
A właściwie to czy int 10h nie jest jednak w BIOS karty
graficznej?
Dziś (tzn. wczoraj), tak. Przedwczoraj nie.
Juz VGA podstawiala wlasny BIOS.
VGA to jest właśnie wczoraj, razem z EGA i MCGA. Ale mowa była, zdaje
się, o IBM PC z MDA (tj. tak sugerował Dawid).
Mateusz
J.F
Guest
Thu Jan 27, 2022 11:59 am
On Thu, 27 Jan 2022 11:45:08 +0100, Mateusz Viste wrote:
Quote:
2022-01-27 o 11:14 +0100, J.F napisał:
Skoro mówisz o API CP/M, to już nie BIOS, tylko funkcje systemowe,
a te wołały zapewne bezpośrednio hardware.
A gdzie tam - BDOS w CP/M byl uniwersalny, a wrecz jeden, jesli nie
liczyc roznych wersji.
Wszystko co dotyczylo hardware musialo przechodzic przez BIOS.
No dobra, ale z tego co teraz czytam, to "BIOS" był częścią CP/M
Tą częścią wołającą bezpośrednio sprzęt właśnie.
Tzn - BDOS napisal DR.
BIOS pisal producent komputera.
Czy byl czescia ... no byl, bez BIOS CP/M nie dziala :-)
A i program uzytkownika mogl i funkcje BIOS wołac, byly do dyspozycji.
Quote:
A właściwie to czy int 10h nie jest jednak w BIOS karty
graficznej?
Dziś (tzn. wczoraj), tak. Przedwczoraj nie.
Juz VGA podstawiala wlasny BIOS.
VGA to jest właśnie wczoraj, razem z EGA i MCGA. Ale mowa była, zdaje
się, o IBM PC z MDA (tj. tak sugerował Dawid).
A masz racje - juz EGA miala wlasny.
Owszem - standardowy BIOS peceta obslugiwal MDA i CGA.
Lepsze wymagaly biosu karty.
EGA ... no wiem, mam pewne opory nazywac to "wczoraj" :-)
Na pewno kolejna generacja, nie jest to "zwykly pecet" :-)
Tak czy inaczej - wszyscy Biosu uzywali tylko do wlaczenia trybu
graficznego na karcie, albo nawet i to nie.
Cala reszta to juz bezposrednio w sprzet.
J.
Mateusz Viste
Guest
Thu Jan 27, 2022 12:04 pm
2022-01-27 o 02:50 -0800, Dawid Rutkowski napisał:
Quote:
Chyba że CP/M ten wordstar potrafił w sposób naprawdę widoczny
odświeżać ekran, takie "odwijanie papieru z rolki" ;
Tutaj można zobaczyć, jak to wyglądało:
https://youtu.be/Z21kW0uQOyE?t=73
Quote:
Ale do dziś mnie zastanawia - jak taka karta wyświetlała na początku
jakieś napisy (zwykle w trybie tekstowym), np. swoją nazwę, to czy
taki obraz tworzył przy resecie jakiś procesor na tej karcie czy też
był to efekt BIOS-skanu i wywoływania przez BIOS PC-ta initu z BIOSu
karty graficznej?
To drugie. Tj. option ROM.
Mateusz
JarosĹaw SokoĹowski
Guest
Thu Jan 27, 2022 12:31 pm
Pan J.F napisał (myląc się przy tym):
Quote:
A i program uzytkownika mogl i funkcje BIOS wołac, byly do dyspozycji.
^
literówka
--
Jarek
Mateusz Viste
Guest
Thu Jan 27, 2022 12:35 pm
2022-01-27 o 11:59 +0100, J.F napisał:
Quote:
On Thu, 27 Jan 2022 11:45:08 +0100, Mateusz Viste wrote:
No dobra, ale z tego co teraz czytam, to "BIOS" był częścią CP/M
Tą częścią wołającą bezpośrednio sprzęt właśnie.
Tzn - BDOS napisal DR.
BIOS pisal producent komputera.
Tutaj BIOS nazywają "CP/M I/O drivers", i wszystko podpisane przez DR:
http://www.nesssoftware.com/nesssoftware/doc/dr/cpm_source/bios.pdf
Jakiś wyjątek?
Mateusz
J.F
Guest
Thu Jan 27, 2022 12:35 pm
On Thu, 27 Jan 2022 02:50:05 -0800 (PST), Dawid Rutkowski wrote:
Quote:
środa, 26 stycznia 2022 o 13:31:24 UTC+1 Mateusz Viste napisał(a):
2022-01-26 o 02:30 -0800, Dawid Rutkowski napisał:
No dobra, pisali jak pisali, bo było szybciej - ale czy musieli?
Fakt - nie musieli. Mogli pisać parszywie wolne programy i umrzeć z
głodu, bo programy konkurencji działają sprawnie i gładko.
Hmm, w sumie to komputera z CP/M to nawet nie widziałem, nie mówiąc o używaniu.
A ze starych PC-tów to tetrisa na XT widziałem - hmm, tak mi się zdaje, że kolory były
CGA, ale może to był tryb CGA, a karta już EGA a nawet lepsza, bo chyba ChiWriter na tym
działał - a może to było już nawet AT?
No ale tak czy siak - programy na CP/M używające jego API, projektowanego jeszcze
w czasach teletype, a nie terminala, jakoś działały - np. tak wordstar z pełnoekranowym edytorem.
na teletype to dzialal ED :-)
Quote:
Nie sądzę, by programy na PC w trybie tekstowym wymagały jakieś wspanialszej animacji.
Więc na CP/M dawało się przez prymitywne wywołania systemowe, a na PC już nie?
Nad tym się właśnie zastanawiam.
Chyba że CP/M ten wordstar potrafił w sposób naprawdę widoczny odświeżać ekran, takie
"odwijanie papieru z rolki" ;
Wordstarowi sie definiowalo sekwencje sterujace do terminala.
Tzn wpisywalo debuggerem gdzies na poczatku programu.
Jak terminal byl porzadny, to jakis fikusny scroll tam byl,
i dzialalo nawet zgrabnie.
Bardziej mi przeszkadzalo ze ja mu Ctrl-costam aby szukac ... i
komputer zamiera, bo sie jakas nakladka z dysku ładuje.
W biosie IBM PC niby jakies operacje dla scroll sa, ale chyba nikt nie
korzystal - rozkaz MOVSB robil to prosciej :-)
Quote:
A właściwie to czy int 10h nie jest jednak w BIOS karty graficznej?
Dziś (tzn. wczoraj), tak. Przedwczoraj nie.
No cóż, ja miałem od razu VGA - i to nadzbiór.
Ale do dziś mnie zastanawia - jak taka karta wyświetlała na początku
jakieś napisy (zwykle w trybie tekstowym), np. swoją nazwę, to czy
taki obraz tworzył przy resecie jakiś procesor na tej karcie czy
też był to efekt BIOS-skanu i wywoływania przez BIOS PC-ta initu z
BIOSu karty graficznej?
Dokladnie tak.
Dlugo na tych kartach nie bylo procesora az tak ambitnego,
a i jak byl, to chyba sam nie wyswietlal niczego.
J
Dawid Rutkowski
Guest
Thu Jan 27, 2022 12:50 pm
środa, 26 stycznia 2022 o 13:31:24 UTC+1 Mateusz Viste napisał(a):
Quote:
2022-01-26 o 02:30 -0800, Dawid Rutkowski napisał:
No dobra, pisali jak pisali, bo było szybciej - ale czy musieli?
Fakt - nie musieli. Mogli pisać parszywie wolne programy i umrzeć z
głodu, bo programy konkurencji działają sprawnie i gładko.
Hmm, w sumie to komputera z CP/M to nawet nie widziałem, nie mówiąc o używaniu.
A ze starych PC-tów to tetrisa na XT widziałem - hmm, tak mi się zdaje, że kolory były
CGA, ale może to był tryb CGA, a karta już EGA a nawet lepsza, bo chyba ChiWriter na tym
działał - a może to było już nawet AT?
No ale tak czy siak - programy na CP/M używające jego API, projektowanego jeszcze
w czasach teletype, a nie terminala, jakoś działały - np. tak wordstar z pełnoekranowym edytorem.
Nie sądzę, by programy na PC w trybie tekstowym wymagały jakieś wspanialszej animacji.
Więc na CP/M dawało się przez prymitywne wywołania systemowe, a na PC już nie?
Nad tym się właśnie zastanawiam.
Chyba że CP/M ten wordstar potrafił w sposób naprawdę widoczny odświeżać ekran, takie
"odwijanie papieru z rolki" ;>
Quote:
Tyle że CP/M miał chyba takie samo API - wyświetl znak, przyjmij znak
- a dawało się robić programy używając BIOS.
Skoro mówisz o API CP/M, to już nie BIOS, tylko funkcje systemowe, a te
wołały zapewne bezpośrednio hardware. DOS też miał takie funkcje, ale
ograniczone do poziomu CP/M i też boleśnie powolne, jeśli idzie o
malowanie po ekranie.
Funkcje były niby BDOSa - ale tak naprawdę FDOSa - czyli połączonych BDOSa (uniwersalnego) i BIOSu (dostowywanego
do konkretnego komputera).
A BIOS oczywiście musiał odnosić się do sprzętu, no bo jak nie - nawet jak miał tylko wysłać znak na port szeregowy.
I było API niżej-poziomowe - czyli program jak chciał mógł sobie odczytać/zapisać sektor dysku - i wyżej-poziomowe - czyli mógł zrzucić na OS tworzenie czy skasowanie pliku.
Quote:
A właściwie to czy int 10h nie jest jednak w BIOS karty graficznej?
Dziś (tzn. wczoraj), tak. Przedwczoraj nie.
No cóż, ja miałem od razu VGA - i to nadzbiór.
Ale do dziś mnie zastanawia - jak taka karta wyświetlała na początku jakieś napisy (zwykle w trybie tekstowym), np. swoją nazwę, to czy taki obraz tworzył przy resecie jakiś procesor na tej karcie czy też był to efekt BIOS-skanu i wywoływania przez BIOS PC-ta initu z BIOSu karty graficznej?
J.F
Guest
Thu Jan 27, 2022 12:57 pm
On Thu, 27 Jan 2022 12:35:31 +0100, Mateusz Viste wrote:
Quote:
2022-01-27 o 11:59 +0100, J.F napisał:
On Thu, 27 Jan 2022 11:45:08 +0100, Mateusz Viste wrote:
No dobra, ale z tego co teraz czytam, to "BIOS" był częścią CP/M
Tą częścią wołającą bezpośrednio sprzęt właśnie.
Tzn - BDOS napisal DR.
BIOS pisal producent komputera.
Tutaj BIOS nazywają "CP/M I/O drivers", i wszystko podpisane przez DR:
http://www.nesssoftware.com/nesssoftware/doc/dr/cpm_source/bios.pdf
Jakiś wyjątek?
To jest cos dziwnego. Jakas implementacja wzorcowa?
Spojrz na adres 1500 - tam jest wektor skokow do funkcji, tak ma byc.
I mamy tam np CONIN, CONOUT (console input/output)
15F8 - jest i CONIN. Wola CI, kasuje bit Parity.
1601 - CONOUT. Wywołuje CO. I sprawdza, czy to był LF,
a jesli tak to małe czekanko
Widzisz gdzies CI, CO ?
Kolejne funckje - SELDSK - co ona wlasciwie robi?
SETTRK, SETSEC, SETDMA - tylko zapamietuja wartosci, jesli dobrze
widze.
READ, WRITE - wolaja SETFUNC, i WAIT0. WAIT nawet ladnie rozpisany.
A SETFUNC widzisz? A przeciez czytanie i pisanie zalezy od uzytego
sterownika dyskietek. Czekanie zreszta tez.
J.
Atlantis
Guest
Sun Jan 30, 2022 10:19 am
On 25.01.2022 16:33, jacek pozniak wrote:
Quote:
Spróbuj rezystorem 470 podciągnąć do plusa linię zegara. Pamiętam, że miałem
straszne problemy z pamięciami dynamicznymi jeśli go nie było. Podejrzałem
go na jakimś schemacie jakiegoś kompa z Z80.
Chyba faktycznie spróbuję, bo ten rezystor występuje na schematach
większości klonów ZX Spectrum, chociaż nie zawsze z tak niską wartością
(np. w Sizifie-512 jest 2k). Tutaj jednak go brakuje.
Jak to nie pomoże, to poszukam wolniejszego generatora kwarcowego.
Goto page Previous 1, 2, 3