atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Dwie nowe gry The Quill na Atari z 2022-12-01 15:23 (10)
Nowy tracker dla Atari STE z 2022-11-26 19:38 (9)
Nowa gra "Tony" - koder poszukiwany! z 2022-11-24 12:29 (66)
About AVG cartridge in English & 4K z 2022-11-22 19:21 (3)
Płytki stereo dla chętnych z 2022-11-20 20:48 (20)
Opowieści o Elwro byłego pracownika z 2022-11-17 12:01 (12)
GEOS dla Atari! z 2022-11-14 13:14 (42)
Polski komputer Cobra-1 z 2022-11-11 00:20 (13)
Lato z lutownicą #3 z 2022-11-09 13:13 (6)
Światowa premiera "Light Pen Driver" z 2022-11-05 21:05 (8)
Polska gra RPG "Company" z 2022-11-04 08:31 (11)
Historia L.K. Fire-Bird z 2022-11-01 15:19 (22)
Wyniki konkursu ABBUC 2022 z 2022-10-30 16:49 (42)
Lato z lutownicą #2 z 2022-10-25 19:33 (4)
Spotkanie fanów Cobra 1 z 2022-10-21 13:29 (13)
Kasieńka, Kasia, a właściwie CASia... z 2022-10-17 10:11 (7)
ATASCII Compo Edycja II z 2022-10-16 12:49 (9)
Wkrótce Retrospekcje w Krakowie z 2022-10-13 10:41 (2)
Wyniki Grawitacji 2022 z 2022-10-09 23:30 (16)
Lato z lutownicą #1 z 2022-10-08 11:15 (0)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier (konwencja TOSEC)

Opisy gier
"Old Towers" (Atari ST) opisał Misza (19)
Submarine Commander opisał Kaz (11)
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (16)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (35)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (0)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (8)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (19)
Basil The Great Mouse Detective opisał Charlie Cherry (123)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
«« nowszestarsze »»

Katalog gier (konwencja Kaz)
Aktualizacja: 2022-12-02
Liczba katalogów: 8031, liczba plików: 32034
Zmian katalogów: 326, zmian plików: 718

0-9 A B C D
E F G H I
J K L M N
O P Q R S
T U V W X
Y Z inne
zipCałość 2146 MB


Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
Światowa premiera "Light Pen Driver"
Niektórzy niecierpliwie czekają na nasze światowe premiery programów, które to półżartobliwe, ale szumne określenie oznacza, że po raz pierwszy publicznie pojawia się u nas coś, co dotychczas nie było nigdzie na świecie dostępne. Dzisiaj mamy światową premierę polskiego oprogramowania użytkowego dla Atari XL/XE z lat 80.

Niedawno informowaliśmy o odnalezionej przez Marka "Pancho" Pańczyka grze RPG "Company", którą stworzył jego ojciec Janusz "JMP" Pańczyk. Jak opowiadał Marek, do narysowania do niej grafiki ojcu posłużył program "Magic Painter" i pióro świetlne. Standardowo ten program nie ma obsługi pióra świetlnego, więc pojawiła się zagadka do wyjaśnienia, czy to nieścisłość we wspomnieniach czy program w Atari Basic ze wstawkami w kodzie maszynowym został przez pana Janusza zmodyfikowany.

I ta druga teza wydaje się najbardziej prawdopodobna. Bo wśród niewielu pozostałości po ojcu, Markowi udało się też odkopać niepozorną dyskietkę z programem użytkowym Light Pen Driver For Atari Basic. I właściwie ta nazwa tłumaczy wszystko: dyskietka zawiera sterownik pióra świetlnego do wykorzystania we własnych programach w języku Atari Basic. Podobnie jak w przypadku gry "Company", której towarzyszyła (niestety zaginiona) druga dyskietka z opisem kodu źródłowego, tak i ten program został bardzo solidnie udokumentowany. Widać, że pan Janusz podchodził do sprawy w sposób usystematyzowany, nie zadowalał się samym efektem końcowym procesu programowania, ale dbał również o jego udokumentowanie. Widać tu zapewne nawyki z pracy elektronika zatrudnionego przez uczelnie - najpierw przez Uniwersytet Warszawski, a później Politechnikę Warszawską (pracował np. na wydziale geologii przy komputerach Odra i innych dużych komputerach, potem na pecetach, rosyjskich klonach tych komputerów). Dzięki takiemu podejściu na dyskietce znajdziemy nie tylko sterownik, ale również dokładny opis oraz kilka przygotowanych programów - przykładów użycia pióra świetlnego.



