🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.c
43 messages
43 total messages Started by slawek Fri, 15 Apr 2016 15:44
Irq
#308404
Author: slawek
Date: Fri, 15 Apr 2016 15:44
10 lines
1280 bytes
Jest kawałek złomu w ISA, ma rejestry dostępne przez in/out, może 
generować np. IRQ 5 czy jakieś tam.

Problem w tym, że rejestry trzeba odczytywać co 1 ms. Aplikacja MS 
Windows nie wyrabia się: czasem przez kilka ms system nie dopuszcza 
jej do głosu. IRQ teoretycznie po to jest.

Ale... Jak napisać IRQ handler jako funkcję w C siedzącą sobie np. w 
DLL i nie wdepnąć w Vxd/Wdm i ogólnie cały ten syf? A żeby nie było 
za łatwo, to musi się dać zrobić w GCC, zaś pracować na Windows 95.
Re: Irq
#308405
Author: Sebastian Biały
Date: Fri, 15 Apr 2016 17:40
6 lines
1143 bytes
On 2016-04-15 17:44, slawek wrote:
> łatwo, to musi się dać zrobić w GCC, zaś pracować na Windows 95.

Dlaczego w Win95? Dlaczego to coś jest na isa? Idę o zakład że dzisiaj 
zrobienie fake magistrali ISA z całoscią tego RT mozliwe jest na byle 
AVR za 5zł.
Re: Irq
#308406
Author: slawek
Date: Sat, 16 Apr 2016 08:04
28 lines
2185 bytes
On Fri, 15 Apr 2016 19:40:09 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> Dlaczego w Win95? Dlaczego to coś jest na isa? Idę o zakład że 
dzisiaj 
> zrobienie fake magistrali ISA z całoscią tego RT mozliwe jest na 
byle 
> AVR za 5zł.

Ups... Nie 95 ale 98.

Dlatego że nowsze Windows nie chce się instalować na tym PC który ma 
sloty ISA, a karta jest na ISA. Karta jest z drugiej strony dołączona 
do cudeńka za pół miliona. Ok, można wymienić kartę na coś 
współczesnego. Ale to oznacza ciaptranie się z cudeńkiem. Co zostało 
z góry wykluczone. Cudeńka nie da się na nic wymienić.

Do tej pory sterował tym program z DOS, napisany niczym sen 
schizofrenika. (Używanie delay() Borlanda do odmierzania jednej ms, 
wszędzie Val && 0x0fff zamiast Val & 0x0fff) Zero dokumentacji. Udało 
się to rozkminić. Tyle że nowy program dla Windows traci CPU na kilka 
ms i wtedy gubi dane. No cóż, Windows 98 to nie RT. 

Teoretycznie da się karcie wytłumaczyć że ma generować IRQ kiedy 
trzeba, ale rzecz w tym jak te IRQ chwycić dla aplikacji.

Spróbuję dać real time priority i ograniczyć się do jednego wątku 
(mam dwa) - może to pomoże. Tak zdesperowany, aby pisać Vxd to 
jeszcze nie jestem.
Re: Irq
#308407
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 08:16
61 lines
3904 bytes
On 2016-04-16 10:04, slawek wrote:
>> Dlaczego w Win95? Dlaczego to coś jest na isa? Idę o zakład że
> dzisiaj
>> zrobienie fake magistrali ISA z całoscią tego RT mozliwe jest na
> byle
>> AVR za 5zł.
> Ups... Nie 95 ale 98.

To to samo.

> Dlatego że nowsze Windows nie chce się instalować na tym PC który ma
> sloty ISA, a karta jest na ISA. Karta jest z drugiej strony dołączona do
> cudeńka za pół miliona.

Certyfikowana? Konsekrowana? Napisz co to. Pare lat temu w pewnej firmie 
padła karta do akwizycji danych advantech o ile pamiętam. Zastapiłem ją 
AVRem który nie dośc że miał podpiety 16 bit przetwornik zamiast 8 to 
jeszcze nie wymagał komputera z ISA. Po miesiącu działania jakiś debil z 
kierownictwa zrobił awanturę. Bo mu za dokładne wyniki wychodzą. I tak 
nie może być. A ponadto oni zapłacili w '95 roku kilka pensji za nią. Etc...

> Ok, można wymienić kartę na coś współczesnego.
> Ale to oznacza ciaptranie się z cudeńkiem. Co zostało z góry wykluczone.
> Cudeńka nie da się na nic wymienić.

Więc widze nastepujące rozwiązania:
a) sensowe: wziąć AVR i zbudować emulator ISA, dodatkowo w środku 
wsadzić całość real time i wysyłać to po USB. W zalezności od 
rozbudowania częsci RT i doświadczenia to będzie jakieś kilka godzin, 
kilka dni, kilka tygodni. Odpłaci się po stokroć.

b) wziąc dwie maszyny. Na jednej odpalić FreeDOSa, napisać całośc 
zagadnienia RT i przesylać dane kartą sieciową do czegoś współczesnego 
do wizualizacji. Zapewne to rozwiązanie było by zadowalające dla 
przygłupów w garniturach bo nie widać "amatorskich" drutów.

Widze też 3-ie:
c) jesli karta jest na ISA to prawdopodobnie jest tak stara że można ją 
zastapić w *całości* dowolnym uC za kilkanascie zł. Ale tego nie 
proponuje bo nie wiem co niby ma robić.

> Do tej pory sterował tym program z DOS, napisany niczym sen
> schizofrenika. (Używanie delay() Borlanda do odmierzania jednej ms,
> wszędzie Val && 0x0fff zamiast Val & 0x0fff) Zero dokumentacji. Udało
> się to rozkminić. Tyle że nowy program dla Windows traci CPU na kilka ms
> i wtedy gubi dane. No cóż, Windows 98 to nie RT.
> Teoretycznie da się karcie wytłumaczyć że ma generować IRQ kiedy trzeba,
> ale rzecz w tym jak te IRQ chwycić dla aplikacji.

Masz zagadnienie RT które rozwiązujesz zabawkowym OSem. To raczej nie 
tyle uda się, co usyskasz *nieco* lepszą statystykę przyjmowania 
przerwań. Jak trzeba będzie zająć się formatowaniem dyskietki to 
przestanie działać.

> Spróbuję dać real time priority i ograniczyć się do jednego wątku (mam
> dwa) - może to pomoże. Tak zdesperowany, aby pisać Vxd to jeszcze nie
> jestem.

Wiec tego nie rób bo to sensu nie ma. Steorwnik czy nie, kernel 9x 
zawiesi Cie do czasu zakończenia wazniejszych rzeczy. To jest naprawdę 
gówniany kernel.
Re: Irq
#308408
Author: slawek
Date: Sat, 16 Apr 2016 08:38
21 lines
1800 bytes
On Sat, 16 Apr 2016 10:16:58 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> Certyfikowana? Konsekrowana?

Trzy razy tak. 

> kierownictwa zrobił awanturę. Bo mu za dokładne wyniki wychodzą

A ja jestem z natury spokojny. Więc nie chcę zaczynać od "cały ten 
syf wpier...  i zrobić to porządnie". Zwłaszcza że monopolu na 
nieomylnosc nie mam.

