Popełniłem program XL Creator do tworzenia plików cdxl. Program służy do sklejania plików i sampli iff do pliku cdxl, przy czym nie ma ograniczeń xlmake. Sample mogą być stereo. Bitmapy mogą być interleaved. Tryb AVM służy do obrazków typu DCTV, HAME (autodetekcja), ale nie ma właściwie żadnego wpływu na obraz oprócz włączania hires. Speed właściwie nie jest zapisywany i służy jedynie do kalkulacji. Save CDx zapisuje speed do pliku, ale jako prędkość CD-ROM, więc speed musi być wielokrotnością 75. Opcja RGB32 to mój pomysł. Zapisuje paletę 24 bit w kompatybilny sposób, aby stare playery odczytały 12bit, a te świadome jako 24bit. Ma to istotny wpływ na jakość w 256 kolorach i HAM-8. Jest to sposób niekompatybilny z AGABlaster, ale pamiętajcie, że AGAConv tworzy pliki cdxl typu custom.
Jako, że sztandarowy program cdgsxl jest nieskończony, błędny itp. On nie sprawdza czy plik w ogóle to cdxl, nie odgrywa stereo, interleaved, wiesza się gdy colormap jest większa niż 512 bajtów. Poprawianie go nie ma sensu, więc napisałem od nowa nowy player dosxl, gdyż nie korzysta cd.device. Dla cdgsxl zrobiłem fixa, żeby nie wieszał się z powodu zbyt dużej colormapy oraz porobiłem skróty dla niektórych opcji. Zamiast opcji patchopenwb (pusta opcja) dałem def, która włącza automatycznie: dosxl, blit, multipal, nopointer, rmbabort.
Mój dosxl jest dość restrykcyjny, sprawdza nagłówki, jest w pełni systemowy, korzysta z audio.device. Pliki bez dźwięku odtwarza na tę chwilę używając delay. Na pewno wymaga ulepszeń, ale póki co działa poprawnie. Stara się wykalkulować poprawny speed, ale z tym może być różnie.
Okazuje się, że AnimFX odgrywa pliki stereo, ale on posiada podstawowe błędy. Ustawia audio na własną częstotliwość, co wypacza większość filmów. Drugi błąd to odczyt głębokości obrazu z nagłówka jako word, a nie byte. W nagłówku poprzedzający bajt jest typu reserved i powinien być zerem, ale nie musi być, bo takie bajty mogą być zmienione i autor cdgsxl zmienił go na cd-rom speed. Więc jak w XLC opcja Save CDx zapisze prędkość to AnimFX będzie chciał otworzyć ekran z głębokością w tysiącach.
link
Ostatnia aktualizacja: 28.02.2022 11:16:23 przez cholok