26

Odp: SIO2BSD

> Opisujesz SpartaDOS X.  Niestety, tego (zwł. obsługi ramdysku i alokacji pamięci, buforów I/O) raczej się nie zmieści w 2 KB.

sadze ze jednak moze zajac i to mniej jesli nie bedziemy operowac na filesystemie i komunikacji narzucanej przez dos

> Dodam że SDX jest tak skonstruowane, że od biedy można byłoby w ten sposób w ogóle przekierować całą obsługę dysków na zewnątrz przez taki sterownik.

i tu dotykasz funkcji ktore powinien zapewnic os, ale sdx jako nakladka na os to inny temat...

> Tylko nie ma po co, lokalny twardy dysk jest o wiele lepszy.

no wlasnie nieprawda, cala rozmowa sie wlasnie zaczyna od tego (w moim rozumieniu) obsluga filesystemu na zewnatrz a nie po stronie atari liczyc sektor xxx pozniej oblicz kolejny adres sektora, zaladuj xxx a pozniej jeszcze yyyy

> Obchodzi, jeśli ma pamięć masową, do której nie sięga wyobraźnia autora programu (e.g. całodyskowy SynFile vs stacja 720k).

nie! przykladowo siegam do bajtu yyyy otwartego pliku a nie obliczam gdzie ten bajt lezy czaly czas pamietajac jaki jest filesystem, laduje sektor i dopiero dana yyyy. !!! wracasz do punktu wyjscia a bylo juz tak dobrze

> Nie, po prostu musisz uważać, gdzie i jak ładujesz dane.

eeee, ladujac do podstawowej pamieci atari w tych adresach to sie nic nie stanie ale jesli zaladujesz do pamieci vbxe w tych adresach to zwis... w pierwszym i drugim przypadku nie ma tam programu sdx, niestety to bug do poprawy.

http://atari.pl/hsc/ad.php?i=1.

27

Odp: SIO2BSD

XXL: jak Ci mało ramu to pisz na peceta. Cała frajda z kodowania na Atari jest właśnie z tego, że RAMu (pixeli, kolorów, cykli na sekundę) jest mało.

Ostatnio edytowany przez epi (2010-12-20 15:42:32)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

28

Odp: SIO2BSD

umysl tak otwarty jak u atariksi
bez dwoch zdan
cala pamiec dla programu, dos to zlo, a os to za loader moze sluzyc, a najelpiej to tez wywalic

przechodze na tumiwisizm

29

Odp: SIO2BSD

babcia malinka mowila z glupim sie nie nagadasz, najpierw sprowadzi cie do swojego poziomu a pozniej wygra doswiadczeniem ...


a odpowiadajac na posta:

http://i150.photobucket.com/albums/s85/Stebthefirst/TripleFacePalm.jpg

http://atari.pl/hsc/ad.php?i=1.

30

Odp: SIO2BSD

otoz to ;)

przechodze na tumiwisizm

31

Odp: SIO2BSD

xxl napisał/a:

daleko szukac, to tez jest wada, zalozmy ze konfiguruje memacA na $4000 i przeprowadzam ladowanie do pamieci VBXE...

Czy sądzisz, że gdyby przyjąć, że każdy użytkownik, który potrafi skonfigurować użycie okna VBXE na $4000 zauważy, że tam siedzi bank od SDX to będzie znacznie nadużycie?

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

32

Odp: SIO2BSD

xxl napisał/a:

no wlasnie nieprawda, cala rozmowa sie wlasnie zaczyna od tego (w moim rozumieniu) obsluga filesystemu na zewnatrz a nie po stronie atari liczyc sektor xxx pozniej oblicz kolejny adres sektora, zaladuj xxx a pozniej jeszcze yyyy

> Obchodzi, jeśli ma pamięć masową, do której nie sięga wyobraźnia autora programu (e.g. całodyskowy SynFile vs stacja 720k).

nie! przykladowo siegam do bajtu yyyy otwartego pliku a nie obliczam gdzie ten bajt lezy czaly czas pamietajac jaki jest filesystem, laduje sektor i dopiero dana yyyy. !!!

No i tu własnie fundamentalnie błądzisz, bo DOS jest po to, żeby nie trzeba było (= żeby program użytkownika nie musiał) pamiętać, jaki jest filesystem, ani liczyć sektorów. Fakt, że niektóre DOS-y tego nie zapewniają świadczy tylko o tym, jak są prymitywne i gdzie powinny wylądować. Na szczęście Atari jest tak zrobione, że można sobie DOS wybrać.