Z opisu wynika, że pan Janusz był zaopatrzony (posiadał? pożyczył?) w pióro świetlne firmy IBS Electronic. Najprawdopodobniej chodzi o warszawską firmę, której reklamy interfejsu CRI do podłączania zwykłych magnetofonów do Atari znajdowały się w "Bajtku". Markowi udało się namierzyć dwie takie reklamy: w numerze 2 z 1987 roku oraz w numerze 1 z 1988 roku. Obie reklamy zawierają tylko zachętę do zakupu interfejsu magnetofonu (nota bene bardzo ciekawego, bo z diodami sygnalizującymi pracę, zdolnego zatrzymywać i uruchamiać silnik magnetofonu), ale można domniemywać, że taki zakład elektroniki mógł produkować i inne drobiazgi do Atari. Gdyby ktoś z szanownych czytelników tego tekstu był w posiadaniu takiego pióra świetlnego TEJ FIRMY (a nie tak jak na zdjęciach poniżej - firmy Atari), może słyszał o takim piórze, znał kogoś kto miał, albo chociaż kojarzył taką firmę i cokolwiek o niej wie - prosimy o kontakt lub pozostawienie komentarza. Śledztwo trwa...

Obraz dyskietki w formacie ATR dorzucamy oczywiście do naszego archiwum użytków w tym miejscu. Ponieważ jednak w dobie nowoczesnych urządzeń typu SIO2... umiejętności korzystania z dyskietek z DOS-em powoli zanikają, oprócz obrazu dyskietki w formacie ATR, zamieszczam tam kilka wyekstraktowanych plików BAS, a także opis sterownika. Te programiki wrzucam również do wątku o piórze świetlnym na naszym forum tutaj. Aby ułatwić wyszukiwanie (indeksację treści w wyszukiwarkach), również opis ten zamieszczam poniżej (już z polskimi znakami, których w oryginale tekstu nie ma i drobnymi poprawkami językowymi).



Instrukcja obsługi LIGHT PEN DRIVER
autor: Janusz "JMP" Pańczyk
edycja, korekta: Kaz 2022

LIGHT PEN DRIVER jest programem służącym do obsługi świetlnego pióra. Może współpracować z programami używającymi trybów grafiki GR.0-7, GR.12, GR.13 i GR.14. Jest instalowany w Handler Table pod nazwa "L:". Jako AUTORUN. SYS jest uruchamiany przez DOS i zajmuje w pamięci adresy $8800-$8EF5 (34816-36497).

1. URZADZENIE L:
Lokowane w Handler Table pod nazwa L: wykonuje instrukcje na otwartym kanale podobnie jak i inne urządzenia. Przyjmuje do wykonania instrukcje Basica OPEN, CLOSE, PUT, GET.

OPEN - inicjuje świetlne pióro i otwiera podany kanał.
CLOSE - nie likwiduje inicjacji zamykając kanał.
PUT - służy do kalibracji świetlnego pióra.
GET - może być używana do wybierania odpowiedniej pozycji z własnego menu.

2. KALIBRACJA

Aby przeprowadzić kalibrację pióra należy otworzyć kanał, instrukcją PUT wywołać procedurę kalibracji, po dokonaniu kalibracji wcisnąć przycisk pióra, co spowoduje powrót do Basicu.

Format:
OPEN #N,8,0,"L:":PUT #N,A:CLOSE #N
gdzie N - numer kanału, A - dowolny argument PUT

