[C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Tutaj umieszczamy tematy związane z językami programowania niepasującymi do innych działów.
Regulamin forum
Temat prosimy poprzedzić nazwą języka umieszczonego w nawiasach kwadratowych np. [Pascal].
Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

[C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » poniedziałek 22 maja 2017, 17:08

#slowanawiatr

Żadna to tajemnica, że zadbany i dobrze skonfigurowany system Windows XP jest bardzo wdzięczną platformą uruchomieniową.
Możliwe, że czasy jego świetności jakoś ostatnio minęły, nie zmienia to faktu że dla starszego sprzętu (który nie uniesie nowości od Microsoft) to dobra, a czasem wręcz jedyna alternatywa. Dodatkowo zauważmy, że stare płyty ze złączami ISA to idealny materiał rozwojowy - amatorskie karty są proste w konstrukcji, a nawet wbudowane peryferia jak wspomniany LPT dają spore pole do popisu.
No i właśnie o tym traktuje mały artykulik, do którego lektury zapraszam:

:arrow: http://bienata.waw.pl/lpt-xp.php
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » poniedziałek 22 maja 2017, 19:07

GiveIO, cenny program, a powyższy tutorial jeszcze cenniejszy.

Jakby dobrze poszperać, to da się jeszcze zdobyć jakiegoś złoma (płyta główna) ze złączem ISA, co to pojedzie pod windozą 95 lub lepszą NT/XP. Mogąc grzebać spod windozy po sprzęcie, to co nas hamuje od zbudowaniem prostej karty do złącza ISA. Taka konstrukcja jest prosta, jak ... budowa cepa. Ale o paru rzeczach trzeba wiedzieć, więc może pora odczarować jak to się robi na prostym przykładzie.

Prosta karta do komputera PC ze złączem ISA

Projektowanie kart rozszerzeń dla komputerów PC z użyciem złącza ISA niewiele różni się od typowego konstruowania systemów mikroprocesorowych, w których występują rejestry oraz pamięci znajdujące się w przestrzeni adresowej mikroprocesora (mikrokontrolera). Na złączu ISA występują wszystkie niezbędne sygnał pozwalające dołączyć budowane zespoły do przestrzeni adresowej komputera PC. Samo złącze ma następujący rozkład wyprowadzeń (rysunek 1).
isa2_card-i01.png
Wykorzystując szynę danych (sygnały D0 .. D7), szynę adresową (sygnały A0 .. A9), sygnały sterujące (-IOR, -IOW, AEN) można zbudować prostą kartę [tu istotna uwaga, dekoder ma zadziałać dla AEN=0; AEN=1 oznacza, że adres nie jest wystawiony przez procesor] . Przykładowa karta będzie zawierała jeden rejestr ośmiobitowy (U202, 74LS574, rysunek 5), którego stan będzie zobrazowany poprzez diody świecące LED (D201 do D208, rysunek 6). Do sterowania diodami zostanie wykorzystany układ ULN2803 (U203, rysunek 5). Rejestr (U202) jest odseparowany od szyny danych układem 74LS245 (U201, rysunek 5). Sterowania dla rejestru oraz łącznika trójstanowego są wypracowane przez dekoder adresowy zbudowany na bazie układu 74LS08 (U204, rysunek 5) oraz 74LS138 (U205, rysunek 5). Prototyp karty w wersji eksperymentalnej jest pokazany na rysunku 2).
isa2_card-i02.jpg
Do połączenia tak utworzonej karty z komputerem użyty jest “fragment z przedłużacza do kart” (rysunek 3).
isa2_card-i03.jpg
Schemat karty przedstawia rysunek 4, dekoder adresowy oraz tor danych przedstawia rysunek 5 oraz 6. W kartach ISA do dekodowania adresu w przestrzeni wejścia/wyjścia (nie pamięci) używane są linie adresowe od A0 do A9 (pomimo, że sam mikroprocesor jest w stanie wystawić pełny 16-bitowy adres).
isa2_card-i04.png
isa2_card-i05.png
isa2_card-i06.png
Jak można zauważyć, dekoder adresowy reaguje na instrukcje operujące w przestrzeni adresowej wejścia/wyjścia mikroprocesora (w dekoderze użyte są sygnały -IOR [input/output read] oraz -IOW [input/output write], co implikuje użycie w programie instrukcji języka assembler in oraz out, lub w językach wyższego poziomu instrukcji o identycznej funkcjonalności; w języku TURBO PASCAL jest wygląda to jak zapis do tablicy o nazwie port, której indeksem jest adres portu jako liczba 16-bitowa). W przypadku prezentowanej karty można pominąć sterowanie -IOR ponieważ rejestr (74LS574) jest wyłącznie do zapisu i nie ma technicznej możliwości wczytania jego stanu, ale w większości wypadków zachodzi potrzeba stworzenia takiego rozwiązania, które zapewnia zapis oraz odczyt rejestrów zawartych na projektowanej karcie. Jak widać na rysunku 5, sygnał wyboru (chip select) generowany jest w sytuacji gdy:
  • wejścia A (wyprowadzenie 1) jest w stanie wysokim,
  • wejście B (wyprowadzenie 2) jest w stanie wysokim,
  • wejście C (wyprowadzenie 3) jest w stanie wysokim,
  • wejście G1 (wyprowadzenie 6) jest w stanie wysokim,
  • wejście G2A (wyprowadzenie 4) jest w stanie niskim,
  • wejście G2B (wyprowadzenie 5) jest w stanie niskim.
Wejście G2B jest sterowane sygnałem AEN (ze złącza ISA), który jest aktywny stanem niskim (dekoder ma zadziałać jeżeli AEN=0 – adres na szynie danych jest ważny). Wejście G2A jest wysterowane wyjściem bramki 74LS08 (wyjście jest w stanie niskim jeżeli -IOR=0 [odczyt] lub -IOW=0 [zapis]). Wejście G1 będzie w stanie wysokim jeżeli A4=1 i A5=1. Wejście C będzie w stanie wysokim jeżeli A6=1 i A7=1. Wejście B jest w stanie wysokim jeżeli A8=1 i A9=1.Wejście A jest w stanie wysokim jeżeli A3=1. Linie adresowe A0 do A2 nie biorą udziału w dekodowaniu adresu. Często zdarza się, że na karcie znajduje się programowalny kontroler (przykładowo może być to popularny układ 8255), który w sobie zawiera kilka rejestrów (z punktu widzenia programu jest widziany jako kilka komórek na kolejnych adresach przestrzeni). Z tego powodu generator sygnału wyboru powinien aktywować rejestry dla grupy adresów. W prezentowanym rozwiązaniu dekoder adresowy aktywuje rejestr w przypadku:
  • A9=1,
  • A8=1,
  • A7=1,
  • A6=1,
  • A5=1,
  • A4=1,
  • A3=1,
  • A2=<nieistotne>,
  • A1=<nieistotne>,
  • A0=<nieistotne>.
W zapisie szesnastkowym są to adresy z przedziału 3F8 do 3FF. Ponieważ w komputerze na tym adresie występuje kontroler transmisji szeregowej (COM), w trakcie prób był od odłączony (zworka na standardowej karcie MULTI IO). Można było wybrać inny adres, ale w przypadku dekodowania adresu zawierającego dużo jedynek (właściwie same jedynki), realizacja dekodera adresowego staje się prosta. Nie jest to jedyne rozwiązanie dekodera adresowego i można zaproponować wiele innych rozwiązań. Dużą swobodę w wyborze adresu daje zastosowanie komparatora (przykładowo komparator liczb 8-bitowych), który porównuje stan szyny adresowej (adresy A2 do A9) ze stanem ustawianym przez 8-bitowy dipswitch. Wykrycie stanu zgodności aktywowałoby rejestry do pracy.
isa2_card-i07.jpg
Do obsługi rejestru znajdującego się na prototypowej karcie ISA został napisany krótki program w języku PASCAL (TURBO PASCAL w wersji DOS). Program w pętli zapisuje do rejestru kolejno zwiększane o jeden liczby 8-bitowe. Częstotliwość zapisów jest “taktowana” przez klawiaturę. By było widać efekty pracy programu, akcje należy znacząco zwolnić. Do tego celu jest użyta klawiatura. Naciśnięcie dowolnego klawisza (na klawisz 'x' program kończy pracę) powoduje wykonanie jednego cyklu pętli. Jeżeli przytrzymać wciśnięty klawisz, to z taktem autorepetycji klawiatury, do rejestru będą wpisywane kolejne liczby.

Kod: Zaznacz cały

program isa;

  uses Crt ;

var
  counter : BYTE ;
  key : char ;
begin
  clrscr ;
  counter := 0 ;
  repeat
    port [ $3ff ] := counter ;
    writeln ( counter ) ;
    key := readkey ;
    counter := counter + 1 ;
  until key = 'x' ;
end.

Samodzielną obsługę programową własnych kart należy rozpatrywać w dwóch aspektach:
  • oprogramowanie uruchamiane w środowiskach systemów operacyjnych bez ochrony zasobów (przykładowo DOS),
  • oprogramowanie uruchamiane w środowiskach systemów operacyjnych z ochroną zasobów (przykładowo Windows XP).
W przypadku systemów nie chroniących zasobów sprzętowych (jakimi są między innymi kontrolery i inne rejestry w przestrzeni wejścia/wyjścia) operowanie rejestrami na własnej karcie nie przedstawia żadnych problemów. Odczyt oraz zapis portów nie podlega żadnym ograniczeniom. Ewentualne pomyłki w adresowaniu rejestrów mogą doprowadzić do zawieszenia się komputera (przykładowo pomyłkowe przeprogramowanie kontrolera przerwań może spowodować, że komputer przestanie reagować na przerwania). Inaczej przedstawia się problematyka w systemach, w których dostęp do kontrolerów (w ogólności do jakichkolwiek rejestrów z przestrzeni wejścia/wyjścia) jest chroniony. Zwykły program użytkowy nie może bezpośrednio używać instrukcji do przesyłania danych z/do rejestrów. Użycie takich instrukcji zostanie potraktowane przez system operacyjny jako nielegalne i wykonanie programu zostanie wstrzymane z komunikatem błędu wykonania.

Załącznik wideo:
isa2.mov
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony poniedziałek 22 maja 2017, 22:35 przez gaweł, łącznie zmieniany 1 raz.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » poniedziałek 22 maja 2017, 20:47

gaweł pisze:Często zdarza się, że na karcie znajduje się programowalny kontroler (przykładowo może być to popularny układ 8255), który w sobie zawiera kilka rejestrów (z punktu widzenia programu jest widziany jako kilka komórek na kolejnych adresach przestrzeni).

gaweł pisze:Dużą swobodę w wyborze adresu daje zastosowanie komparatora (przykładowo komparator liczb 8-bitowych), który porównuje stan szyny adresowej (adresy A2 do A9) ze stanem ustawianym przez 8-bitowy dipswitch. Wykrycie stanu zgodności aktywowałoby rejestry do pracy.

Nooo, zdarza się. A swoboda i wolność bezcenna, w każdym rozumieniu tego słowa ;)