eeee, ladujac do podstawowej pamieci atari w tych adresach to sie nic nie stanie ale jesli zaladujesz do pamieci vbxe w tych adresach to zwis... w pierwszym i drugim przypadku nie ma tam programu sdx, niestety to bug do poprawy.

Jak już o tym była mowa, to nie jest żaden bug, SDX nie będzie poświęcać ~40 cykli przy _każdym_ przełączeniu banków (a robi to _bardzo_ często) na zachwywanie stanu MEMAC A, skoro bez większego wysiłku (i tylko przy ładowaniu danych) może to zrobić sam program.

KMK
? HEX$(6670358)

33

Odp: SIO2BSD

> No i tu własnie fundamentalnie błądzisz, bo DOS jest po to, żeby nie trzeba było (= żeby program użytkownika nie musiał) pamiętać, jaki jest filesystem, ani liczyć sektorów. Fakt, że niektóre DOS-y tego nie zapewniają świadczy tylko o tym, jak są prymitywne i gdzie powinny wylądować. Na szczęście Atari jest tak zrobione, że można sobie DOS wybrać.

teraz tak jest, dos to zapewnia a nie program usera. dos program dzialajacy po stronie atari zarzadzajacy filesystemem na urzadzeniu zewnetrznym :-) caly czas wlasnie o tym mowimy. caly czas wlasnie to walkujemy.

> Jak już o tym była mowa, to nie jest żaden bug, SDX nie będzie poświęcać ~40 cykli przy _każdym_ przełączeniu banków (a robi to _bardzo_ często) na zachwywanie stanu MEMAC A, skoro bez większego wysiłku (i tylko przy ładowaniu danych) może to zrobić sam program.

vbxe jest kolejnym urzadzeniem, ktore ma mozliwosc przelaczania pamieci, gdyby powstalo jakies inne rozszerzenie pamieci mogace przelaczyc swoje banki w adresie $4000 to tez napiszesz ze sdx nie bedzie go obslugiwac?
i o tym tez juz pisalismy, dos (kazdy) w takiej postaci jak na atari generuje mnostwo problemow a dzielni programisci rozwiazuja te problemy, rozwiazuja i rozwiazuja, to proces ktory nigdy sie nie skonczy. jesli zamiezasz pomysl, ktory tu dzis omawiamy sprowadzic do sterownika dla dosa zeby mozna bylo kopiowac dane to chyba jeszcze nie czas na zmiany :(

http://atari.pl/hsc/ad.php?i=1.

34

Odp: SIO2BSD

drac030, brawo. Widziałam, podoba mi się i będę używać :)

oto koło :r przyp "pole 3,142857 * :r * :r przyp "l 2 * 3,142857 * :r przyp "i l / 360 powtórz 360 [np :i lw 1] już

35

Odp: SIO2BSD

Potestowałem nieco PCLinka na SDX 4.43RC2. No i muszę powiedzieć, że przy ustawionym HSINDEX=3 (a jest to najszybszy, jaki aktualnie działa z SDX) NEOPLAY załadował mi JSETNEO (90kb) w 10s, a GEBOFONa w 40s (250kb). Wszystkiemu towarzyszył wysoki gwizd. Jeśli ktoś nie ma IDEA/KMK, to można to śmiało polecić PCLINKa do użytkowania :)

Note: Eksperymentalnie do SIO2BSD zostało wprowadzone ustawienie prędkości transmisji za pomocą HSINDEX (wartość wpisywana w Atari do POKEYa). Aby to uruchomić należy ustawić parametr -b 0 i podać -i HSINDEX (w tym przypadku 3 - taka wartość brana jest zresztą domyślnie):

$ sio2bsd -b 0 -i 3 ./pcl1_mapped_dir/

po wykonaniu polecenia:

D1: DIR PCL1:

widać ładny katalog z PieCeta.
Oczywiście przed wykonaniem tych czynności należy załadować sterownik PCLINK.SYS.
PCLINK chwilowo konfliktuje z RAMDISK.SYS więc do testów należy go odinstalować - RAMDISK.SYS jest już poprawiony przez Draco i pojawi się w nowym release SDX.

