[#15]
Re: Ładowanie plików w ASM
@asman,
post #14
Ja uważam że albo pisze się pod system albo nie. Nie ma pośredniej drogi bo wychodzą śmieszne rzeczy na innych konfiguracjach niż Twoja.
Ja przedstawiłem sposób na to, żeby nasz program czasu rzeczywistego nie wyłączał multitaskingu, a zarazem był zsynchronizowany z ramką celem uzyskania animacji 50/60fps.
Jeśli użyjemy przerwania Coppera i zainstalujemy go sobie we własnej Copperliście (np. copperliście użytkownika własnego ekranu) to wówczas nasze przerwanie będzie wykonywane tylko, gdy ekran/copperlista jest aktualnie aktywna.
Nie będzie konfliktu z innymi programami.
Mój sposób nie jest sposobem pośrednim, ponieważ nie używa bezpośrednio rejestrów sprzętowych, a zarazem nie wyłącza systemu.
Uważam, że dzięki temu nasz program będzie działać bardziej niezawodnie na różnych platformach (OCS/ECS/AGA) i systemach (1.3/2.0/3.0). Odchodzi bolączka z dostosowaniem ustawień rejestrów w zależności od kości graficznych.
Zarazem nasz program będzie koegzystował w systemie wielozadaniowym nie muląc pozostałych programów aktualnie wykonywanych.
Walenie np. po rejestrach stacji dyskietek itp. to dość dawne rozwiązanie, które zostało aktualnie wyparte przez dużo lepsze, np. korzystanie z twardego dysku.
Poza tym dla mnie nie ma nic bardziej denerwującego niż program, który przejmuje kontrolę nad wszystkim i nie da się wyłączyć.
Amiga została zaprojektowana jako komputer i system wielozadaniowy i oferuje usługi, które umożliwiają tworzenie programów czasu rzeczywistego. Uważam, że nowoczesne programowanie powinno z tych usług korzystać.