Na przykład OPEN #1,8,0,"L:":PUT #1,0:CLOSE #1 wywoła na ekranie krzyż i marker pióra. Należy w centrum krzyża ustawić pióro i klawiszami z symbolami strzałek (lewo/prawo/góra/dół) centrować marker, krzyż i pióro. Po zakończeniu wcisnąć LPEN. Spowoduje to przejście do instrukcji CLOSE #1, zamknie kanał i wróci do Basic.

3. MENU

Pod ta nazwą występuje korzystanie z sterownika przy obsłudze menu w programach użytkownika. Program LIGHT PEN DRIVER dzieli ekran na 192 części. 8 części w poziomie na 24 części w pionie. Wszystkie części są ponumerowane od 0 do 191, poczynając od lewego górnego rogu i w prawo:

0, 1, 2, 3, 4, 5, 6, 7
8, 9, ........., 14, 15
.............................
184, 185, ....., 190, 191


Używając instrukcji GET możemy po wciśnięciu przycisku LPEN otrzymać numer części ekranu, nad którą stało w danej chwili pióro.

Format:
OPEN #N,4,0,"L:":GET #N,A

Na przykład:
10 OPEN #2,4,0,"L:":REM inicjacja
20 GET #2,A:REM w zmiennej A otrzymamy numer wycinka ekranu po wciśnięciu LPEN
30 IF A=50 THEN 80
40 IF A<15 THEN i tak dalej...
80 PRINT "Zmienna A przyjmuje wartosci od 0 do 191 z krokiem 1"


4. INSTRUKCJE I PROCEDURY

OPEN & CLOSE

Jak mówiliśmy, OPEN używana jest do inicjacji LIGHT PEN DRIVER i w programie użytkownika musi być użyta po jednoznacznym ustaleniu trybu graficznego, w jakim pracuje dany program, a przed wykonaniem operacji ze świetlnym piórem. Może występować łącznie z CLOSE. Na przykład OPEN #1,4,0,"L:":CLOSE #1, gdyż CLOSE zamyka kanał, ale nie likwiduje inicjacji pióra. Oczywiście w tym wypadku nie możemy użyć GET lub PUT, ale można odwołać się do którejś z procedur opisanych w dalszej części.

Funkcję inicjacji pióra można wywołać również przez procedurę INIT=USR(36035), a różnica między tym rozwiązaniem a poprzez OPEN polega na tym, że procedura inicjuje pióro nie otwierając kanału. Nie można po niej użyć GET, ale można wywołać procedurę MENU=USR(36031) - patrz opis GET.

PUT

Służy tylko do początkowej kalibracji pióra. Równoznaczną funkcję można wywołać przez procedurę CALIB=USR(36039) bez otwierania kanału.

GET

Głównym jej celem jest dostarczenie w swoim argumencie A numeru wycinka ekranu w momencie przyciśnięcia LPEN. Wartosc A możemy również odczytać z komórki $8C49 (35913). Oprócz tego GET dostarcza poprzez odczytanie komórek:

$8C42 (35906) - X POSITION (0-159)
$8C46 (35910) - Y POSITION (0-95)

i/lub
$8C4C (35916) - Y POSITION (0-190)
$8CFE (36094) oraz $8CFF(36095) - młodszy i starszy bajt X POSITION (0-318)

tak zwane graficzne pozycje pióra.

Oczywiście wszystkie dane są wiarygodne tylko w chwili wciśnięcia i odpuszczenia LPEN. Dlatego należy je odczytywać bezpośrednio po GET. Podobną funkcję jak GET możemy uzyskać przy zamkniętym kanale przez wywołanie procedury MENU=USR(36031), otrzymujac pod adresami:

$8C49 (35913)-numer wycinka ekranu
$8C42 (35906) - XPOSITION
$8C46 (35910) - Y POSITION
$8C4C (35916) - Y POSITION (*2)
$8CFE (36094) oraz $8CFF (36095) - X POSITION (*2)


Uwaga o aktualności danych tak jak wyżej.

Procedura CONTROL=USR(36024)

Po wywołaniu tej procedury graficzne pozycje pióra otrzymujemy pod adresami:

$8C42 (35906) - XPOSITION (0-159)
$8C46 (35910) - YPOSITION (0-95)