Edit: Chwilowo HSINDEX działa tylko na Linuxach.

Ostatnio edytowany przez mono (2011-01-07 01:37:29)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

36

Odp: SIO2BSD

Dla chętnych eksperymentalna wersja pod Windows: http://drac030.krap.pl/sio2bsd-win32.zip (skompilowana Cygwinem, ale działa również bez, niezbędne biblioteki są w środku).

Niestety, u mnie (na Win7) transmisja nie działa zbyt stabilnie, ciągle lecą jakieś błędy, nawet na 19200, nie mam pojęcia o co chodzi, a nie znam się na Windowsie ani Cygwinie na tyle, żeby cokolwiek nawet zgadywać.

Dobrze by było znaleźć jakiś przenośny (przynajmniej pomiędzy unixoidami) sposób na zaimplementowanie tego, o czym wyżej pisze mono, tzn. arbitralny dobór dzielnika częstotliwości na UART-a.

KMK
? HEX$(6670358)

37

Odp: SIO2BSD

skoro dziala pod cygwinem, pewnie niewiele roboty by przerobic pod mingw32?
dzisiaj juz nie popatrze, ale jak chcesz moge sie przyjrzec jutro...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

38

Odp: SIO2BSD

Z mingw pewnie nie będzie problemu. Ale problem jest z tym rwaniem transmisji. Przyszło mi do głowy, że przyczyną może być to, na co się natknąłem na samym początku pod FreeBSD: za mała częstotliwość zegara schedulera. Na frebździe dało się ją łatwo zwiększyć i problemy minęły jak ręką odjął. Więc pytanie brzmi: czy pod Windows można jakoś zrobić to samo albo w jakiś inny sposób zapobiec wywłaszczeniom na dłuższe okresy. Bo APE jakoś przecież działa.

Ostatnio edytowany przez drac030 (2011-01-09 15:10:03)

KMK
? HEX$(6670358)

39

Odp: SIO2BSD

mozesz ustawic priorytet, mozesz ustawic timer...

przechodze na tumiwisizm

40

Odp: SIO2BSD

Moje pytanie powyżej było już inspirowane przypuszczeniem, że mogę :P

KMK
? HEX$(6670358)

41

Odp: SIO2BSD

Parę poprawek: http://drac030.krap.pl/sio2bsd.tar.gz

KMK
? HEX$(6670358)

42

Odp: SIO2BSD

Jak wyżej.

KMK
? HEX$(6670358)

43

Odp: SIO2BSD

drac030 napisał/a:

Parę poprawek: http://drac030.krap.pl/sio2bsd.tar.gz

Nie wiem, czy wiesz, ale sio2bsd chodzi pod macos x bez przeróbek :)

44

Odp: SIO2BSD

qbahusak napisał/a:

Nie wiem, czy wiesz, ale sio2bsd chodzi pod macos x bez przeróbek :)

Dobrze wiedzieć, dzięki :)

Przy okazji: zwrócono mi uwagę, że program nie dołącza jednego pliku nagłówkowego, niezbędnego do skompilowania programu pod Linuxem. Już naprawione, mam nadzieję, że pod macosem nie zaszkodzi.

KMK
? HEX$(6670358)

45

Odp: SIO2BSD

Witam,
Ale czy to nie zostało już czasem wynalezione?

http://aspeqt.sourceforge.net/

AspeQt jest dostępny pod Windows i pod Linuxem i ma funkcję "Folder images", czyli katalog na PC-cie widoczny jest na Atari i to bez żadnych sterowników.
Jedyny minus to tryb READ-ONLY, ale to jest Open Source, więc może dałoby się dodać funkcje zapisu na takim dysku.

ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3

46

Odp: SIO2BSD

To nie zostało wcześniej wynalezione ;) To co ma AspeQt (i APE też) to emulacja ATR-a w locie, tzn. zestawianie obrazu dysku z dostępnych w podanym katalogu plików.

Funkcje zapisu się oczywiście da zrobić (APE chyba nawet ma), z tym tylko, że mnie osobiście takie rozwiązanie średnio zadowala. Np. PCLink pozwala mi przerzucić zawartość całego twardego dysku (pliki + katalogi) na peceta, z zachowaniem nie tylko układu drzewa katalogów, ale też z np. zachowaniem czasu i daty każdego pliku.