> tyle uda się, co usyskasz *nieco* lepszą statystykę przyjmowania 
> przerwań. Jak trzeba będzie zająć się formatowaniem dyskietki to

Jest bez przerwań. Można byłoby dać przerwania. Ale nie widzę jak je 
odbierać. W tym jest właśnie problem. Podobnie jak DMA. Też można. 
Ale na razie jest czysty polling. 

Formatowania dyskietki można zwyczajnie zakazać. A nawet zrobić żeby 
aplikacja była system modal.
Re: Irq
#308409
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 08:52
28 lines
2508 bytes
On 2016-04-16 10:38, slawek wrote:
> A ja jestem z natury spokojny. Więc nie chcę zaczynać od "cały ten syf
> wpier...  i zrobić to porządnie". Zwłaszcza że monopolu na nieomylnosc
> nie mam.

Ale tutaj kazali ten syf wyp... producenci hardware pecetów. Trzeba się 
dostosować. Nie tak dawno oglądalem jeszcze zabytkowego XT sterującego 
duża obrabiarką. Za sprawny egzemplarz i jego dostosowanie zapłacono 
parenascie tyś a i tak się spieprzył po roku nie licząc codziennych awarii.

>> tyle uda się, co usyskasz *nieco* lepszą statystykę przyjmowania
>> przerwań. Jak trzeba będzie zająć się formatowaniem dyskietki to
> Jest bez przerwań. Można byłoby dać przerwania. Ale nie widzę jak je
> odbierać. W tym jest właśnie problem. Podobnie jak DMA. Też można. Ale
> na razie jest czysty polling.

To jest o tyle zaskakujące że bez względu na to jaką metodę odbierania 
będziesz miał to jesli karta nie ma bufora (zapewne ma mikroskopijny 
sądząc po wieku) to i tak stracisz dane. Możesz co najwyżej kombinować 
żeby ich stracić mniej. Dlatego wsadzenie uC pomiedzy komputer a kartę 
jest najlepsze: dostaniesz perfekcyjny RT z buforowaniem i znaczącą 
swobodę pisania softu na PC.

> Formatowania dyskietki można zwyczajnie zakazać. A nawet zrobić żeby
> aplikacja była system modal.

To już nie jest Win95. Dalej nie jest dla mnie jasne dlaczego to 
powinien być win95. DOS sie nie sprawdzał?
Re: Irq
#308410
Author: slawek
Date: Sat, 16 Apr 2016 10:51
34 lines
2569 bytes
On Sat, 16 Apr 2016 10:52:23 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> To jest o tyle zaskakujące że bez względu na to jaką metodę 
odbierania 
> będziesz miał to jesli karta nie ma bufora (zapewne ma 
mikroskopijny 
> sądząc po wieku) to i tak stracisz dane. Możesz co najwyżej 
kombinować 

Niezupełnie. Karta nie ma bufora. Ale ma swój zegar, tak że każdy 
pomiar jest dokładnie co dt milisekund. Albo nawet mikrosekund. W PC 
procesor jest w miarę przyzwoity i nie ma problemów aby w DOS 
przepisywał na czas z rejestru karty do RAM PC. 

Jednak w Windows 98 lubi zawiesić wątek akwizycji na kilka ms. Gdyby 
aplikacja łapała IRQ, to nie byłoby problemu. Wątek wisiały, ale 
handler robiły swoje niezależnie wybudzony przez IRQ. 

Avr itp. i tak wymagałby sterowanika. Najlepiej pod Windows 10. Czyli 
jeszcze certyfikat. Problemów nie byłoby mniej. Oczywiście można 
byłoby kupić nowy moduł akwizycji ze sterownikiem błogosławionym 
przez MS. Ten wymagałby nowego komputera, systemu i... na czas 
modernizacji... wyłączenia z eksploatacji tego co jest. A to nie jest 
możliwe.


> To już nie jest Win95. Dalej nie jest dla mnie jasne dlaczego to 
> powinien być win95. DOS sie nie sprawdzał?

A spróbuj zrobić ładne UI w DOS. No i drobiazg: 640 kB. 

Program pod DOS źle działa - tzn. jest długa lista rzeczy których nie 
robi jak trzeba, choć akurat przez cud i przypadek jakoś daję radę z 
kartą.
Re: Irq
#308411
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 11:05
50 lines
3741 bytes
On 2016-04-16 12:51, slawek wrote:
> Niezupełnie. Karta nie ma bufora. Ale ma swój zegar, tak że każdy pomiar
> jest dokładnie co dt milisekund. Albo nawet mikrosekund. W PC procesor
> jest w miarę przyzwoity i nie ma problemów aby w DOS przepisywał na czas
> z rejestru karty do RAM PC.

Skoro nie masz bufora to tym bardziej system z wywłaszczaniem pokroju 
win9x jest absolutnie bezużyteczny. Milisekundowe przerwanie to dla 
windowsa wyzwanie z gatunku statystycznego.

> Jednak w Windows 98 lubi zawiesić wątek akwizycji na kilka ms. Gdyby
> aplikacja łapała IRQ, to nie byłoby problemu. Wątek wisiały, ale handler
> robiły swoje niezależnie wybudzony przez IRQ.
> Avr itp. i tak wymagałby sterowanika. Najlepiej pod Windows 10.

Nie. Sam określasz co chcesz uzyskać. Rownie dobrze AVR albo wspomagany 
FTDI może być jeszcze jednym portem szeregowym. Kupując "wypasiony" 
procek typu STM32 możesz od reki zrobić go urzadzeniem HID or whatever. 
Emulacja ISA jest *jedyna* metodą aby uzyskać to co chcesz, czyli 100% 
pewnosci że się wyrobisz z czytaniem danych. Ostatecznie tym 
"emulatorem" może być drugi komputer pracujący w dosie jesli nie chcesz 
się bawić w uC.

> Czyli
> jeszcze certyfikat. Problemów nie byłoby mniej. Oczywiście można byłoby
> kupić nowy moduł akwizycji ze sterownikiem błogosławionym przez MS. Ten
> wymagałby nowego komputera, systemu i... na czas modernizacji...
> wyłączenia z eksploatacji tego co jest. A to nie jest możliwe.

Co byś nie zrobił na chwile będziesz wypinał z eksploatacji. Chwile będa 
sporawe jesli to ma być *sterownik* win9x bo ostatni co pamiętają jak to 
się pisze wymarli 100 lat temu.

>
>> To już nie jest Win95. Dalej nie jest dla mnie jasne dlaczego to
>> powinien być win95. DOS sie nie sprawdzał?
> A spróbuj zrobić ładne UI w DOS. No i drobiazg: 640 kB.

Ej? A PO CO w maszynie UI? Skoro zastanawiasz się nad system modal to w 
ogóle nie masz potrzeby uzywania systemu operacyjnego z poziomu usera. 
pozostają ładne kontrolki. Mi się TurboVision podoba. Ostatecznie co za 
problem wziąć wxwidgets z targetem do framebuffera? Co kto lubi.

> Program pod DOS źle działa - tzn. jest długa lista rzeczy których nie
> robi jak trzeba, choć akurat przez cud i przypadek jakoś daję radę z kartą.