oraz dla na przykład trybu graficznego 14:
$8C4C - YPOSITION (0-190)
ewentualnie dla trybu graficznego na przykład 8:
$8CFE oraz $8CFF - XPOSITION (0-318)

W procedurze nie jest zawarte oczekiwanie na wciśnięcie przycisku LPEN, więc określenie momentu, w którym powyższe komórki zostaną odczytane zależy od programu użytkownika. Zastosowanie: tryby graficzne.

5. PAMIĘĆ

Program LIGHT PEN DRIVER lokuje sie w adresach $8C00-$8EF5 (35840-36497). Wykorzystuje grafikę PMG do sterowania markerem pióra, ustalając PMBASE na $8800. W adresy $8800-$887F został wpisany przykładowy podprogram EXAMPLE4.BAS, który nie jest integralną częścią sterownika (patrz opis EXAMPLE4).

Sterownik zakłada, że RAMTOP=160 i nie obniża go. Nie chroni się przed zniszczeniem, aby jak najwięcej miejsca zostawić dla programu użytkownika. Oczywiście użytkownik musi być ostrożny i jego program nie może przekroczyć adresu $8800. Jak również nie można stosować (bez zmiany RAMTOP) trybu graficznego bardziej pamięciochłonnego niż tryb GR.7. Tym sposobem pamięć ekranu i Display List lokują się nad programem LIGHT PEN DRIVER i dla trybów GR.0-7 (ewentualnie GR.14) mają dość miejsca. LIGHT PEN DRIVER po załadowaniu, oprócz zainstalowania się w Handler Table, nie operuje na stronie 6 pamięci, ani nie zajmuje adresów poniżej $8800. Są one całkowicie wolne dla użytkownika.

6. RESET

Po reset LIGHT PEN DRIVER jest reinicjowany i ustawia ekran na wysoką jasność, aby użytkownik pamietał, że sterownik jest zainstalowany. Przy instrukcjach GET czy PUT, w momentach oczekiwania na wciśnięcie LPEN, klawisz BREAK chwilowo nie działa. Podczas działania procedur obsługi pióra BREAK spowodowałby zakłócenie rytmu grafiki PMG. Usunąć duszka z ekranu można przez POKE53248,0 lub ponowną inicjację pióra poprzez OPEN #1,4,0,"L:":CLOSE #1 albo INIT=USR(36035).

7. ZAWARTOŚĆ DYSKIETKI

1) DOS.SYS
2) AUTORUN.SYS - Light Pen Driver
3) HELP.DRV - krótka informacja o programie wywoływana przez AUTORUN.SYS
4) LPENDRV.COM - Light Pen Driver jako plik COM
5) README.TXT - instrukcja
6) EXAMPLE1.BAS \ proste przykłady
7) EXAMPLE2.BAS | programów
8) EXAMPLE3.BAs > wykorzystujących
9) EXAMPLE4.BAS | w pracy Light Pen Driver
10)EXAMPLE5.BAS /

Program zastrzeżony tak w całości, jak i w części. (c) J.Pańczyk, Warszawa tel. 46-20-51 w.239.

8. GRAFIKA

Możliwość współpracy z grafiką w trybach GR.0-7. Przy współpracy z GR.14 należy brać YPOSITION z adresu $8C4C. Przy GR.8 stosować ochronę przez obniżenie RAMTOP, pozycję XPOSITION brać z adresow $8CFE oraz $8CFF (młodszy i starszy bajt), a YPOSITION z $8C4C. W programach użytkowych, korzystających ze sterownika, należy każdorazowo na początku wstawiać instrukcję GRAPHICS, aby otwierany kanał dokonywał inicjacji pióra po ustaleniu trybu graficznego. Ustawienie trybu graficznego później likwidowałoby inicjację pióra i należałoby je ponownie inicjować.

Przykład wykorzystania sterownika w trybie graficznym GR.7+16 został pokazany w programie EXAMPLE4.BAS. Przyklad jest prosty, więc zostaną tu tylko opisane jego elementy asemblerowe. Ponieważ został użyty GR.7, pamięć ekranu rozpoczynająca się od adresu 36960 ma 3840 bajtów. Deklarujemy więc tablicę o takiej wielkości DIM BUF$(3840), w której będziemy przechowywać rysunek. Przepisywanie z pamięci ekranu do bufora dokonuje procedura o adresie 34837:

EKRBUF=USR(34837,ADR(BUF$))

Przepisywanie z bufora do pamięci ekranu dokonuje procedura o adresie 34888:

BUFEKR=USR(34888,ADR(BUF$))

Obie te procedury oraz procedura obsługi pióra i grafiki zostały włączone do podprogramu wywoływanego przez:

P=USR(34816,ADR(BUF$))

Początkiem podprogramu jest właśnie 34816. Parametrem dla tych wszystkich wywołań jest adres początku naszego zadeklarowanego bufora. Podprogram został umieszczony w wolnych adresach $8800-$885D i może być wykorzystany także w innych celach, choć nie jest integralną częścią LIGHT PEN DRIVER.

9. OGÓLNA STRUKTURA PROGRAMU



Pozostałe informacje o przykładzie są zawarte w samym programie EXAMPLE4.BAS.



2022-11-05 21:05 by Kaz
komentarzy: 8
mono @2022-11-05 22:01:57
Bardzo ciekawe. Driver CIO... Wygląda na naprawdę porządne opracowanie.
Zenon @2022-11-06 10:53:59
Może było, może nie...
W czasopiśmie IKS znajduje się opis pióra świetlnego
do.... ZX SPECTRUM. Dla zdobywającego wiedzę każde źródło informacji ważne.
Zachowane mam schematy, bez opisu z których to numerów (to błąd). Schematy mam dwa, więc pochodzą z dwu numerów.
Kto chętny, szukać.
Kaz @2022-11-06 14:52:31
Z ciekawości przejrzałem IKS-y do końca 1987 roku włącznie. W numerze 3/1986 jest rzeczony schemat pióra do Spectrum. W numerze 3/1987 jest opis oprogramowania "znacznika świetlnego" do Meritum. Innych nie materiałów tego typu nie znalazłem.
Peri Noid @2022-11-07 08:49:14
Przydałby się schemat budowy pióra. Mam pióro pracujące z C64, może zadziałałoby i z Atari ale bez porównania schematów nie będę pewien.
Krzys @2022-11-07 10:51:19
Śmiesznie, że akurat jak kupiłem sobie pióro i zacząłem coś pisać, to pojawiło się nagle kilka wątków na ten temat. No i dobrze.
Zenon @2022-11-07 13:19:34
Dlaczego śmieszne.... chcemy pomóc, wskazać na to co było, czym inni się zajmowali i do czego doszli. Co rusz jakiś temat odżywa. A materiałów różnych pałęta się tu i tam, nie zawsze łatwo znaleźć czego się szuka.
Lt_Bri @2022-11-07 17:03:04
Było coś na stronach 155-156 „Poradnika konstruktora”, poniżej odnośnik:

seban.pigwa.net/atari/por_kon/atari%20-%20poradnik%20konstruktora.7z
my pen @2022-11-09 12:30:50
is light.

Dobry gryps na temat z dobrego filmu, kto wie ten wie.
nickname
e-mail / website (opcjonalnie)
Aktualne tematy
Turbo COMBO do Atari 1050 (23)
ostatni: 03-12-2022 00:15, galtron
Czy androidy liczą elektryczne ow... (76)
ostatni: 03-12-2022 00:11, Kaz
Wątek do testów (149)
ostatni: 03-12-2022 00:00, astrofor
PTODT Stereo na Silly Venture (1)
ostatni: 02-12-2022 23:32, Kaz
Advent Of Code 2021 (19)
ostatni: 02-12-2022 23:20, astrofor
Ultimate1MB - dziwne zachowanie n... (24)
ostatni: 02-12-2022 20:30, paptak
Ciekawostki (5270)
ostatni: 02-12-2022 19:36, bruno_j
Atari pod choinkę 2022 (9)
ostatni: 02-12-2022 18:24, ccwrc
Normalny CART, ale OGROMNA pamięć (94)
ostatni: 02-12-2022 17:48, Alex
Zmiany w bazie gier, demosceny, u... (826)
ostatni: 02-12-2022 16:45, duncan
"The Last Ninja 2" dla Atari (278)
ostatni: 02-12-2022 16:36, jhusak
Sprzedam Gry PSP/PS3 (1)
ostatni: 02-12-2022 15:07, IRATA4
Jerry Lawson w Google Doodle (1)
ostatni: 02-12-2022 12:52, jhusak
Filmy z Atari (125)
ostatni: 02-12-2022 02:19, Bca
LC-177E - poszukiwany silnik do A... (6)
ostatni: 01-12-2022 21:29, galtron