A tak, jak namalowałam poniżej to można sobie wyobrazić najprostszą kartę IO dla szyny ISA z wykorzystaniem uniwersalnego portu 8255.

pc-isa-1.png


Jako komparator adresów pracuje tu kostka 74LS688 idealnie wręcz stworzona do tego zastosowania. Bo nie dość, że to ośmiobitowy komparator binarny (co idealnie wpasowuje sie w adresy A2..A9) to jeszcze on ma dodatkowe wejście zezwalające /G i to pracujące w logice ujemnej, normalnie tylko je podłączyć do /AEN magistrali ISA i całość gra!
Taką kartę można sobie poskładać `na kolanie`, na byle płytce prototypowej z dwustronnym rastrem złącza 100mils, po resztą Andrzej pokazał na fotach jak się za to można zabrać. A jak już jest płyta, a może i inne karty dźwiękowe, czy IO czy cokolwiek to trzeba popatrzeć tu:
:arrow: http://www.pcguide.com/ref/mbsys/res/ioSummary-c.html mapa IO typowego PC
No i po namyśle, znaleźć miejsce dla swojej własnej karty, aby nie kolidowała z tym, co już jest.
Mając żywą płytę '386 lub lepiej '486 z parę mega RAM - gwarantowana jest naprawdę przednia zabawa z programowanie portów i sterowanie...ledy, silniczki, wyświetlacze, co kto chce
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » poniedziałek 22 maja 2017, 22:17