Napisz nowy. Albo tak jak sugeruje: napisz program w dos na stary 
komputer robiacy jako proxy "kiepska karta"<->"sieć" i dalej obrabiaj na 
czymś współaczesnym na innym złomie. Myślę że taniej się nie uda i 
garniturowe przygłupy będa zadowoleni.
Re: Irq
#308412
Author: slawek
Date: Sat, 16 Apr 2016 12:36
8 lines
1717 bytes
On Sat, 16 Apr 2016 13:05:01 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> Napisz nowy. Albo tak jak sugeruje: napisz program w dos na stary

Owszem. Można. Jednak jest w tym bardzo wiele plusów ujemnych. 
Zresztą DOS też nie daje rady, tyle że 99.99% nie widzi tego, bo nie 
zaglądało w bebechy tylko widzi że karuzela się kręci. A że błędy 
pomiaru czasu przekraczają 10%?  Tego nie widać.
Re: Irq
#308416
Author: slawek
Date: Sat, 16 Apr 2016 12:47
11 lines
1715 bytes
On Sat, 16 Apr 2016 13:05:01 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> win9x jest absolutnie bezużyteczny. Milisekundowe przerwanie to dla 
> windowsa wyzwanie z gatunku statystycznego.

Niezupełnie. Przychodzi IRQ. Wystarczy in z karty, zapisać w buforek, 
n++, jeżeli n > max out do karty. Wszystko to nie może czekać dłużej 
niż 100us, co przy 500 MHz Celeronie nie wygląda na niemożliwe. A 
jakby co to DMA.  I drobiazg - gdy jest pomiar to cała reszta, 
włącznie z myszą, może poczekać. Teoretycznie karta wyciąga 20k 
sampli na sekundę.
Re: Irq
#308421
Author: slawek
Date: Sat, 16 Apr 2016 12:49
7 lines
1381 bytes
On Sat, 16 Apr 2016 13:05:01 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> Nie. Sam określasz co chcesz uzyskać. Rownie dobrze AVR albo 
wspomagany 
> FTDI może być jeszcze jednym portem szeregowym. Kupując "wypasiony"

A co gdy Windows 10 ;)
Re: Irq
#308423
Author: slawek
Date: Sat, 16 Apr 2016 12:58
11 lines
1774 bytes
On Sat, 16 Apr 2016 13:05:01 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> Ej? A PO CO w maszynie UI? Skoro zastanawiasz się nad system modal 
to w 
> ogóle nie masz potrzeby uzywania systemu operacyjnego z poziomu 
usera.

Wykresy, analiza danych, wybór parametrów,... 

Ale nie muszą działać kierki, nie trzeba oglądać kotków, mieć 
otwartego Excela. Przynajmniej wtedy gdy idą pomiary.
Re: Irq
#308422
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 14:13
12 lines
1630 bytes
On 2016-04-16 14:49, slawek wrote:
>> FTDI może być jeszcze jednym portem szeregowym. Kupując "wypasiony"
> A co gdy Windows 10 ;)

http://www.ftdichip.com/Drivers/VCP.htm

*Includes the following version of of the Windows operating system: 
Windows 7, Windows Server 2008 R2 and Windows 8, 8.1, Windows server 
2012 R2 and Windows 10.

W czym problem? Żeby nie było - przed chwilą wetknąłem zabawkę z FT232B 
w Windows 10 i działa.
Re: Irq
#308413
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 14:20
14 lines
1772 bytes
On 2016-04-16 14:36, slawek wrote:
>> Napisz nowy. Albo tak jak sugeruje: napisz program w dos na stary
> Owszem. Można. Jednak jest w tym bardzo wiele plusów ujemnych. Zresztą
> DOS też nie daje rady

Jak to nie daje rady?

>A że błędy pomiaru czasu
> przekraczają 10%?  Tego nie widać.

Bo usilnie starasz się wsadzić RT w komputer przeznaczony do oglądania 
pornoli. Ale pod DOSem można uzyskać namiastke RT, choć hardware z 
czasów ISA posiada tylko 8253. HPET pojawił się kiedy ISA już nie było. 
Czy 8253 wystarczy - nie wiem. Kiepskie to było.
Re: Irq
#308417
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 14:25
25 lines
2295 bytes
On 2016-04-16 14:47, slawek wrote:
>> win9x jest absolutnie bezużyteczny. Milisekundowe przerwanie to dla
>> windowsa wyzwanie z gatunku statystycznego.
> Niezupełnie. Przychodzi IRQ. Wystarczy in z karty, zapisać w buforek,
> n++, jeżeli n > max out do karty.

Nie. Przychodzi IRQ i za chwile przychodzi następne IRQ bo system nie 
zdążył wywłaszczyć oglądania pornola. Straciłeś daną. Taka sytuacja w 
kernelu win9x to codzienność. Dlatego bufor musi być w hardware (tak jak 
w kartach muzycznych). Jesli go nie masz - to masz problem z pollingiem.

> Wszystko to nie może czekać dłużej niż
> 100us, co przy 500 MHz Celeronie nie wygląda na niemożliwe.

> A jakby co
> to DMA.

A kto to DMA realizuje? Karta? Jesli tak to dostaniesz większy relaks na 
przyjmowanie przerwania od dma, ale to dalej niczego nie gwarantuje w 
win9x, zmienia tylko statystykę.

> I drobiazg - gdy jest pomiar to cała reszta, włącznie z myszą,
> może poczekać. Teoretycznie karta wyciąga 20k sampli na sekundę.

Z palcem w d... można to uzyskać na byle czym za kilka złotych :/
Re: Irq
#308424
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 14:26
11 lines
1676 bytes
On 2016-04-16 14:58, slawek wrote:
>> Ej? A PO CO w maszynie UI? Skoro zastanawiasz się nad system modal
> to w
>> ogóle nie masz potrzeby uzywania systemu operacyjnego z poziomu
> usera.
> Wykresy, analiza danych, wybór parametrów,...
> Ale nie muszą działać kierki, nie trzeba oglądać kotków, mieć otwartego
> Excela. Przynajmniej wtedy gdy idą pomiary.

To wszystko miliard razy wygodniej bedzie działać na sąsiedniej maszynie 
ze współczesnym cpu, podpiętej ethernetem.
Re: Irq
#308414
Author: slawek
Date: Sat, 16 Apr 2016 14:47
7 lines
1656 bytes
On Sat, 16 Apr 2016 16:20:50 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> pornoli. Ale pod DOSem można uzyskać namiastke RT, choć hardware z 
> czasów ISA posiada tylko 8253. HPET pojawił się kiedy ISA już nie 
było.

A nie tylko 8253, bo jest TSC w samym CPU.
Re: Irq
#308415
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 14:48
8 lines
1660 bytes
On 2016-04-16 16:47, slawek wrote:
>> pornoli. Ale pod DOSem można uzyskać namiastke RT, choć hardware z
>> czasów ISA posiada tylko 8253. HPET pojawił się kiedy ISA już nie
> było.
> A nie tylko 8253, bo jest TSC w samym CPU.