Kategorie Forum Atarum

Użytkowników: 2579
Ostatnio zarejestrowany: goszi
Postów ostatniej doby: 39

Spotkania i zloty / Meetings & Parties

Najbliższe imprezy
link do naszych spotkań online, zapraszamy do odwiedzenia kanału zoom również przez kod QR:

KWAS

Kalendarz AOL


Społeczność/Community


Rozmawiali
Tomasz Dajczak i Kaz (21)
Lech Bąk i "Świat Młodych" i Kaz (26)
Michał "Mike" Jaskuła i Kaz (6)
F#READY i Dracon (22)
Daniel „Arctus” Kowalski i Dracon (25)
KATOD i TDC (13)
Mariusz Wojcieszek i "Adam" (16)
Romuald Bacza i Ramos (16)
Śledzenie Amentesa i Larek (9)
Leszek Łuciów i Charlie Cherry (17)
TO JUŻ ZA TOBĄ: rozmowa z Bobem Pape i cpt. Misumaru Tenchi (39)
Rob Jaeger i Emu (53)
Jacek "Tabu" Grad i Dracon (0)
Alexander "Koma" Schön i Kaz (0)
Maciej Ślifirczyk i Charlie Cherry (0)
Jarek "Odyniec1" Wyszyński i Kaz (0)
Marek Bojarski i Kaz (0)
Olgierd Niemyjski i Ramos (0)
Wolfgang Burger i Grey (0)
Mariusz "Ramos" Rozwadowski i Xeen (0)
«« nowszestarsze »»

Stragan
Nowe, pojemniejsze RAM-Carty oferuje Kaz (21)
"mouSTer" czyli myszka ST oferuje Kaz (30)
Atari USBJoy Adapter oferuje Jakub Husak (0)
Programy: Kolony 2106 oferuje Kaz (7)
Sprzęt: rozszerzenia oferuje Lotharek (23)
Gadżety: naklejki, pocztówki oferuje Sikor (11)
Sprzęt: cartridge RAM-CART oferuje Zenon (7)
Miejsce na drobne ogłoszenia kupna/sprzedaży oferuje Kaz (58)
Sprzęt: interfejs SIO2IDE oferuje Piguła (0)
Sprzęt: interfejs SIO2SD oferuje Piguła (30)

Użytki/Utils
Sprzęt/Hardware

Wynalazki
Atari i Bluetooth napisał Kaz (34)
SIO2PC-USB napisał Larek (45)
Nowe SIO2SD napisał Larek (0)
SIO2SD w CA12 napisał Urborg (12)
Ratowanie ATMEL-ów napisał Yoohaas (12)
Projektowanie cartów napisał Zenon (12)
Joystick do Atari napisał Larek (54)
Tygrys Turbo napisał Kaz (11)
Testowałem "Simple Stereo" napisał Zaxon (4)
Rozszerzenie 1MB napisał Asal (20)
Joystick trzyprzyciskowy napisał Sikor (18)
Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
Jak wykonać płytkę drukowaną? napisał Zaxon (26)
Rozszerzenie 576kB napisał Asal (36)
Soczyste kolory napisał scalak (29)
XEGS Box napisał Zaxon (13)
Atari w różnych rolach napisał Różyk (8)
SIO2IDE w pudełku napisał Kaz (5)
Atari steruje tokarką napisał Kaz (15)
DarkMouse napisał Kaz (7)
«« nowszestarsze »»