tasza pisze:Mając żywą płytę '386 lub lepiej '486 z parę mega RAM - gwarantowana jest naprawdę przednia zabawa z programowanie portów i sterowanie...ledy, silniczki, wyświetlacze, co kto chce

Chyba nie minie mnie postawienie DOS'a.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » wtorek 23 maja 2017, 00:23

Trochę przydatnych informacji.

Komputery PC mogą stanowić atrakcyjne środowisko do budowy różnego rodzaju przyrządów kontrolno-pomiarowych. Duża moc obliczeniowa, możliwość tworzenia bardzo rozbudowanych programów do przetwarzania danych pomiarowych jest kuszącą propozycją. Wystarczy wyposażyć komputer PC w specjalizowaną kartę i ... tu powstaje drobny problem. Trzeba taką kartę zbudować samemu i zintegrować ją z komputerem. Zadanie może i wygląda na złożone, ale tylko pozornie. W komputerach klasy PC są złącza do rozszerzeń w standardzie ISA (a właściwie były, bo w najnowszych modelach komputerów PC złącze ISA już nie występuje). Każdy slot ISA w komputerze jest identyczny, co oznacza, że nie jest istotne, w które złącze zostanie włożona karta rozszerzenia. Samo złącze udostępnia między innymi szynę adresową, szynę danych oraz sygnały sterujące jako sygnały między innymi żądania zapisu/odczytu do pamięci, sygnały zapisu/odczytu portów. Implikacją tego faktu jest to, że karta musi sama się aktywować, czyli sama z dostępnych na złączu ISA sygnałów “wyprodukować” informację, że realizowany przez komputer cykl zapisu/odczytu dotyczy fizycznie obszarów zawartych na karcie.
isa-i01.png
Schemat blokowy karty przedstawia ilustracja 1. W oparciu o sygnały ze złącza ISA w zespole “dekoder adresowy” wypracowywane są sygnały wyboru dla wszystkich rejestrów (ewentualnie pamięci) oraz sygnały sterujące wzmacniaczem logicznym szyny danych (układ 74LS245). Zastosowanie układu buforującego szynę danych jest zalecane (a właściwie należy określić, że niezbędne) ze względu na obciążalność logiczną szyny danych we wszystkich złączach ISA.
isa-i02.png
Fizyczne rozmieszczenia sygnałów występujących na złączu ISA prezentuje ilustracja 2. Występujące w złączu sygnały (oprócz wyprowadzeń przewidzianych do zasilania) są wyjściowymi (złącze ISA jest źródłem sygnału), wejściowymi (karta jest źródłem sygnału) lub dwukierunkowymi (źródłem sygnału może być karta lub złącze ISA). Wybrane sygnały mają następujące znaczenie:
  • GND – potencjał masy komputera (zasilanie); występuje w kilku miejscach,
  • +5V – zasilanie napięciem +5V; występuje w kilku miejscach,
  • -5V – zasilanie napięciem -5V,
  • +12V – zasilanie napięciem +12V,
  • -12V – zasilanie napięciem -12V,
  • RESDRV – sygnał wyjściowy będący sygnałem reset , który pojawia się automatycznie po włączeniu zasilania lub po naciśnięciu klawisza reset w komputerze; sygnał w stanie aktywnym przyjmuje stan logicznej jedynki,
  • -SMEMW – sygnał wyjściowy żądania zapisu do pamięci RAM, w stanie aktywnym sygnał ma wartość logicznego zera,
  • -SMEMR – sygnał wyjściowy żądania odczytu z pamięci RAM, w stanie aktywnym sygnał ma wartość logicznego zera,
  • -IOW – sygnał wyjściowy żądania zapisu do rejestrów, w stanie aktywnym sygnał ma wartość logicznego zera,
  • -IOR - sygnał wyjściowy żądania odczytu z rejestrów, w stanie aktywnym sygnał ma wartość logicznego zera,
  • IRQ7 – sygnał wejściowy przerwania generowany jako INT7, stanem aktywnym jest stan logicznej jedynki,
  • IRQ6 – sygnał wejściowy przerwania generowany jako INT6, stanem aktywnym jest stan logicznej jedynki,
  • IRQ5 – sygnał wejściowy przerwania generowany jako INT5, stanem aktywnym jest stan logicznej jedynki,
  • IRQ4 – sygnał wejściowy przerwania generowany jako INT4, stanem aktywnym jest stan logicznej jedynki,
  • IRQ3 – sygnał wejściowy przerwania generowany jako INT3, stanem aktywnym jest stan logicznej jedynki,
  • D0 .. D7 – dwukierunkowa, ośmiobitowa szyna danych,
  • A0 .. A15 – wyjściowa szyna adresowa,
  • AEN – wyjściowy sygnał oznaczający “ważność” informacji wystawionych na szynach.