Więc zamiast grzecznie czekać na przerwania z timera będziesz robił busy 
loop pomijając czy prawidlowo przeliczysz cykle na milisekundy. Katastrofa.
Re: Irq
#308418
Author: slawek
Date: Sat, 16 Apr 2016 15:00
7 lines
1458 bytes
On Sat, 16 Apr 2016 16:25:19 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> Nie. Przychodzi IRQ i za chwile przychodzi następne IRQ bo system 
nie

Nie za chwilę, ale dokładnie po 500us. Jest masa czasu. Nic innego do 
roboty.
Re: Irq
#308419
Author: Sebastian Biały
Date: Sat, 16 Apr 2016 15:02
11 lines
1777 bytes
On 2016-04-16 17:00, slawek wrote:
>> Nie. Przychodzi IRQ i za chwile przychodzi następne IRQ bo system
> nie
> Nie za chwilę, ale dokładnie po 500us. Jest masa czasu. Nic innego do
> roboty.

I system który właśnie formatuje dyskietkę, ładuje bufor vga, przyjmuje 
przerwanie dma z dysku, wyrzuca dane z ram do swap, obsługuje myszkę, 
dostaje zdarzenie z ACPI, odrysowuje zegaren na taskbarze i właśnie 
przełacza kontekst na *twój* sterownik. Oby dał radę. Statystycznie 
oczywiście.
Re: Irq
#308420
Author: slawek
Date: Sat, 16 Apr 2016 15:19
12 lines
1782 bytes
On Sat, 16 Apr 2016 17:02:57 +0200, Sebastian 
Biały<heby@poczta.onet.pl> wrote:
> I system który właśnie formatuje dyskietkę, ładuje bufor vga, 
przyjmuje 
> przerwanie dma z dysku, wyrzuca dane z ram do swap, obsługuje 
myszkę, 
> dostaje zdarzenie z ACPI, odrysowuje zegaren na taskbarze i właśnie 
> przełacza kontekst na *twój* sterownik. Oby dał radę. Statystycznie 
> oczywiście.

Wg. MS real time priority olewa myszy i dyski. Trochę to ułatwi 
sprawę.
Re: Irq
#308425
Author: Wiktor S.
Date: Mon, 18 Apr 2016 20:06
19 lines
1655 bytes
>> To już nie jest Win95. Dalej nie jest dla mnie jasne dlaczego to
>> powinien być win95. DOS sie nie sprawdzał?
>
> A spróbuj zrobić ładne UI w DOS. No i drobiazg: 640 kB.

Problem 640 kB został rozwiązany bardzo dawno temu. Również pod DOS-em.

Jak najbardziej pod DOS-em można pisać 32-bitowe programy działające w 
trybie chronionym.
Wystarczy odpowiedni kompilator.

Co do UI, to pragnę przypomnieć, że było mnóstwo gier pod DOS-a.

Zresztą to nie musi być DOS. Może być jakaś realtime'owa wersja Linuksa.



-- 
Wiktor S.
Re: Irq
#308426
Author: Wiktor S.
Date: Mon, 18 Apr 2016 20:13
6 lines
1241 bytes
Nie dalej jak dwa tygodnie temu pisałem obsługę IRQ pod DOS-em, właśnie w 
trybie chronionym.


-- 
Wiktor S.
Re: Irq
#308427
Author: slawek
Date: Tue, 19 Apr 2016 06:37
16 lines
1709 bytes
On Mon, 18 Apr 2016 22:06:22 +0200, "Wiktor S." 
<wswiktorSP@Mpoczta.fm> wrote:
> trybie chronionym.

A, o tym zapomniałem.


> Zresztą to nie musi być DOS. Może być jakaś realtime'owa wersja 
Linuksa.

Nie może. Ewentualna dalszą modernizacja mogłaby zmusić do przejścia 
na Windows 10 czy coś równie współczesnego. Jest szansa że da się z 
płytą główną z ISA - są takie, specjalnie produkowane dla zastosowań 
przemysłowych. Dla takich Windows jest sterownik. Dla Linuksa nie ma.

No i Linux to byłby za duży "szok kulturowy".
Re: Irq
#308428
Author: Wiktor S.
Date: Tue, 19 Apr 2016 10:43
9 lines
1444 bytes
> Jest szansa że da się z płytą główną z ISA - są takie,
> specjalnie produkowane dla zastosowań przemysłowych.

Słyszałem że z kompatybilnością tego ISA ze starym ISA w dawnych płytach 
głównych słabo jest.
Ale nie wiem ile w tym prawdy.

-- 
Wiktor S.
Re: Irq
#308442
Author: Wojciech Muła
Date: Sun, 24 Apr 2016 18:09
20 lines
1936 bytes
On Friday, April 15, 2016 at 5:44:46 PM UTC+2, slawek wrote:
> Ale... Jak napisać IRQ handler jako funkcję w C siedzącą sobie np. w 
> DLL

Nie ma czegoś takiego, musisz mieć sterownik.

>i nie wdepnąć w Vxd/Wdm i ogólnie cały ten syf?

Nie da się. Albo pracujesz na poziomie sprzętu, albo jesteś za API OSa.

> A żeby nie było 
> za łatwo, to musi się dać zrobić w GCC, zaś pracować na Windows 95.

Jeszcze se majtki przez głowę załóż. :)
MS dawał (nie wiem jak teraz) cały SDK, łącznie z kompilatorem.

Pisałem taki sterownik dla Windowsa 7. Dużo grzebania, dużo problemów,
w końcu daliśmy sobie spokój.

w.
Re: Irq
#308443
Author: slawek
Date: Mon, 25 Apr 2016 07:29
7 lines
1297 bytes
On Sun, 24 Apr 2016 11:09:49 -0700 (PDT), Wojciech 
Muła<wojciech_mula@poczta.onet.pl> wrote:
> MS dawał (nie wiem jak teraz) cały SDK, łącznie z kompilatorem.

Tyle że kompilator MS nie jest. Nie jest zgodny z C99. Nie robi PE 
zgodnych z 98. I nie jest open. I nie SDK, ale DDK. Ale teraz to nie 
DDK. I tyle.
Re: Irq
#308429
Author: Adam Wysocki
Date: Wed, 27 Apr 2016 12:45
11 lines
1476 bytes
Sebastian Biały <heby@poczta.onet.pl> wrote:

> Ale tutaj kazali ten syf wyp... producenci hardware pecetów. Trzeba się 
> dostosować. Nie tak dawno oglądalem jeszcze zabytkowego XT sterującego 
> duża obrabiarką. Za sprawny egzemplarz i jego dostosowanie zapłacono 
> parenascie tyś a i tak się spieprzył po roku nie licząc codziennych awarii.

Dlaczego? To przecież nie jest awaryjny sprzęt.

-- 
http://www.chmurka.net/
Re: Irq
#308430
Author: Sebastian Biały
Date: Wed, 27 Apr 2016 15:29
23 lines
2552 bytes
On 2016-04-27 14:45, Adam Wysocki wrote:
>> Ale tutaj kazali ten syf wyp... producenci hardware pecetów. Trzeba się
>> dostosować. Nie tak dawno oglądalem jeszcze zabytkowego XT sterującego
>> duża obrabiarką. Za sprawny egzemplarz i jego dostosowanie zapłacono
>> parenascie tyś a i tak się spieprzył po roku nie licząc codziennych awarii.
> Dlaczego? To przecież nie jest awaryjny sprzęt.

Serio? W komputerach tego typu stosowano powszechnie akumulatory do 
biosu. Jego wylanie kończyło się wyparowaniem kilku cm2 ścieżek. 
Powszechne były podstawki (miernej jakości) pod układy scalone które 
gubily kontakt albo wrecz scalaki wypadały (wibracje). Dyski padały z 
przyczyn trudnych do okreslenia (w MFM u mnie na ten przykład zerwało 
pasek metalowy do przemieszczania głowicy, koledze wyparowało uzwojenie 
w silniku krokowym, gdzies slyszałem o talerzu który pękł na pół bez 
większego powodu). I spróbuj nie zaparkować głowicy! Powszechne było 
gubienie kontaktu z kartami ISA. W zasilaczach kondensatory wysychały na 
pieprz. Coś nie działało i nie było jasne dlaczego (kiedyś znalazłem 
przypadkiem uszkodzony chip pamięci który przestawał działać powyżej 
jakiejś temperatury lub pod wpływem naprężenia).

Etam, Panie. XT może i śliczny zabytek, ale na rany koguta, nie do 
sterowania obrabiarką gdzie każdy pad oznacza wjechanie pół metra frezem 
w przedmiot!
Re: Irq
#308431
Author: Mateusz Viste
Date: Wed, 27 Apr 2016 16:47
32 lines
2937 bytes
Wszystko się zgadza, ale z drugiej strony to trochę jak dawne samochody: 
te, którym udało się przeżyć do dziś są już zaprawione w boju i raczej 
"ot tak sobie" nie padną :) Mam u siebie kilka takich niedobitków i 
wszystkie działają bardzo sprawnie (uczciwie muszę jednak przyznać że 
dyski dawno poumierały i zostały wymienione na karty CompactFlash).

Jedyne ryzyko to że faktycznie akumulatorek-bomba-zegarowa wyleje... Ja 
te draństwa od razu wylutowuję jak tylko wpadnie mi w ręce płyta 386/486 
która jakimś cudem jeszcze się uchowała.

Mateusz



On 27/04/2016 17:29, Sebastian Biały wrote:
> Serio? W komputerach tego typu stosowano powszechnie akumulatory do
> biosu. Jego wylanie kończyło się wyparowaniem kilku cm2 ścieżek.
> Powszechne były podstawki (miernej jakości) pod układy scalone które
> gubily kontakt albo wrecz scalaki wypadały (wibracje). Dyski padały z
> przyczyn trudnych do okreslenia (w MFM u mnie na ten przykład zerwało
> pasek metalowy do przemieszczania głowicy, koledze wyparowało uzwojenie
> w silniku krokowym, gdzies slyszałem o talerzu który pękł na pół bez
> większego powodu). I spróbuj nie zaparkować głowicy! Powszechne było
> gubienie kontaktu z kartami ISA. W zasilaczach kondensatory wysychały na
> pieprz. Coś nie działało i nie było jasne dlaczego (kiedyś znalazłem
> przypadkiem uszkodzony chip pamięci który przestawał działać powyżej
> jakiejś temperatury lub pod wpływem naprężenia).
>
> Etam, Panie. XT może i śliczny zabytek, ale na rany koguta, nie do
> sterowania obrabiarką gdzie każdy pad oznacza wjechanie pół metra frezem
> w przedmiot!
>
Re: Irq
#308432
Author: Sebastian Biały
Date: Wed, 27 Apr 2016 17:27
22 lines
2516 bytes
On 2016-04-27 18:47, Mateusz Viste wrote:
> Wszystko się zgadza, ale z drugiej strony to trochę jak dawne samochody:
> te, którym udało się przeżyć do dziś są już zaprawione w boju i raczej
> "ot tak sobie" nie padną :)

Oczywiście że padną. W omawianym przypadku "naprawiony" "nowy" komputer 
miał bezustanne problemy w kontakcie z kartą ISA. Ponieważ tak się 
składa że akuratnie byłem przy tym to widzialem w jakim stanie są 
gniazda. Zasugerowałem przylutowanie paru drutów (ISA 8bit) bo 
wylutowanie gniazda zapewne skończyło by się rozwarstwieniem pcb. Ale 
ponieważ karta była konsekrowana to nic nie dalo się zrobić poza 
lamentowaniem. Czyścili ją co tydzień spirytusem bo naciąganie styków 
niewiele dawało przy wibracjach. Rok później dowiedziałem sie ze kupili 
inną maszynę cnc. Miejmy nadzieje że nie z karta na VESA Local Bus...

PS. Podobno serwisant brał coś koło 5 stów za godzinę. Nie dziwie się, 
ja nie pamietam już gdzie znaleźć dyskietki 5.25 z instalką PC-DOSa. Tak 
że faktycznie, XTki całkiem nieźle sie nadają.

PS2. Pentiuma z ISA nie można było użyć. Soft też był konsekrowany i nie 
działał z niczym >286 bo za szybkie. Religijność jest dośc istotnym 
elementem konserwatywnej automatyki przemysłowej.
Re: Irq
#308433
Author: Mateusz Viste
Date: Wed, 27 Apr 2016 18:06
11 lines
1785 bytes
On 27/04/2016 19:27, Sebastian Biały wrote:
> Oczywiście że padną. W omawianym przypadku "naprawiony" "nowy" komputer
> miał bezustanne problemy w kontakcie z kartą ISA (...)bo naciąganie styków
> niewiele dawało przy wibracjach.

mmmm... wibracje - to zaiste może zmienić postać rzeczy. Nie miałem 
nigdy okazji pracować przy takich warunkach. Z ciekawości (prawdziwej!) 
zapytam: czy nowsze technologie kart kontaktowych typu PCI / PCI-X / 
PCI-Express sprawują się w takich warunkach lepiej?

Mateusz
Re: Irq
#308434
Author: Sebastian Biały
Date: Wed, 27 Apr 2016 18:36
9 lines
1760 bytes
On 2016-04-27 20:06, Mateusz Viste wrote:
> mmmm... wibracje - to zaiste może zmienić postać rzeczy. Nie miałem
> nigdy okazji pracować przy takich warunkach. Z ciekawości (prawdziwej!)
> zapytam: czy nowsze technologie kart kontaktowych typu PCI / PCI-X /
> PCI-Express sprawują się w takich warunkach lepiej?

Wątpie, przeciez mechanika podobna. Ale tutaj miałeś do czynienia z 
płyta główną XT zamontowaną w *pulpicie* zintegrowanym z korpusem 
maszyny. Bład konstrukcyjny raczej.
Re: Irq
#308435
Author: Adam Wysocki
Date: Thu, 28 Apr 2016 08:41
17 lines
2035 bytes
Sebastian Biały <heby@poczta.onet.pl> wrote:

> Oczywiście że padną. W omawianym przypadku "naprawiony" "nowy" komputer 
> miał bezustanne problemy w kontakcie z kartą ISA. Ponieważ tak się 
> składa że akuratnie byłem przy tym to widzialem w jakim stanie są 
> gniazda. Zasugerowałem przylutowanie paru drutów (ISA 8bit) bo 
> wylutowanie gniazda zapewne skończyło by się rozwarstwieniem pcb. Ale 
> ponieważ karta była konsekrowana to nic nie dalo się zrobić poza 
> lamentowaniem. Czyścili ją co tydzień spirytusem bo naciąganie styków 
> niewiele dawało przy wibracjach. Rok później dowiedziałem sie ze kupili 
> inną maszynę cnc. Miejmy nadzieje że nie z karta na VESA Local Bus...

A nie pomogłoby przylutowanie na drutach dodatkowego gniazda ISA i 
włożenie do niego karty?

-- 
http://www.chmurka.net/
Re: Irq
#308437
Author: Adam Wysocki
Date: Thu, 28 Apr 2016 08:49
56 lines
3303 bytes
Sebastian Biały <heby@poczta.onet.pl> wrote:

>> Dlaczego? To przecież nie jest awaryjny sprzęt.
> 
> Serio? W komputerach tego typu stosowano powszechnie akumulatory do 
> biosu. Jego wylanie kończyło się wyparowaniem kilku cm2 ścieżek. 

Ok, akumulatory to swoją drogą.

> Powszechne były podstawki (miernej jakości) pod układy scalone które 
> gubily kontakt albo wrecz scalaki wypadały (wibracje).

Hmm, nigdy nie używałem XT w takim środowisku. Jeżeli tak było, to 
rzeczywiście kiepsko.

> Dyski padały z przyczyn trudnych do okreslenia

Tak, dyski to zupełnie osobny temat :) Raczej wyobrażałem sobie XT z 
jakimś współczesnym storage (pewnie dałoby się podpiąć kartę CF przez 
interfejs IDE i do "aiołki", ja bootowałem XT z sieci przez kartę sieciową 
z bootromem).

> (w MFM u mnie na ten przykład zerwało pasek metalowy do przemieszczania 
> głowicy, koledze wyparowało uzwojenie w silniku krokowym, gdzies 
> slyszałem o talerzu który pękł na pół bez większego powodu).

To prawda, tamte dyski były mocno awaryjne...

> I spróbuj nie zaparkować głowicy!

To też pamiętam :) park.exe. Odpowiednik "można teraz bezpiecznie wyłączyć 
komputer" :)

> Powszechne było gubienie kontaktu z kartami ISA.

Mi się to nigdy nie zdarzyło, jeżeli karta była przykręcona... zresztą ISA 
miała to do siebie, że od biedy można było nawet zrobić hotplug i jeżeli 
karta nie miała BIOS-u, który musiał być odpalony, żeby ją 
zainicjalizować, to to działało.

> W zasilaczach kondensatory wysychały na pieprz.

Mam jeszcze jakiś zasilacz AT... ciekawe czy działa :)

> Etam, Panie. XT może i śliczny zabytek, ale na rany koguta, nie do 
> sterowania obrabiarką gdzie każdy pad oznacza wjechanie pół metra frezem 
> w przedmiot!

Przede wszystkim powinno być zabezpieczenie sprzętowe przed takim 
wjechaniem pół metra frezem w przedmiot... w jaki sposób ten XT sterował 
tą obrabiarką? Generował impulsy "step"? Pamiętam że XT (AT zresztą też) 
najczęściej przy jakiejś awarii po prostu się zawieszało, freeze na 
amen...

-- 
http://www.chmurka.net/
Re: Irq
#308444
Author: (fir)
Date: Thu, 28 Apr 2016 14:56
29 lines
3959 bytes
W dniu piątek, 15 kwietnia 2016 17:44:46 UTC+2 użytkownik slawek napisał:
> Jest kawałek złomu w ISA, ma rejestry dostępne przez in/out, może 
> generować np. IRQ 5 czy jakieś tam.
> 
> Problem w tym, że rejestry trzeba odczytywać co 1 ms. Aplikacja MS 
> Windows nie wyrabia się: czasem przez kilka ms system nie dopuszcza 
> jej do głosu. IRQ teoretycznie po to jest.
> 

tak naprawde np gdy ja pisze apki pod winapi to nie zauwazylem czegos takiego 
by sie nie wyrabial, - co prawda moje apki (prototypy) typowo nie pracuja w krokach 1 ms tylko raczej 15 ms ale jak prawie nie c nie ma na scenie to 0.3-1ms tez wydaje sie plynnie kręcic (przy czym w kazdym kroku robie zdanie i wolam kolejke komunikatow) - jakies szumy zapewne sa ale w mniejszej skali - raczej powiedzialbym ze nawet jesli te api mialyby np migac regularnie jakas diodą z czestotliwoscia 1 kHz na czas X to to sie uda ze wzglednie spora dokladnoscią

- pytanie z dokladnie jaką jest nawet jako tako ciekawe, co do okresu to nei jest wykluczone ze mozna tym sterowac z dokladnoscią co do cyklu (czyli mniej niz nanosekunda) co do czestotliwosci to nie wiem, nie wiem czy da sie np wywalic pompe 
i zapewnic by watek byl dokladnie nieruszany - na dwurdzeniakach byc 
moze sie da po prostu tworzac proces z jakims twardym priorytetem, a ajak wspomnielem nawet na jednordzeniaku i z pompą akurat w skali 1 ms moze to sie krecic plynnie (o ile sie nie właczy itunesa i nie chce sie sluchac muzyki czy ogladac filmu w tym samym czasie)

Tak ze te kwestia plynnosci nie jest byc moze tak zle jak mi sie kiedys byc moze wydawalo, tyleko trzeba troche o to byc moze nieco zadbac, w winapi nie ma oiw vsynca, dokladnie moze nei byc wiadomo ak input jest probkowany ile zajmie to przerobienie eventów,sa rozne sprzety itp - ale z tego co obserwuje to zwykly proces ktory wola regularnie message pump a w tle nie sa odpalane jakies ciezsze programy nie jest wywlaszczany i dziala raczej plynnie

Ostatnio gram na facebuku w gre zdaje sie flashową - fruit puzzle i nawet ta flashowa giera dziala calkiem plynnie (plynnosc jest mozna wspomniec jakby krewną szybkosci)

wiecej nie wiem o tych tematach warto by cos poczytac jakby ktos znal jakies linki na te tematy to chetnie bym sie nawet glebiej wczytal w te kwestie





> Ale... Jak napisać IRQ handler jako funkcję w C siedzącą sobie np. w 
> DLL i nie wdepnąć w Vxd/Wdm i ogólnie cały ten syf? A żeby nie było 
> za łatwo, to musi się dać zrobić w GCC, zaś pracować na Windows 95.
Re: Irq
#308445
Author: slawek
Date: Thu, 28 Apr 2016 16:31
9 lines
1312 bytes
On Thu, 28 Apr 2016 07:56:14 -0700 (PDT), "(fir)" 
<profesor.fir@gmail.com> wrote:
> by sie nie wyrabial, - co prawda moje apki (prototypy) typowo nie 
pracuja w=
>  krokach 1 ms tylko raczej 15 ms ale jak prawie nie c nie ma na 
scenie to 0=