Daj mi znać, kiedy będzie to można zrobić pod AspeQtem albo APE.

KMK
? HEX$(6670358)

47

Odp: SIO2BSD

> zachowaniem czasu i daty każdego pliku.

podejrzewam, ze kazdy zapisywany plik bedzie mial wbity czas i date. nie jest to jakas specjalna funkcjonalnosc programu np. APE. byc moze chodzi o zachowanie czasu i daty tej ktora byla w pliku zrodlowym? ale to chyba ma znaczenie tylko dla userow sparta dosa?

http://atari.pl/hsc/ad.php?i=1.

48

Odp: SIO2BSD

xxl napisał/a:

byc moze chodzi o zachowanie czasu i daty tej ktora byla w pliku zrodlowym?

Gratuluję odkrycia.

ale to chyba ma znaczenie tylko dla userow sparta dosa?

Czyli dla mnie. Dlatego napisałem ten program.

KMK
? HEX$(6670358)

49

Odp: SIO2BSD

SIO2BSD w wersji 1.14 zostało zaopatrzone w nowe opcje.

-f pozwala na formatowanie .atr'ów (kiedy Atari wysyła komendę "Format" po SIO), które mają pierwsze 3 sektory gęstości SS/DD i DS/DD pełne (po 256 bajtów).
-q umożliwia ustawienie częstotliwości taktowania POKEYa przez co precyzyjniej wyliczana jest prędkość transmisji ustawiana w porcie szeregowym; można podać tu konkretną częstotliwość (z przecinkiem np. -q 1789772.5) lub predefiniowane stałe: "pal", "ntsc", "ntscf" (częstotliwość taktowania komputerów NTSC z Freddym - wg informacji z Atariki); jeśli nie podaje się częstotliwości -q wtedy przyjmowana jest (wzorem AspeQt) częstotliwość uśredniona między PAL a NTSC z Freddym (czyli 1781610 Hz).

Poprawiony został też wzór liczący prędkość transmisji dla konkretnego HSINDEX i aktualnie wygląda to tak:

baudrate = f / (2 * (hsindex + 7.13))

dzięki czemu podczas komunikacji z dowolnym predefiniowanym zegarem (również domyślnym) nie powinno już być żadnych zacięć z indeksami 1..3 (AspeQt ma, bo ma te prędkości predefiniowane a nie wyliczane ;]).
Opcja -q uaktywnia się, analogicznie jak -i tylko w Linuxie.

Poprawiono też błąd ujawniający się podczas pracy z konwerterem RS-USB Prolific PL2303 a polegający na niemożności ustawienia dowolnej prędkości transmisji. W takim wypadku przyjmowana jest domyślnie 57600 bit/s.

Całkowicie zmieniony został interfejs mkatr. Aktualnie wszystkie parametry podaje się z linii poleceń - nie pojawia się już żadne menu. Gęstości są oczywiście predefiniowane i, jak poprzednio, można też zdefiniować własny format.

Testy przeprowadziłem niestety tylko z Atari w wersji PAL, ponieważ nie posiadam maszyny w NTSC. Jeśli ktoś byłby chętny do potestowania, lub wypożyczenia mi takiego komputera do testów, to byłbym wdzięczny (na najbliższym party/sztabie oferuję piwko w ramach rewanżu), gdyż chodzi mi o doprecyzowanie/zweryfikowanie współczynnika we wzorze.

Edit: Wszystko to przez IDE+, który ma w sobie obsługę US dla SIO. Wystarczy to uaktywnić, po czym boot można śmiało uskuteczniać z HSINDEX=0 :) SDX 4.44 też ładnie pracuje z takimi prędkościami.
Draco w godzinach popołudniowych lub wieczornych wystawi aktualną wersję SIO2BSD do ściągnięcia.

Edit 2: Oczywiście XL OS z łatką Hiasa też z tym ładnie pracuje.

Edit 3: Testy przeprowadzano z konwerterami RS-USB: FT232RL, PL2303 oraz z I/O Boardem Candle'a.

Ostatnio edytowany przez mono (2011-08-04 11:51:21)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

50

Odp: SIO2BSD

Zmiany zaaplikowano, nowa wersja jest dostępna tutaj:

http://drac030.krap.pl/pl-inne-pliki.php

Dzięki, mono!

KMK
? HEX$(6670358)