Poprzedni przykład ze zmienionym entrypointem dla LZWVL jest do dupy - nie używać
Zobaczcie sobie część sampli do bongo linking engine. Loader jest zgodny z wish listą Wacka:
$D011 - nieistotne co jest
PAL/NTSC - działa
$DD00 - możliwa zmiana banków podczas pracy loadera pod warunkiem zapisu do $DD00 gdzie 6 najstarszych bitów jest wyzerowane
sprajty - nieistotne ile ich jest i gdzie
IRQ/NMI - w dowolnym momencie może przerywać pracę loadera
badlinesy - nieistotne
(przy otwieraniu borderów również loader nie wniesie opóźnień czy jakichś "szumów")
Wsparcie dla:
- bongo cruncher (with/without golden seq)
- Doynax
- LZWVL
- Boozer
- EXO
- Level Crusher
Są to 4 rdzenie loaderów
- 1 krótki streamowy optymalnie czytający z przeplotem 8 (z fly decrunch $0a i większe w zależności od danych i rastra wyznaczonego dla niego)
- 2 szybszy ciut streamowy czytający optymalnie z przeplotem 6 + 2 dla decrunchera uwagi j.w.
- 3 nointerleave loader - ten nie jest uzależniony od przeplotu - sam się "wpasowuje" do tego co "przylatuje"
- 4 deterministyczny - działa na D64 robionych przez trackmolinkera - dzięki niemu z góry zna kolejność zapisywanych sektorów co daje mu fast file system bez zmiany kompatybilności plików z filesystem 1541
Te 4 rdzenie w sumie ze wsparciem dla cruncherów to osobne 28 loaderów zintegrowanych z decruncherem plus 4 "gołe" loadery bez decrunchera
Podczas pracy istnieje możliwość wymiany każdego z loaderów na dowolny inny w zależności od potrzeb można nawet wymieniać na inne decrunchery np jeden plik mieć spakowany exo inny level crusherem (raczej mało praktyczne ale możliwe)
Dodatkowe funkcje dla loaderów:
- exchange loader - to co powyżej
- 2 warianty change disk engine jeden bazujący na write protect drugi obywający się bez wrp. (moje drivy mają zjaraną fotodiodę
)
- find_by_filename (mało przydatne może dla "konserwatystów")
- get_start_tracks_and_sectors - jeżeli dyskietka nie jest składana jako trackmo tworzy tabelę start track i sectorów zapisanych plików (prg domyślnie - można zmienić w kodzie) - nie dla deterministycznego loadera
- get_silent_dir - pobranie danych o plikach zapisanych na 18,2 (działa z każdym loaderem - d64 musi być kreowane przez trackmolinkera bez opcji -dirent czyli trackmo disk) ograniczenie do 50 plików
Należy zmienić rozszerzenie na 7z - pozdro