Primo, to 98-ka. Secundo, przy około 10 ms jest ok,   problemy są dla 
1 ms.
Re: Irq
#308436
Author: Sebastian Biały
Date: Thu, 28 Apr 2016 19:12
10 lines
1785 bytes
On 2016-04-28 10:41, Adam Wysocki wrote:
> A nie pomogłoby przylutowanie na drutach dodatkowego gniazda ISA i
> włożenie do niego karty?

Bo ja wiem. Jesli rozmawiasz z ludzimi którzy kartę zrobioną ręcznie 
pisakiem ze stadem TTLi uważają za świętą i nie wolni nic z nia zrobić 
to takie rozwiązanie może być nieakceptowalne z powodów 
garniturowo-certyfikacyjnych. Wiesz, miałem to zaobaczyć żeby coś 
doradzić. Doradziłem. Podziękowali. Tyle. Ale dowiedziałem się sporo o 
automatyzacji w małych firmach.
Re: Irq
#308438
Author: Sebastian Biały
Date: Thu, 28 Apr 2016 19:34
67 lines
4596 bytes
On 2016-04-28 10:49, Adam Wysocki wrote:
> Tak, dyski to zupełnie osobny temat :) Raczej wyobrażałem sobie XT z
> jakimś współczesnym storage (pewnie dałoby się podpiąć kartę CF przez
> interfejs IDE i do "aiołki", ja bootowałem XT z sieci przez kartę sieciową
> z bootromem).

To jest dośc czesto powazny kłopot zabootować XT z czegoś innego niz 
karta MFM ponieważ nie ma zazwyczaj w biosie nic do obsługi IDE. Co 
prawda bywały *podobno* karty ISA 16bit -> IDE z własną pamięcią ROM ale 
nigdy nie spotkałem. Zazwyczaj IDE na ISA było dodatkiem do karty 
muzycznej :/ Przyznaje że troche za mlody byłem wtedy aby to dokładnie 
śledzić, ja Amigowiec jestem.

>> Powszechne było gubienie kontaktu z kartami ISA.
> Mi się to nigdy nie zdarzyło, jeżeli karta była przykręcona...

Wibracje powodowały ze karta wykrzywiała się w slocie, wypadając z 
jednej strony (ciężka była, to coś było pełnej długości). Widziałem to 
raz na jakiś czas w róznych miejscach, czasami wibracja oznaczała 
niewiele więcej jak WF piętro wyżej z piłkami lekarskimi co powodowało 
podskakiwanie komputerów na biurkach w pracowni. Wyskakujące karty ze 
slotów były *jakimś* problemem, choć nie wiem czy dużym.

Niektóre obudowy miały dodatkowe mocowania po drugiej stronie, ale ta od 
obrabiarki nie. Nie pomoglo by bo tam były styki wyrobione i dociskanie 
niewiele zmieniało.

> zresztą ISA
> miała to do siebie, że od biedy można było nawet zrobić hotplug i jeżeli
> karta nie miała BIOS-u, który musiał być odpalony, żeby ją
> zainicjalizować, to to działało.

Tutaj problemem jest jednak fakt ze jak karta wyskakiwała na milisekundę 
z objęc slotu to frez lądował pół metra dalej niż chciano zanim walnął w 
krańcowkę bo soft zawieszał się w jakiś pętlach.

> Przede wszystkim powinno być zabezpieczenie sprzętowe przed takim
> wjechaniem pół metra frezem w przedmiot...

Nie jest. Karta o ile mogłem to ocenić po rzucie oka samoczynnie (na 
ttlach!) liczyla kroki enkodera. Jesli w miedzyczasie padł program to 
sobie liczyła dalej pchając silnik. To prosta obrabiarka (do planowania 
powierzchni obudów) ale wjechanie frezem za daleko powodowało czesto 
ścięcie mocowan ktorych planowac nie chcieli :)

> w jaki sposób ten XT sterował
> tą obrabiarką? Generował impulsy "step"?

Nie, nie miałem czasu temu się przyglądać ale silniki liniowe i 
enkodery. Całość sterowania uwzględniającego inercje wrzeciona była w 
sofcie. On tylko mówił: do przodu z taką prędkością i czekal na 
przerwanie (zgaduje sadzac po awariach i nogach na karcie).

> Pamiętam że XT (AT zresztą też)
> najczęściej przy jakiejś awarii po prostu się zawieszało, freeze na
> amen...

No tak, ale karta pchała silnikiem dalej.

Widzisz, karta to samoróbka zrobiona na kawalku (dużym) pcb, 
prawdopodobnie pisakiem, choć ładnie. Coś koło 30 scalaków ttl i jakiś 
gal czy coś. Obejrzałem mechanikę i wyczaiłem silniki liniowe i enkodery 
kwadraturowe. Ide o zakład ze po 3 dniach sam na sam z maszyną mam 
gotowy sterownik na AVR/Whatever (układy wykonawcze dużej mocy 
zostawały), to była bardzo prosta maszyna, tylko XZ i załaczanie 
wrzeciona. Ale nie byłem w stanie go konsekrować więc odpadło 
natychmiast. Kupili podobno inna maszynę.
Re: Irq
#308439
Author: Adam Wysocki
Date: Fri, 29 Apr 2016 13:37
58 lines
3705 bytes
Sebastian Biały <heby@poczta.onet.pl> wrote:

>> Tak, dyski to zupełnie osobny temat :) Raczej wyobrażałem sobie XT z
>> jakimś współczesnym storage (pewnie dałoby się podpiąć kartę CF przez
>> interfejs IDE i do "aiołki", ja bootowałem XT z sieci przez kartę sieciową
>> z bootromem).
> 
> To jest dośc czesto powazny kłopot zabootować XT z czegoś innego niz 
> karta MFM ponieważ nie ma zazwyczaj w biosie nic do obsługi IDE.

Hmm, to może emulator stacji dyskietek?

> prawda bywały *podobno* karty ISA 16bit -> IDE z własną pamięcią ROM ale 
> nigdy nie spotkałem. Zazwyczaj IDE na ISA było dodatkiem do karty 
> muzycznej :/ Przyznaje że troche za mlody byłem wtedy aby to dokładnie 
> śledzić, ja Amigowiec jestem.

Nigdy nie widziałem takiej karty muzycznej (co nie znaczy że nie 
istniały)... ale ja zacząłem od 286 (czyli już AT), XT zdobyłem 
później (i mam płytę do dziś), już jako relikt przeszłości.

> Wibracje powodowały ze karta wykrzywiała się w slocie, wypadając z 
> jednej strony (ciężka była, to coś było pełnej długości).

No tak... kartę pełnej długości miałem (nadal gdzieś mam) tylko jedną - 
Hercules zrobiony na TTL-ach :)

> Tutaj problemem jest jednak fakt ze jak karta wyskakiwała na milisekundę 
> z objęc slotu to frez lądował pół metra dalej niż chciano zanim walnął w 
> krańcowkę bo soft zawieszał się w jakiś pętlach.

Czyli rzecz do poprawienia w sofcie... jeżeli jego twórca jeszcze żyje :)