Pozostałe sygnały nie mają znaczenia w budowie przeciętnych kart rozszerzeń a związane są z obsługą transmisji z użyciem kanałów DMA. Kanał DMA jest mechanizmem pozwalającym na dokonywanie transmisji niejako poza świadomością mikroprocesora. Sama transmisja kontrolowana jest przez specjalizowany układ (w komputerach PC jest używany układ Intel 8237, który w obecnych rozwiązaniach płyt głównych komputerów jest zintegrowany w obrębie chipsetu). W komputerze PC realizowana jest przykładowo transmisja danych do/z kontrolera dyskietek z użyciem kanałów DMA. Aby odróżnić czy adres na szynie danych jest wystawiony przez mikroprocesor czy przez kontroler DMA, wśród sygnałów złącza ISA występuje sygnał AEN. Przy normalnej pracy sygnał ten ma wartość logicznego zera i musi być uwzględniony w realizacji dekodera adresowego. Pominięcie jego może powodować nieuzasadnioną aktywację karty między innymi w trakcie trwania transmisji do/z dyskietek.
isa-i03.jpg
Na ilustracji 3 pokazane jest położenie złącz ISA na płycie głównej komputerów PC oraz przyporządkowanie wyprowadzeń złącza (w stosunku do ilustracji 2). Prezentowana płyta główna z procesorem intel 80386 jest jedną z najbardziej udanych konstrukcji płyt głównych komputerów PC (jeżeli brać pod uwagę jako główne kryterium łatwość adaptacji płyty do zastosowań nietypowych łącznie z ewentualną wymianą pamięci stałej BIOS).
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » wtorek 23 maja 2017, 08:38

