"Aby mieć Dli w każdej linii po prostu nie wychodzisz z przerwania aż do ostatniej linii wiersza. Oczywiście oprócz 1 linii w trybie znakowym." - to nie da przerwania co linie. choc efektywnie przerwanie "bedzie obslugiwane" dluzej, wiec bedzie sie rozciagac rowniez na inne linie.
nosty: uzyskujesz to przez takie "docyklowanie" by procka wykonywala sie w trakcie powrotu plamki z konca jednej linii do poczatku kolejnej. oczywiscie moze sie tez wykonywac "w trakcie" punktowania linii. po prostu jej wykonywanie sie musi trwac przez rozciaglasc ilosci linii znaku w danym trybie tekstowym.
Rozumiem i nie rozumiem :) Czyli moge sobie przeciagnąc czas trwania przerwania DLI na czas rysowania kilku linii (ekranowych - pixelowych) po prostu nie wychodząc z procedury?
Wszedzie wczesniej czytalem ze na przerwaniach DLI niewiele mozna zrobic bo jest tam tylko czas na kilkadziesiat cykli procesora itp. A tu piszecie ze moge przeciagac to przerwanie ile chce... tzn az plamka narysuje wszystkie linie znakow?
Ale w sumie nie o to chodzi zeby przerwanie DLI bylo jak najdluzsze. Pytalem o to czy przerwanie jest w kazdej linii obrazu (pixelowej) zeby miec jakis znacznik od ktorego glowny program moze odliczac takty aby w odpowiednim momencie przestawic pozycje X duszka aby go zmultiplikowac.
Nie wiem czy pisze zrozumiale. Zeby zmultiplikowac duszka trzeba zmienic jego pozycje X w kazdej linii obrazu (pixelowej). W tej sytuacji, gdyby miec przerwanie DLI w kazedej linii mozna by w nim bo ja wiem, zerowac jakis znacznik, zeby bylo wiadomo ze zaczela sie nowa linia i mozna liczyc takty.
Ale widze ze w trybie tekstowym jest to niemozliwe, wiec multiplikowanie w nim duszka w poziomie jest pewnie praktycznie niewykonalne z powodu trudnosci obliczeniowych.
Musze sie "przesiasc" na analogiczny tryb graficzny.
Dzieki wszystim za wyjsnienia. Postaram sie tego nie zmarnowac. Choc chyba zaczne od opanowania pojedynczych duszkow, potem przejde do multiplikowania w pionie a dopiero na koncu do powielania w poziomie ;)