>> Przede wszystkim powinno być zabezpieczenie sprzętowe przed takim
>> wjechaniem pół metra frezem w przedmiot...
> 
> Nie jest. Karta o ile mogłem to ocenić po rzucie oka samoczynnie (na 
> ttlach!) liczyla kroki enkodera. Jesli w miedzyczasie padł program to 
> sobie liczyła dalej pchając silnik.

Czyli błąd projektowy :(

>> w jaki sposób ten XT sterował tą obrabiarką? Generował impulsy "step"?
> 
> Nie, nie miałem czasu temu się przyglądać ale silniki liniowe i 
> enkodery. Całość sterowania uwzględniającego inercje wrzeciona była w 
> sofcie. On tylko mówił: do przodu z taką prędkością i czekal na 
> przerwanie (zgaduje sadzac po awariach i nogach na karcie).

Hmm, i po tym przerwaniu mówił "ok, teraz stop", a jeżeli coś się rozpięło 
na tą milisekundę, to już nie mówił?

> No tak, ale karta pchała silnikiem dalej.

Jeżeli impulsy generuje karta, to rzeczywiście...

-- 
http://www.chmurka.net/
Re: Irq
#308446
Author: (fir)
Date: Fri, 29 Apr 2016 16:28
3 lines
1798 bytes
co do 98 to mnie spadek dosu jakos nie interesuje, (choć prawda jest chyba taka ze
interesujace jest wszystko o czyms a interesujace teksty - z tymi tekstami jest jednak ten problem ze trzeba sie wczesniej do nich dogrzebać)
Re: Irq
#308440
Author: Sebastian Biały
Date: Fri, 29 Apr 2016 17:59
52 lines
3953 bytes
On 2016-04-29 15:37, Adam Wysocki wrote:
>> To jest dośc czesto powazny kłopot zabootować XT z czegoś innego niz
>> karta MFM ponieważ nie ma zazwyczaj w biosie nic do obsługi IDE.
> Hmm, to może emulator stacji dyskietek?

Owszem, ale to upierdliwe jest z racji pojemności i czasu dostępu.

Do przemysłowych 386/486 widziałem kiedyś kartę na isa która zawierała 
tylko eeprom/flash i była zastepnikiem BIOSu raze z softem. Ale to było 
wbrew pozorom nowoczesne rozwiązanie z XXI wieku.

>> Tutaj problemem jest jednak fakt ze jak karta wyskakiwała na milisekundę
>> z objęc slotu to frez lądował pół metra dalej niż chciano zanim walnął w
>> krańcowkę bo soft zawieszał się w jakiś pętlach.
> Czyli rzecz do poprawienia w sofcie... jeżeli jego twórca jeszcze żyje :)

Z opowiesci wiem że maszyna była kupiona ze złomu z byłej NDR. O 
autorach elektroniki nic nie wiadomo, autorem softu był syn poprzedniego 
właściciela. Kupili jak stało i przez wiele lat pracowała aż się popsuła 
i potem lawina.

>> Nie jest. Karta o ile mogłem to ocenić po rzucie oka samoczynnie (na
>> ttlach!) liczyla kroki enkodera. Jesli w miedzyczasie padł program to
>> sobie liczyła dalej pchając silnik.
> Czyli błąd projektowy :(

Czy ja wiem. Jeśli calośc chodzi zgodnie z założeniami to raczej nie ma 
problemu.

>> Nie, nie miałem czasu temu się przyglądać ale silniki liniowe i
>> enkodery. Całość sterowania uwzględniającego inercje wrzeciona była w
>> sofcie. On tylko mówił: do przodu z taką prędkością i czekal na
>> przerwanie (zgaduje sadzac po awariach i nogach na karcie).
> Hmm, i po tym przerwaniu mówił "ok, teraz stop", a jeżeli coś się rozpięło
> na tą milisekundę, to już nie mówił?

To ugrzązł pewno w jakiejś pętli czekając na jakiś ack którego już nie 
będzie. Nic nie wiem o softcie poza tym że był napisany bardzo 
niskopoziomowo i przerabiał komputer na mikrokontroler.

>> No tak, ale karta pchała silnikiem dalej.
> Jeżeli impulsy generuje karta, to rzeczywiście...

Nie tyle impulsy co software załaczał silnik i czekał aż liczniki 
osiągną wartośc spodziewaną. Elektronika mimo ilości TTLi była raczej 
prymitywna i głównie obrabiała sygnał kwadraturowy z enkoderów. 
Komparatorów nie zauwazyłem dlatego spodziewam się raczej ze to soft 
robił komparacje na przerwaniu lub pollingu. To była wolna maszyna i ona 
tylko planowała z grubsza gotowy element. Nie ma potrzeby super 
precyzji, chodzi o to żeby nie wyjechac za daleko bo scinała elementy 
których sie nie planuje. To jakieś obudowy urzadzeń stosowanych w 
górnictwie czy coś.
Re: Irq
#308441
Author: Adam Wysocki
Date: Wed, 18 May 2016 14:28
45 lines
3436 bytes
Sebastian Biały <heby@poczta.onet.pl> wrote:

>>> To jest dośc czesto powazny kłopot zabootować XT z czegoś innego niz
>>> karta MFM ponieważ nie ma zazwyczaj w biosie nic do obsługi IDE.
>> Hmm, to może emulator stacji dyskietek?
> 
> Owszem, ale to upierdliwe jest z racji pojemności i czasu dostępu.

Zabootować bootloader (lub nawet bootloader + kernel), który dociągnie 
resztę skąd inąd...

> Do przemysłowych 386/486 widziałem kiedyś kartę na isa która zawierała 
> tylko eeprom/flash i była zastepnikiem BIOSu raze z softem. Ale to było 
> wbrew pozorom nowoczesne rozwiązanie z XXI wieku.

Po co zastępować BIOS i czemu kartą - nie lepiej wymienić oryginalną kość?

>>> Nie jest. Karta o ile mogłem to ocenić po rzucie oka samoczynnie (na
>>> ttlach!) liczyla kroki enkodera. Jesli w miedzyczasie padł program to
>>> sobie liczyła dalej pchając silnik.
>> Czyli błąd projektowy :(
> 
> Czy ja wiem. Jeśli calośc chodzi zgodnie z założeniami to raczej nie ma 
> problemu.

Tyle że nie jest zaprojektowane zgodnie z zasadą fail-safe. Soft może się 
zawiesić z wielu różnych powodów...

>> Hmm, i po tym przerwaniu mówił "ok, teraz stop", a jeżeli coś się rozpięło
>> na tą milisekundę, to już nie mówił?
> 
> To ugrzązł pewno w jakiejś pętli czekając na jakiś ack którego już nie 
> będzie.

No tak, i żadnych timeoutów, bo po co.

> Nie tyle impulsy co software załaczał silnik i czekał aż liczniki 
> osiągną wartośc spodziewaną.

O ile lepiej byłoby, gdyby software wpisywał do liczników wartość 
początkową, a karta zmniejszałaby ją i zatrzymywała silnik, gdy 
osiągną zero...

-- 
http://www.chmurka.net/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads