2,401

(40 odpowiedzi, napisanych Fabryka - 8bit)

Ale pisanie softu na peceta mnie nie bawi.

2,402

(40 odpowiedzi, napisanych Fabryka - 8bit)

Ponieważ od roku ponad mój atarak jest nieczynny, więc nie mam specjalnej motywacji. Oczywiście doskonale rozumiem, że skończenie się tablicy symboli to jest jedyne, co może powstrzymać TDC przed napisaniem programu na Atari.

PS. Może adiministracja przeniesie ten wątek do bałaganu?

2,403

(40 odpowiedzi, napisanych Fabryka - 8bit)

No może. Opieram się na tym, co pamiętam z działania Fcreate() w GEMDOS-ie ST, ale niekoniecznie muszę pamiętać dobrze. Wszystko jest do zweryfikowania w źródłach MiNT-a, oidp są to dwie oddzielne funkcje w sumie, jedna Fcreate(), a druga Fopen() z odpowiednimi flagami. Tak czy owak, ponieważ pod SDX tworzenie plików załatwia zwykłe OPEN, nie widzę potrzeby...

2,404

(40 odpowiedzi, napisanych Fabryka - 8bit)

Różne rzeczy nazywają się tak samo w różnych miejscach, np. seek dla DOS-u to zupełnie co innego niż dla kontrolera flopa.

create oidp tworzy plik na dysku i zwraca uchwyt 'write-only', no czyli po naszemu to jest OPEN #n,8,0,"D:nazwa" (i to zawsze było, nie?)

select usypia program do momentu, kiedy w którymś z podanych plików (a raczej ich uchwytów) nie pojawią się dane (bez mtasku sens wątpliwy).

Pomysły są zawsze mile widziane, ale na temat SDX to może nie w tym wątku? Bo się oftop robi.

2,405

(40 odpowiedzi, napisanych Fabryka - 8bit)

create już jest (zawsze było), select natomiast, o ile pamiętam do czego służy, to nie bardzo sobie wyobrażam w systemie, w którym nie ma multitaskingu.

@miker: no, to powinien sobie wymienić na nowszą wersję, mieliśmy gotową betę 4.42, były trzy dni na przetestowanie i upewnienie się, czy wszystko działa.

2,406

(40 odpowiedzi, napisanych Fabryka - 8bit)

No w sumie, ... sektory 512-bajtowe dają kopa jeśli chodzi o prędkość odczytu na IDEa, ale MyDOS i tak jest tak wolny, że chyba niewiele by mu to pomogło :) Poza tym bufory trzeba byłoby powiększyć, dzięki czemu MEMLO pewnie sięgnęłoby stratosfery.

@dely: sugerujesz, że pinokio nie umie skonfigurować SDX? Bo faktycznie, kompoty w Głuchołazach puszczał spod MyDOS-a, pamiętam mój sprzeciw na ten widok, któremu chyba nawet dałem wyraz ;)

2,407

(40 odpowiedzi, napisanych Fabryka - 8bit)

Bajt niekoniecznie (gdy sektor już był pełny), ale link owszem. Więc w sumie obiekcja nie jest taka ważna, jak mi się wydawało na początku.

A z licznikiem inne coś miałem na myśli: jak odróżniać ostatni sektor pliku od każdego innego. Liczba sektorów zajmowanych przez plik jest w directory, wystarczy, żeby procedura odczytująca pobrała ją do pamięci i przy sekwencyjnym odczycie kolejno zmniejszała. Przy dojściu do 1 wiadomo, że jesteśmy w ostatnim sektorze i żadne znaczniki nie są potrzebne.

2,408

(40 odpowiedzi, napisanych Fabryka - 8bit)

Nie czaję... a co z plikami krótszymi niż 6 sektorów?

Co do koduj - to nie jest pomysł na kodowanie, tylko na temat na forum. :P Jak wiadomo, ja się zajmuję SpartaDOS-em, w MyDOS-ie grzebać nie mam zamiaru, przypuszczalnie i tak nic z tego, o czym tu mowa, nie dałoby się zaimplementować z prostego powodu - MyDOS tak zmodyfikowany zająłby za dużo pamięci. Jeszcze oryginał (post 1) ma minimum zmian, ale pewnie wymagałoby dodania procedury oddzielnie wyszukującej parzyste i nieparzyste sektory, no i na tym by pewnie wszystko legło. Ale kto wie, może taki np. macgyver się zainspiruje ;D

2,409

(40 odpowiedzi, napisanych Fabryka - 8bit)

Dlaczego niby ja "mam" to wiedzieć?

2,410

(40 odpowiedzi, napisanych Fabryka - 8bit)

Mamy 16-bitowy link plus niezerowy "znacznik" w "normalnym" sektorze, a w ostatnim sektorze "znacznik" = 0, a zamiast linku mamy wypełnienie, tak? To dlaczego znacznik ma zajmować cały bajt? Może zajmować 1 bit chyba. Link można wydłużyć do 23 bitów, ale obiekcja jest w mocy.