No to ja z wrodzonej przekory pokaże cudaka, który ma ISA na opak względem zdjęcia płyty od gawła.

Proszę, oto stary przemysłowy komputerek PC, taki samograj co tylko wymaga zasilania.
IMG_6685.JPG

I tu ISA jest wyprowadzona w formie złącza krawędziowego, a chcąc rozbudować zestaw należy komputerek
osadzić w tak zwanej pasywnej płycie głównej, to kawał laminatu z całym stadem gniazd ISA, czasem ze złączem do zasilania i mrowiskiem kondensatorków filtrujących tudzież drabinek R do pull-up. Jak tylko odkopię taką w składziku naszym to wrzuce foto.

Co jest gdzie:
1 - moduły pamięci RAM
2 - złącze taśmy do stacji dyskietek
3 - złącze taśmy do twardego dysku
4 - pojedyncze USB
5 - do taśmy do LPT
6 - do taśmy portu szeregowego 2
7 - do monitora SVGA
8 - złącze klawiatury/myszy PS2
9 - gniazdko sieciowe Ethernet
10 - złącze na moduły w standardzie PC104
11 - magistrala ISA
12 - bios w wersji kanapkowej
13 - zasilanie +5/+12
14 - port szeregowy 1

Odnośnie (10), do tego złącza wtyka się też na zasadzie kanapki różne rozszerzenia,
przykładowo jak pisałam wcześniej - bateryjny RAM dysk, komputerek potrafi się z niego zabootować nawet
Obrazek
albo różniste moduły wejść/wyjść cyfrowych czy analogowych, o np. takie:
http://www.produktinfo.conrad.com/daten ... 724_BE.pdf
to są super zabawki, tylko sklepowe ceny mają odstręczające nieco
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » wtorek 23 maja 2017, 10:54

No faktycznie, @tasza, PC104, toż to normalny pecet. Te kiedyśnie, stare odpowiadały architekturze XT i na tym śmigał DOS. I adaptacja prosta, bo tylko złącze GOLPIN-owe. Miałem takiego, z początku lat 90-tych, dzisiaj to prawie skarb :) . Tamten mój był w wersji czysto kanapkowej, takiej
pc104.JPG
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
Grzegorz...
User
User
Posty: 450
Rejestracja: piątek 09 paź 2015, 18:57

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: Grzegorz... » wtorek 23 maja 2017, 22:36

Gaweł piękny ten komputerek :) i teraz trzeba dzieciakom wytłumaczyć, że tego typu konstrukcje to nie wymysł twórców Arduino (z całym szacunkiem dla nich za popularyzację uC).

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: SuperGość » środa 24 maja 2017, 06:50

Na płytach komputerowych był robiony również sprzęt medyczny (kardiomonitory), "bios" był zastępowany "własnym", a karty typu wzmacniacz EKG, I/O itp wyposażane w złacza ISA, później przyszła pora na płyty przemysłowe też z ISA (coś jak pokazała tasza) i pasywna karta rozszerzeń do której płyta i inne karty były wkładane, następny krok to płyty przemysłowe z pc104 do której wpinana była karta I/O (przez pc104) i z niej komunikacja po uart z modułami pomiarowymi. I tak idzie sobie to krok po kroku do przodu ;).

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » środa 24 maja 2017, 08:49

wojtek pisze:(...) "bios" był zastępowany "własnym" (...)

no cóż, po tym jak Andrzej skrobnął własny bios w języku modula-2 ( :arrow: viewtopic.php?f=27&t=1044&p=6987" target="_blank" target="_blank) to w sumie niewiele już zadziwi...
no a ja tylko chciała pokazać trochę ze swoich zdobyczy ostatnich
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » środa 24 maja 2017, 08:57

a to osobno, bo jest to dziwadło po prostu maksymalne - pełnowymiarowa (tzw. długa) ośmiobitowa karta ISA z procesorem Z80,
a patrząc po układach, to raczej z prawie kompletnym systemem na Zilogu,
faceci z serwisu dali mi to po dłuższym sępieniu abym się w końcu od nich odp... no, żebym już sobie poszła
ta karta to jest mój rodzynek w kolekcji, ale super!
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » środa 24 maja 2017, 14:42

tasza pisze:no a ja tylko chciała pokazać trochę ze swoich zdobyczy ostatnich

To raczej trudno nazwać zdobyczami, prędzej jakąś manierą niewyrzucania rzeczy, które mogą się przydać,... może kiedyś zajdą inny swój dom. Kiedyś napisałem, że tasza jest śmieciarą :mrgreen: . Uprzedzam, przyszłe komentarze,... ja też. W gruncie rzeczy jesteśmy podobni :mrgreen: .

Trochę bardziej współczesne płyty główne, chociaż niektóre lada chwila będą pełnoletnie, nie kręcą tak jak poprzednie konstrukcje.
IMG_5585.JPG
IMG_5586.JPG
IMG_5587.JPG

Cofając się w czasie, to wala mi się płyta z prockiem 486 (byłoby ich więcej, ale część procków poszła na budowę pewnego systemu wieloprocesorowego).
IMG_5588.JPG

Płyty z prockiem 386, uważam za genialną konstrukcję do wszelkich modyfikacji.
IMG_5591.JPG

Płyty z prockiem 286, pomimo, że sam proc był słaby, miał parę pomysłów do du...py, ale na jakiś diwajs może się nadać.
IMG_5589.JPG

Parę zabytków chyba jeszcze z lat 80-tych - płyty PC-XT z prockiem 8088
IMG_5592.JPG

Była nawet ulepszona wersja proca 8088.
IMG_5593.JPG

W jednej płycie siedzi banda EPROM-ów więc coś tam jest mojego, już nie pamiętam a nie mam monitora typu HERCULES by zobaczyć co to jest.
IMG_5594.JPG

Cała banda różnych kart
IMG_5590.JPG
IMG_5599.JPG
IMG_5600.JPG
IMG_5601.JPG
IMG_5602.JPG
IMG_5603.JPG
IMG_5604.JPG

Uchował mi się nawet kontroler grafiki CGA, miał wyjście sygnału zespolonego na TV
IMG_5605.JPG
IMG_5606.JPG

Takiego dziwadła, to praktycznie nie ma szans by trafić go na szrocie: było w wersji 8-kanałowej i 16-kanałowej.
IMG_5596.JPG
IMG_5597.JPG
IMG_5598.JPG

No i zagadka, wcześniej się mieściło w szufladzie a po sesji fotograficznej nie chce się zamknąć.
IMG_5607.JPG


Jest jeszcze tort z wisienką :mrgreen: , ale to później
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » środa 24 maja 2017, 15:09

gaweł pisze:To raczej trudno nazwać zdobyczami, prędzej jakąś manierą niewyrzucania rzeczy, które mogą się przydać,...

no czasem są to zdobycze pozyskane z narażeniem reputacji i opinii o prowadzeniu się... jak zobaczysz dzisiejsze krótkofalówki dla Wojtka to spadniesz z fotela ;)

gaweł pisze:Takiego dziwadła, to praktycznie nie ma szans by trafić go na szrocie: było w wersji 8-kanałowej i 16-kanałowej.

whooaa, nastoportowa karta z portami szeregowymi, no na szrocie to może nie, ale na hali w jednej szafie sterowniczej to takich fura cała siedzi,
a ja skrzętnie czuwam, czy jakaś na serwis nie pójdzie bo padliwe są nieco i tak jak u pająków - cierpliwość podstawą sukcesu, w końcu taka wyhaczę
tu teraz to jakąś manierę na PCI mają, no wszędzie podmianki na sprzęt Moxa, niby fajne to , w LV przyjemnie się do tego dobiera, ja robiła juz warstwe dostępową do nport 56xx , ale one wyglądają....niezazbyt; te pod ISA to jest czad!
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » środa 24 maja 2017, 16:04

tasza pisze:to spadniesz z fotela ;)

Tort z wisienką ;)
Oryginalny IBM PC-XT z początków 80-tych lat. Miał klasyczną obudowę, front tak jakby ścięty, z klapką zamykającą flopy, klawiaturą z 84-klawiszami i monitorem CGA (ten jest monochromatyczny).
IMG_5608.JPG
IMG_5609.JPG
IMG_5610.JPG
IMG_5611.JPG
IMG_5612.JPG
IMG_5613.JPG
IMG_5614.JPG

Obudowa klasycznie ściągała się do przodu, dopiero później pojawiły się otwierane do góry.
IMG_5615.JPG

W środku typowa, pełnowymiarowa płyta główna z kontrolerem flopów i grafiką. Są dwa flopy 5-calowe, takie "pełnowymiarowe", jak kojarzysz ostatnie flopy 5-calowe, to te są podwójnej wysokości.
IMG_5616.JPG
IMG_5617.JPG
IMG_5618.JPG
IMG_5619.JPG

Sam flop, niestety nie mam pod ręką dyskietki 5-calowej, po włożeniu dyskietki trzeba było zamknąć. O dysku twardym nikt nie śmiał nawet marzyć.
IMG_5620.JPG
IMG_5621.JPG
IMG_5622.JPG
IMG_5623.JPG
IMG_5624.JPG
IMG_5625.JPG

Karty w kompie, do obsługi flopa i kontroler grafiki. Klasyczne rozwiązanie :arrow: układ 6845, powszechnie stosowany.
IMG_5626.JPG
IMG_5627.JPG
IMG_5628.JPG
IMG_5629.JPG


Sprzęcior jest żywy i nawet oddycha, tylko nie mam dyskietki z systemem, by go odpalić. Ale... wtedy jak PC nie mógł zabootować, to odzywał mu się wbudowany basic. I ten tak ma.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » środa 24 maja 2017, 17:23

och ty....
no, tę rundę to wygrałeś,
11/10
zatem respect i jaki czad! to działające jest?! no wow.
a my właśnie planujemy skrzętnie `lato w mieście 2017`, jak się sztuka uda to spodziewaj się inwazji dwóch świrusek z Ostrowca, ja chce to na żywo, a Tośka dokończy demolkę
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » środa 24 maja 2017, 18:21

Zaproszenie jest cały czas aktualne :mrgreen:

Muszę gdzieś poszukać dyskietek 5-calowych. Mam nadzieję, że zwykłe (360kilo) lub HD (1.2mega) dadzą się sformatować na 180 kilo.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » wtorek 15 sie 2017, 18:05

Po "obczyszczeniu" sprzętu, który sporo czasu sobie odpoczywał, nadszedł czas na reanimację.
IMG_6157.JPG

Komp, jak nie ma dyskietki systemowej, a takiej nie miał, to bootuje wbudowany BASIC.
IMG_6158.JPG

Piszę prosty program (4 wiersze):

Kod: Zaznacz cały

10 let a=123
20 let b=456
30 let c=a+b
40 print c

Nawet kazałem go sobie druknąć na ekran (polecenie LIST).
IMG_6160.JPG

Nawet chciałem go uruchomić (polecenie RUN), ale okazało się, że jest błąd zapisu:
IMG_6161.JPG

Szybka poprawka
IMG_6162.JPG

i ponowne uruchomienie
IMG_6163.JPG

Nawet próbowałem zapisać program na dyskietkę
IMG_6164.JPG

Komp pokręcił napędem dyskietek i twierdzi, że zapisał, tylko ja się zastanawiam w jaki sposób, bo nie miał dyskietki. Po prostu magia, zapisać na wirtualnej dyskietce (współczesne kompy tak nie umieją ;) ).
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: tasza » wtorek 15 sie 2017, 18:38

gaweł pisze:(...)wierdzi, że zapisał, tylko ja się zastanawiam w jaki sposób, bo nie miał dyskietki. Po prostu magia,(...)

'81, toć to mój rocznik, haha, widzisz więc jakie zdolne to inaczej plemię jest ;)
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [C][Pascal][LPT][WIN32] Dostęp do portu równoległego w Windows NT/XP

Postautor: gaweł » wtorek 15 sie 2017, 19:22

tasza pisze:widzisz więc jakie zdolne to inaczej plemię jest ;)

Nigdy w to nie wątpiłem :)

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse


Wróć do „Inne języki programowania”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości