2,051

(7 odpowiedzi, napisanych Fabryka - 8bit)

Witam Szanownych Forumowiczów.
Jakiś czas temu przeglądając informacje nt DracOS, którego Autorem jest Drac030 trafiłem na opis handlera urządzenia @:. Urządzenie to służy do pozyskiwania informacji o różnych rzeczach związanych z systemem: CPU, FPU, dodatkowy RAM, ilość urządzeń SIO, operacje XIO i inne takie. DracOS został oczywiście stworzony dla 65C816, ale stwierdziłem że fajnie byłoby mieć i w XLOS@6502 mechanizm pozwalający na łatwe stwierdzenie z poziomu dowolnego języka programowania co w systemie siedzi i z czego można korzystać i jak.

Sam handler @: w DracOS implementuje tylko jeden plik SYSDEF przeznaczony tylko do odczytu. Ponieważ uważam, że pomysł ma znacznie większy potencjał swoją implementację rozdzieliłem na dwie części:
* handler obsługi urządzenia @:,
* handler obsługi pliku @:SYSDEF.
Samo urządzenie @: jest wirtualnym dyskiem, który potrafi zarządzać plikami w pamięci RAM. Pierwszym z nich jest SYSDEF zawierający informacje o systemie zgodne z tym zaimplementowanym w DracOS.
Nic jednak nie stoi na przeszkodzie, żeby Twórcy rozszerzeń stworzyli proste TSRy do obsługi własnych plików:
- VBXE,
- SB,
- COVOX,
- POKEY,
- RTC,
- WERONIKA
i innych, które udostępniały by programiście różne przydatne informacje - a to wektory procedur użytkowych (np. do wyboru lub flashowania rdzeni VBXE), a to ilość i adresy POKEYów czy COVOXa.

Urządzenie ma o tyle duży potencjał, że pozwala prosto dodać dodatkowe możliwości dla projektantów rozszerzeń OSXL. Np. przenieść tablicę skoków do RAM, co pozwoliłoby:
- modyfikować niektóre procedury OSa np. implementować szybkie SIO w RAM,
- skrócić tablicę skoków do samych wektorów (odwołania jmp (vector)),
- rozszerzyć tablicę skoków o dodatkowe procedury (np. mechanizm relokacji),
- lub wręcz stworzyć oficjalne tablice skoków dla części systemu, które jej jak dotąd nie mają (pakiet FP + procedury trygonometryczne w BASICu),
- rozszerzyć procedury obsługi przerwań o wektory dla nowo tworzonych urządzeń.
- udostępnić nowy mechanizm dodawania urządzeń do OS - CIO pozwala umieścić tylko kilka wpisów w HATABS.
Nowy sposób wywoływania funkcji OSa odbywałby się poprzez wektory udostępniane przez @:. Stary sposób (przez tablicę skoków) działałby oczywiście nadal, lecz bez udostępniania dodatkowych funkcjonalności.

Ponieważ handler urządzenia @: ma komplet mechanizmów pozwalających na tworzenie nowych plików, ich odczyt/zapis oraz usuwanie, implementacja własnego pliku nie wymaga wielkiego kodowania i można to zrobić z poziomu dowolnego języka programowania. Program instalujący plik miałby po prostu sprawdzić czy:
1. W OS istnieje urządzenie @: wraz z interesującym go plikiem.
2. W razie potrzeby utworzyć przez urządzenie @: plik opisujący odpowiednie rzeczy.
3. Zainstalować udostępniane funkcje, przerwania, informacje o featurach, wektory, itp.
4. Zostawić w RAM procedurę wywoływaną po RESET (minimalna wymaga jedynie podniesienia MEMLO, tak żeby nie zatrzeć zawartości pliku).
Zaletą TSRa jest to, że procedury detekcji lub konfiguracji różnych featur nie muszą siedzieć w systemie na stałe - mogą się uruchomić przy inicjalizacji TSR, przygotować odpowiednie informacje, zostawić je w systemie i się zakończyć.

Program, który chciałby skorzystać z takich informacji po prostu za pomocą CIO odczytywałby zawartość pliku @:COŚTAM. Handler @: obsługuje funkcje NOTE/POINT więc bez problemu można z miejsca sięgnąć do interesujących rzeczy.

W ATRze załączam implementacje @: i pliku SYSDEF, dokumentację opisującą mechanizmy i sposób użycia, oraz przykładowe programiki w BASICu prezentujące sposób użycia (*info.lst), jak również sposób instalacji własnego pliku w systemie (allxio.lst - wykorzystanie CIO do zarządzania plikiem; nie ma procedur instalacji TSR).
Źródła wykorzystują relokator JBW do instalacji TSRa i pozwalają się zorientować jak implementować obsługę własnego pliku na przykładzie SYSDEF.

Zapraszam do dyskusji.

P.S. Dzięki Drac030 za uwagi i świetny pomysł.
P.P.S. Obecna implementacja nie będzie poprawnie instalować się w SDX - wersja uniwersalna jest w przygotowaniu.

2,052

(12 odpowiedzi, napisanych Scena - 8bit)

@tinctu: look at this demo of animkomials: http://atari.fandal.cz/detail.php?files_id=5541

2,053

(6 odpowiedzi, napisanych Software, Gry - 8bit)

http://www.atari.org.pl/tape_preservation_project

2,054

(12 odpowiedzi, napisanych Scena - 8bit)

@mazi: Dzięki. No był artykuł z tymi rzeczami na konkurencyjnym portalu ze 4 lata temu :) Jedna z tych grafik nawet poszła do Magazynu Amiga (oidp) na konkurs, ale odrzucili :/ Jakbym im nie napisał, że to na Atari robione to może wygrałbym Amigę :P
@epi: wuwuwu
@drac030: Hahaha. Trafniejsze jest LEŃiwy LEŃiwiec :)

2,055

(12 odpowiedzi, napisanych Scena - 8bit)

Hi tinctu.
Years ago I wrote hi-res graphics program called Graph8. It was released with a number of my old graphics (signed as Gephard). New works were created by Innuendo and are assigned to distro too.
Another program to making b/w logos in text-mode is SGE. .atr file contains logos from Lasermania and Robbo games, and my logos from XL Digital music collection.
Many my graphics are viewable here.

2,056

(15 odpowiedzi, napisanych Bałagan)

A nie Bilińskim?

2,057

(9 odpowiedzi, napisanych Bałagan)

Hahaha. A gdzie szukałeś?

2,058

(20 odpowiedzi, napisanych Fabryka - 8bit)

Racja. Dodane :) Dzięki za pomoc.

2,059

(20 odpowiedzi, napisanych Fabryka - 8bit)