2,411

(40 odpowiedzi, napisanych Fabryka - 8bit)

ALe przy 512-bajtowym sektorze ostatni bajt = $00 może równie dobrze oznaczać $0100. Raczej, jesli się nie znajdą obiekcje (których nie umiem wymyślić, ale wstałem rano ...), stawiałbym na to, co napisałem w EDIT w poście nr 9 - licznik sektorów (oddzielny dla każdego pliku) co prawda wydłuża DOS, ale to w tym wypadku i tak jest nieuchronne. A pojemność dysku zwiększa się w nieskończoność (16777216 sektorów po 16777216 bajtów :])

EDIT: obiekcja (dotycząca chyba wszystkich propozycji): w trybie odczyt/zapis (12) albo dopisywania (9), gdy plik wypełnia całkowitą liczbę sektorów, przed dodaniem nowego trzeba zmodyfikować zawartość "poprzednio ostatniego" sektora. To chyba trochę komplikuje.

2,412

(40 odpowiedzi, napisanych Fabryka - 8bit)

Gdzieś kiedyś widziałem doce do FS MyDOS-a, ale gdybym je miał pod ręką, jak grzebię w atariki, to ten artykuł by już dawno powstał...

2,413

(40 odpowiedzi, napisanych Fabryka - 8bit)

Naturalnie, można. Nie wiem tylko, czy w directory MyDOS-a znajdzie się wolny bit. To jest klon DOS-a 2.5, ale ma podkatalogi. Jednak, przy odrobinie szczęścia, zajmuje to tylko jeden bit (czyli dwa są wolne).

EDIT: albo jeszcze inaczej: zliczamy sektory podczas odczytu, i w ostatnim link ma inne znaczenie, tzn. mamy 24 bity wypełnienia, a w pozostałych sektorach są 24 bity linku. Ktoś zna jakieś obiekcje?

2,414

(40 odpowiedzi, napisanych Fabryka - 8bit)

To jest w atariki, kliknij na "Formaty systemów plików" na str. głównej.

EDIT: Jeszcze tylko dodam, że normalny program kompletnie nie potrzebuje wiedzieć, co to są bity statusu i czy istnieją. Do dostępu do dysku (np. zapisu albo odczytu plików) korzystasz z CIO (zob. atariki, hasło CIO na str. głównej). Zapenia to niezależność od formatu dysku, pojemności, wielkości sektora itede.

2,415

(40 odpowiedzi, napisanych Fabryka - 8bit)

@xxl: odpowiedź brzmi: nie każdy plik na dysku jest plikiem binarnym. Ergo, twierdzenie zawarte w pkt. 2 twojego posta jest fałszywe.

@epi: hmm, ale załóżmy, że mamy mieć wypełnienie 509. 509*2 = 1018, a to jest 3FA hex, jednak mamy tylko 9 bitów do zapisania wartości wypełnienia (8 w linku plus LSb nru sektora), co nam obcina najstarszy bit, więc wychodzi nam 1FA hex czyli 506 w sektorze parzystym i 507 w nieparzystym. Czyi źle, bo ma być 509. Nie wiem, czy dobrze liczę ...

@pin: ja bym dyskwalifikował za niechodzenie pod SDX :) Dlaczego polskie dema mają chodzić pod całkowicie amerykańskim MyDOS-em albo całkowicie niemieckim DOS-em II/+D, a pod w większości już polską Spartą X nie? ;)

2,416

(40 odpowiedzi, napisanych Fabryka - 8bit)

... albo prawie 32, w każdym razie powyżej 16.

MyDOS łączy pliki w ten sposób, że w każdym sektorze jest 3-bajtowy "link". Z tego dwa bajty (16 bitów) to numer następnego sektora pliku, a 1 bajt - wypełnienie, czyli liczba bajtów danych w sektorze (od 1 do 253).

Wynikałoby z tego, że przeniesienie tego na sektory 512-bajtowe jest niemożliwe, bo wtedy wypełnienie wynosiłoby od 1 do 509 bajtów, i tym samym braknie jednego bitu, żeby je zakodować (zakładam minimalne możliwe zmiany w kodzie istniejącego MyDOS-a).

Otóż myślę, że ten brakujący bit można byłoby zastąpić najmłodszym bitem numeru aktualnego sektora - tzn. tego, w którym znajdują się dane, a nie tego, który jest wskazany linkiem. Wtedy np. sektory o numerach parzystych mogłyby mieć wypełnienie z zakresu od 1 do 255, natomiast sektory o numerach nieparzystych - wypełnienie od 256 do 509, czyli de facto od 1 do 509.

Ergo, na pełne sektory oraz te z wypełnioną pierwszą połówką można byłoby przeznaczyć połowę takiego dysku, czyli 32768 sektorów 512-bajtowych = 16 MB. A ponadto zostałoby jeszcze drugie 16 MB na sektory z niepełną pierwszą połówką. W sumie, krótkich plików o różnym wypełnieniu ostatniego sektora można byłoby nagrać max. ok. 65535 (pomijam miejsce niezbędne na katalogi, bootbloki, bitmapę itd. - to jest tylko "teoretyczny zarys w miarę szczegółowy" :P), zajmując tym samym całem 32 MB. Im dłuższe pliki, tym wypełnienie partycji pogarszałoby się, ale wiadomo, że pliki na Atari nigdy nie są strasznie długie, więc per saldo byłby zysk => przełamana bariera 16 MB.

Worst case, to jeden plik wielkości 32768 sektorów. Gdy taki zaistnieje na dysku, można dogrywać tylko pliki o wielkości nie przekraczającej 255 bajtów, bo gigant zajmie wszystkie sektory, w których możliwe jest całkowite wypełnienie.

Czy jest gdzieś konkurs na najbardziej posraną koncepcję systemu plików? Może bym coś wygrał :D

2,417

(46 odpowiedzi, napisanych Fabryka - 8bit)

Owszem, jest to napisane w FM.

PS. W dodatku w najoczywistszym miejscu z mozliwych: przy opisie błędu nr $A1 (aka 161).

2,418

(46 odpowiedzi, napisanych Fabryka - 8bit)

Od dzisiaj, dzięki kooperacji z niejakim GoodByteXL of ABBUC, na stronie truba dostępna jest kompletna, angielska instrukcja do SpartaDOS X 4.41:

http://trub.atari8.info/index.php?ref=sdx_upgrade_en

2,419

(709 odpowiedzi, napisanych Fabryka - 8bit)

Ok, to dozo w Głuchołazach :)

2,420

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

Ożyć to sama nie ozyła. Schemat zrysował simius przy okazji naprawiania uszkodzenia (RAM był padnięty). Stację zabieram ze sobą do Głuchołazów.

2,421

(709 odpowiedzi, napisanych Fabryka - 8bit)

electron napisał/a:

A przyszły rdzeń będzie inny ...

No właśnie, co z tym "przyszłym rdzeniem"?

Mnie sie osobiście pomysł xxl-a nie podoba, może niech to juz będzie tylko to, co miało być, a koprocesor, jak ma być, to niech będzie w oddzielnym układzie. Bo obawiam się, że od takich rzeczy może w FPGA zabraknąć miejsca na to, co on ma w istocie robić, tzn. na SuperGTIA. No i wiadomo, trochę wolnego musi zostac na ewentualne późniejsze poprawki/rozszerzenia.

2,422

(24 odpowiedzi, napisanych Programowanie - 8 bit)

By o tym kiedyś wątek na AAge - ktoś prześledził oscyloskopem, co się wtedy dzieje. Są jakieś cyrki z sygnałami synchronizacji, oidp, jakby błąd w ANTIC-u. Nie mam teraz czasu poszukać tego wątku, a pamiętam słabo.

2,423

(57 odpowiedzi, napisanych Sprzęt - 16/32bit)

mazi napisał/a:

Z drugiej strony zawsze mnie zastanwialo to dlaczego podczas konstruowania, nowych, lepszych oraz szybszych amig to uklad dzwiekowy pozostawal ten sam bez zadnych unowoczesnien. Troche dziwne podejscie.

Odpowiedź pewnie jest taka sama, jak na "dlaczego podczas konstruowania nowych, lepszych 8-bitowych Atari używano ciągle tego samego chipsetu sprzed 7 lat": ze skąpstwa lub pospiechu. Stawiam na to pierwsze, wiadomo że taka firma prędzej kupi jacht dla prezesa albo nowy wieżowiec pełen sekretarek niż przeznaczy kasę na unowocześnianie produktu, który "i tak jest dobry, a userzy są zachwyceni" :)

2,424

(57 odpowiedzi, napisanych Sprzęt - 16/32bit)

seban napisał/a:

Amiga miała cztery 8-bitowe przetworniki C/A "karmnione" danymi zupełnie sprzętowo, w dodatku każdy z kanałów mógł mieć niezależną 5-bitową głośność.

W dźwięk na ST (i pokrewnych) to się nie bawiłem[1], więc moge się grubo mylić, ale coś mi się z lektury map pamięci do STE kojarzy, że STE ma sprzętowy mikser.

Poza tym przetworniki w STE oczywiście karmione są "zupełnie sprzętowo", tzn. przez DMA.

@fazior: zdaje się, że mylisz Yamahę z przetwornikami C/A ...

[1] moje jedyne osiągnięcie, to opanowanie techniki kopiowania danych po pamięci Falcona przy użyciu DMA Replay i DMA Record odpowiednio spiętych matrycą audio - oczywiście rzadko do czego jest to komu potrzebne (głównie do wykrycia, czy istnieje external clock). :)

2,425

(57 odpowiedzi, napisanych Sprzęt - 16/32bit)

Bo pewnie program, który zapuściłeś, gra na Yamaszce.