Niektóre systemy Windows i programy antywirusowe znajdują w pliku wirusa. Nie jest to prawdą. Program jest dwukrotnie kompresowany aby miał małą pojemność i dlatego tak jest rozpoznawalny.
Wszystko ok tylko apka troche nie dziala... tzn. z kazdym CASem wrzuconym do konwersji ktorego testowalem w efekcie apka robi po drodze WAVa i MP3 po czym jak tylko skonczy to wszystko usuwa, zarowno CAS'a jak i WAVa jak i MP3 (i te tymczasowe libki m.in. LAMEa ktore wypakowuje tez ;)
Kkrys, proszę o udostępnienie kodu źródłowego Twojego programu na licencji GNU GPL 3.0 lub nowszej. Nie udostępniając go łamiesz licencję na jakiej udostępniłem Ci źródła biblioteki A8CAS.
@Krótki: Nie korzystałem z żadnych ŹRÓDEŁ z Twoich bibliotek. Napisałem tylko graficzną nakładkę dla Twojego programu, aby unikać za każdym razem pisania poleceń z linii komend. Mój programik wywołuje Twój program z odpowiednimi parametrami np: a8cas-convert.exe plik_in.wav plik_out.cas. Jest to coś w stylu pliku *.bat na komputerach PC. Dodatkowo też przy tej samej technologi wywołuję kodeka lame.exe z odpowiednimi parametrami zgodnie z dokumentacją by przekonwertować do formatu MP3 i odwrotnie. Jak widać każdy znający się na programowaniu może sobie stworzyć taki plik *.bat wzorując się na moim rozwiązaniu lub wpisując polecenia z wiersza poleceń.
Aby ułatwić Atarowcom pracę z moją nakładką - spakowałem wszystko w jeden plik by nie szukać po internecie Twojego pakietu oprogramowania lecz widzę że to był błąd..
Program powstał w chwili potrzeby i moim kolejnym błędem był brak poinformowania ogółu, że głównym programem był Twój projekt - a ja tylko dorobiłem nakładkę graficzną dla łatwiejszej obsługi.
Nowsza wersja programu chyba już nie zamyka się po błędzie i można przeczytać instrukcję. Przekazałem sugestie: klikanie 3x OK jest chyba troszkę bez sensu - wystarczy jeden komunikat. Na przykład ja mam tak, że i tak czytam tylko ten pierwszy a potem "na pałę" klikam OK :) Potem jak nie działa, to zamykam program i od nowa przeglądam te komunikaty - bez sensu trochę. Co do brakujących komponentów, to raczej wygodniejsze będą linki do kliknięcia - mamy XXI wiek w końcu :) Podobno od tego program rozrasta się 4-krotnie ale powtarzam - mamy XXI wiek, więc te 4MB nie robi różnicy. Co do Lame, to na sourceforge są tylko źródła, a na dobreprogramy ESET blokuje stronkę całkowicie. Jeśli program jest tylko nakładką GUI na a8cas to chyba nie ma wymagania publikowania źródeł?
Ja myślę, że dobrą praktyką jest... dynamiczne ładowanie dll'i kiedy program jej potrzebuje, a do samego uruchomienia jej nie potrzebuje. Na upartego, można wszystko zapakować do resource i po odpaleniu wypakować na dysk :) xangel też dobrze prawi, że można na starcie pociągnąć co trzeba z netu - w sensie program może to zrobić, jeśli wykryje, że nie ma. Co do rozmiaru programu, upx ->link<- Twoim przyjacielem :)
Może i praktyka dobra, ale "w praktyce" powstaje mnóstwo odgałęzień w kodzie i konieczność sprawdzania biblioteki już w trakcie działania programu jest błędogenna. Albo nie sprawdzać i niech się wykrzacza, ale to nieeleganckie.
Ja jestem zwolennikiem podejścia: przygotuj warsztat a potem na####alaj nie przejmując się brakiem zasobów. Zwłaszcza w offlajnowych zastosowaniach, gdzie serwer jak się uruchomi, to ma działać aż go nie wyłączę.
Jasne, ale jak "wypuszczam" aplikację, to albo jest kompletna (czyli ma dll'e i inne niezbędne zasoby) albo sobie je dociąga instalator, albo dociąga aplikacja zanim się wyłoży z powodu ich braku :) Ale, że nic nie "wypuszczam" - w sensie dawno nic - a sam instaluję u klientów, to stosuję podobne podejście jak napisałeś.
Program nie ma jakiś tam dziwnych wymagań. Jest tylko nakładką graficzną na system konsolowej konwersji A8CAS "Krótki-ego".
W wolnej chwili będę jeszcze rozwijał tę nakładkę stosując się do podesłanych sugestii i aby nie było tyle niepotrzebnych okienek. Myślę, że do poprawek w programie wrócę po niedzieli. Na razie są ważniejsze domowe tematy do rozgryzienia.
Niestety - by nie łamać praw licencyjnych nie mogę implementować w mojej nakładce potrzebnych komponetów i bibliotek. Dlatego pod instrukcją dołączyłem przyciski z linkami do pobrania potrzebnych plików.
Zaznaczam że nie jest to program do konwersji tylko nakładka graficzna na system A8CAS "Krótki-ego".
Proszę przeczytać posty 10 i 11.
Nowe wersje nakładki będą publikowane w poście 1.
@pancio: rozpakuj UPX-em i zobacz czy pójdzie....
P.S. Sorki - chyba spałem wrzucając ostatnią wersję programu. Poprawiłem błędny plik.... Zauważyłem to przed chwilą....
Przepraszam że tak długo nie odpowiadałem, dużo zajęć miałem.
kkrys:
Nie korzystałem z żadnych ŹRÓDEŁ z Twoich bibliotek.
Ale przynajmniej w pierwszej wersji Twój program był pojedynczym plikiem wykonywalnym, który w środku zawierał pliki binarne pakietu A8CAS, więc w rozumieniu GPLv3 był pojedynczym programem (zob. tu), więc - co za tym idzie - jako całość mógłby być opublikowany jedynie na licencji GPLv3.
Potem zmieniłeś strukturę programu, więc problem przestał istnieć.
Natomiast, przygotowanie interfejsu graficznego do pobierania A8CAS i LAME przy pierwszym użyciu, to moim zdaniem niepotrzebna para w gwizdek. Ustalenie, czy archiwum ZIP zawierające program A i wymagane przez niego programy B i C, to są osobne programy czy jeden program w kilku częściach, to, wedle słów Free Software Foundation, a legal question, which ultimately judges will decide, ale ja nie jestem aż tak ortodoksyjny żeby się temu sprzeciwiać. Moim zdaniem byłbyś w zupełności w zgodzie z licencją GPL gdybyś spełnił poniższe warunki: 1. Publikował swój program jako archiwum ZIP zawierające w osobnych katalogach a) binarkę twojego programu, b) binarki pakietu A8CAS wraz z wszelkimi plikami README, LICENSE itp., c) binarki pakietu LAME wraz z wszelkimi plikami README, LICENSE itp., 2. W archiwum umieścił też plik README wyjaśniający że pakiet składa się z kilku komponentów na takich a takich licencjach, 3. W archiwum umieścił też plik LICENSE zawierający albo treść licencji każdego z komponentów, albo chociaż wskazujący gdzie w podkatalogach można znaleźć poszczególne pliki z licencjami, 4. Wraz z binarką programu publikował też archiwa z kodami źródłowymi A8CAS i LAME; licencja wymaga abyś publikując program będący na licencji GPL publikował również w jego źródła "w ten sam sposób", czyli wystarczyłoby jakbyś w tym wątku oprócz twojego programu dołączył to postu także źródła A8CAS i LAME.
Myślę że taki sposób publikacji byłby i wygodniejszy dla użytkowników końcowych, i mniej uciążliwy w oprogramowaniu, no i dzięki plikowi README każdy użytkownik by wiedział jakie ma prawa i obowiązki.
Jest 4.49 siedze przed komputerem i niestety jestem w czarnej du... niebytu.
Jak mam przekonwertowac pliki CAS turbo UM/AST na WAV tak zeby byly zrozumiale dla Altiry ????
Turgen niby dziala ale nie do konca bo efekt zaden. CASia jest wspaniala ale nie daje rady z turbo. :( Atari800 z poprawkami FUJI smiga na CAS az milo. Przy okazj dzieki @FUJI.
Prosze o podpowiedz co robie nie tak jak trzeba.
Inaczej. Prosze o lopatologiczne wytlumaczenie bo zaczynam watpic w siebie i swoje umiejetnisci.
Chce z pliku CAS turbo UM uzyskac to samo tylko WAV. Niestety po konwersji nic sie nie wczytuje. W normalu dziala.
Tak chce miec pod emulatorem, emulator magnetofonu turbo UM/AST Kasetowcy zrozumieja. HELP
1. emulator Atari800 z dodatkami TURBO 2. jakikolwiek kopier UM/AST 3. mapujemy na TAPE plik CAS Turbo 4. wczytujemy do kopiera 5. tworzymy w emulatorze nową pustą taśmę w formacie WAV 5. zapisujemy z kopiera na TAPE 6. po odmapowaniu nowej taśmy mamy na dysku gotowy plik WAV
to tak w skrócie teoretycznie bo nie mam jak sprawdzić (nie posiadam Turbo-Casów) ....
Pozdrawiam
P.S. @atariki50: Możesz udostępnić trochę takich Turbo-Casów na testy ?
Z moich obserwacji wynika, że domyślny algorytm dekodowania turbo Altirry nie działa dobrze z impulsami harmonicznymi. W przypadku Turgena należy ustawić przebieg na „SQUARE” zamiast "AUTO", aby pliki WAV działały z Altirrą.
Jedynym obrazem taśmy, który nie jest oznaczony flagą [req RAMCART], jest plik Atari Turbo System v4 (199x)(Unerring Masters)(PL)(en)[Req UM Turbo].cas. Ten załaduje się, ale zawiesi komputer, ponieważ szuka pamięci ROM pod adresem 0x8000, której tam nie ma.
Generalnie nie mam problemów z ładowaniem przez Altirrę plików UM generowanych przez TURGEN, gdy przebieg jest ustawiony na "SQUARE".
*edit* Próbowałem odczytać parę waveow z Blizzardem używając softu z Hurkowego i Ataresowego cartridgea ale bez sukcesu :( Pod Atari800 wszystko działa, zarówno wspomniane cartridge jak i wavey. Sprawdzę czy wavey nie trzeba czasem generować w nieco inny sposób ale wolałbym tego nie robić bo mam wavey które bez problemu działają i z żywym sprzętem (adapter minijack kaseta w magnetofonie) jak i w emulatorze Atari800.
@baktra Testowałem na załączonym Archonie. Przed chwilą dla pewności jeszcze raz puściłem spod Microloadera 3.0 na Atari800 z patchem od kr0tkiego i poszło bez problemu. Natomiast Altirra zachowuje się tak jakby odczytywała dźwięk i niemal działało ale jednak nie ;) (przynajmniej "na słuch" i obserwując Blizzardowe "paski" na ekranie;) Tzn. sygnał pilotujący na paskach wygląda normalnie (ciemnobrązowy jednolity ekran przez cały czas trwania) ale tytuł już się nie daje załadować
W przypadku Blizzarda wydaje się to nieco bardziej skomplikowane. Nie jestem w stanie załadować niczego w Blizzard w emulatorze Altirra, bez względu na to jakie mam ustawienia i jaki kształt fali wybiorę w Turgen. Co ciekawe, zmodyfikowane atari800 ładuje wszystko dobrze. Postaram się przybliżyć problem.
EDIT: Pliki WAVE z Blizzarda, które ładuję za pomocą Altirry 3.90, nie ładują się za pomocą Altirry 4.XX.
EDIT2: Nawet Altirra 4.XX jest w porządku. Tak więc Turbo Blizzard wymaga kształtu fali SQUARE i ustawienia dekodera turbo Altirry „Slope”. Nie zapomnij, że jeśli zmienisz ustawienie dekodera Turbo w Altirra, będziesz musiał ponownie załadować taśmę.
@atariki W TURGEN jest błąd. Konwersja plików .xex do formatu Unerring Masters jest nieprawidłowa. Nie można załadować plików, które kończą się segmentem INIT.
EDIT: Błąd został naprawiony w świeżo wydanej wersji 9.1.2
ABBUC.WAV - OK CosinusDemo.WAV - OK Draconus.WAV - Nie ładuje się z powodu błędu Extirpator.WAV - OK HenrysHaus.WAV — Nie ładuje się z powodu błędu Stealth.WAV - OK, Altirra musi zezwolić na nielegalne opkody procesora Zybex.WAV - Nie ładuje się z powodu błędu