@Monsoft: Wprowadziłem poprawki, o których pisałeś, poza tym konfiguruję w Makefile separator dla katalogów ('/' *nixy, '\' Windows). Wszystko jest w wersji dostępnej na stronie (łącznie z zakomentowanymi opcjami dla Windowsa w Makefile).

2,060

(20 odpowiedzi, napisanych Fabryka - 8bit)

@Monsoft: Dzięki. Wygląda na to, że udało się to skompilować i działa poprawnie z strchr i strrchr (glibc pisze, że index i rindex to aliasy na te funkcje). Wersja skompilowana specjalnie dla Pinokia znajduje się tutaj.

2,061

(49 odpowiedzi, napisanych Sprzęt - 8bit)

Zapominasz o już istniejących partycjach, które jakoś trzeba zamontować. SpartaDOS FS powstał później niż AtariDOS FS (czy tam jego modyfikacja - MyDOS), jest znacznie lepiej przemyślany, ale jakoś do dzisiaj używa się i tego drugiego.

2,062

(20 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki.

2,063

(49 odpowiedzi, napisanych Sprzęt - 8bit)

Tak jest. Nie ograniczaj się SDXem - ładuj wszystko po SIO :P

2,064

(20 odpowiedzi, napisanych Fabryka - 8bit)

@Monsoft: A co było? -lmath zamiast -lm?

2,065

(42 odpowiedzi, napisanych Bałagan)

Eclipse ma plugin CDT (C/C++ Developer Tool) do tworzenia aplikacji w C/C++. Używam tego od czasu do czasu i jest przyjemnie. Nie ma tam żadnych wizualnych rzeczy, bo to tylko edytor i kompilator. Designerów dla formatek dla Eclipse nie znam.

Edit: CDT to taka konwencja nazewnicza - mają też JDT (Java Developer ...), PDT (PHP Developer ...) itd.

2,066

(301 odpowiedzi, napisanych Zloty)

Bardzo się cieszymy. Swój swojego zawsze zrozumie... :P

Oj sOnar, sOnar - ty to tak na poważnie? :)

Edit: Eeeee - mnie też dopisz do listy haaaaaaaaa szatan, szatan, piekło i szatani.

2,067

(42 odpowiedzi, napisanych Bałagan)

Biblioteka Qt z narzędziem do projektowania formatek QtDesigner (zdaje się), QtLinguist do i18n.

Edit: Jako przykład kodu możesz obejrzeć AspeQt.

2,068

(20 odpowiedzi, napisanych Fabryka - 8bit)

A wersja 0.4 akceptuje nazwę źródłową z całą ścieżką.

2,069

(301 odpowiedzi, napisanych Zloty)

Doprowadzi się ją do porządku. Po party na pewno będzie już prezentowała standardy, do jakich jesteśmy przyzwyczajeni.

2,070

(20 odpowiedzi, napisanych Fabryka - 8bit)

Czołem.
W swej niezmierzonej dobroci postanowiłem dzisiaj podzielić się swoim wynalazkiem i ułatwić życie osobom, które przygotowywały sobie (lub zamierzają przygotować) miliony plików do zgrania do .atr'a.
Programik przeprowadza konwersję długiej nazwy pliku (LFN) na krótką dokładając w razie potrzeby n-cyfrowy sufiks. Wszystko to dzieje się w kontekście katalogu docelowego (domyślnie katalog bieżący), w którym sprawdzana jest obecność pliku o proponowanej krótkiej nazwie.
Sposób uruchomienia:

$ abbr [opcje] [[katalog_docelowy] plik_źródłowy]

gdzie opcje to:
* -u/-l - upper/lowercase nazwy docelowej
* -c zestaw - nazwa podpada pod wymogi wybranego zestawu, czyli "spartados", "ataridos" lub "mydos"
* -n ilość - nazwa ograniczona jest do ustalonej ilości znaków
* -x ilość - rozszerzenie ograniczone jest do ustalonej ilości znaków
* -s ilość - rozmiar sufiksa ustalony jest na podaną ilość cyfr
Jeśli nie poda się ograniczeń na rozmiar nazwy (-n), wtedy programik dokłada sufiks do nazwy pliku nie obcinając jej, wpp jej maksymalny rozmiar zostanie obcięty o podaną ilość cyfr generowanego sufiksu.
Jeśli nie wybierze się zestawu, nazwa nie będzie filtrowana na zgodność z wymogami DOSu (atarowskiego).
Dla uniknięcia niejednoznaczności z nazwami plików w katalogu docelowym zaleca się stosowanie przełączników -l lub -u.
UWAGA! Program nie tworzy żadnych plików, a jedynie proponuje nazwę docelową.
Jeśli program nie potrafi zaproponować nazwy poruszając się w zadanych ograniczeniach nie zwraca nic prócz kodu wyjścia 1 (jeśli znalazł wypisuje nazwę i zwraca kod wyjścia 0).

Aby np. Wsadzić do katalogu ~/ATARI wszystkie pliki z katalogu bieżącego, ustalić im nazwy 8+3 pisane wielkimi literami należy wykonać:

for f in *; do F=$(abbr -u -n 8 -x 3 ~/ATARI $f); if [ -n "$F" ]; then cp $f $F; fi; done

Program jest dostępny tutaj.

Tradycyjnie zapraszam do testowania i zgłaszania bugów i żądań.
P.S. Program jest atari8fs compatible :).

Edit: Aaaaaa. Jak to zainstalować:

$ wget http://mono.atari.pl/fuse/abbr-0.3.zip
$ unzip -d abbr-0.3 abbr-0.3.zip
$ cd abbr-0.3
$ make
$ sudo make install

2,071

(71 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Ja również.

2,072

(71 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Ja też chętnie zakupiłbym egzemplarz.

2,073

(27 odpowiedzi, napisanych Zloty)

Dzięki.

2,074

(27 odpowiedzi, napisanych Zloty)

Ooo wielkie dzięki.
@wieczor: A można prosić o muzykę z dema?

2,075

(99 odpowiedzi, napisanych Zloty)

Ja też bardzo dziękuję. Greyowi za organizację, uczestnikom za towarzystwo. Było świetnie! Jeśli chodzi o prace, to maluchy pobiły wszystko. Co mnie najbardziej ucieszyło, to demo na 2600 (świetna muzyka! tylko jak sobie zrobić carta, żeby to obejrzeć na żywo...), no i dwa genialne dema na xl/xe (lamers r0x, a mec jest klasą sam w sobie!). Jeszcze raz wielkie dzięki! Do zobaczenia za rok :D