Zwracam honor, ale dalej nie wiem co robie zle :/
Jsr/jmp zrozumialem (po prostu u mnie dane sa na koncu a po linii jsr mialem dalszy ciag programu).
Open z basica dziala (tylko nie tak jak Ty podales a OPEN #6,28,9,"S:"). Jak to zrobie na emulcu a potem wejde F8 do monitora i wczytam do pamieci ekranu dane graficzne z przygotowanego pliku (read plik 8150 1e00) to widze caly obrazek.
Jak wykonam Twoja procedure asm otwierajaca tryb 9 i tu sie zatrzymam to po wykonaniu akcji w monitorze jak wyzej widze caly obrazek. Jest git.
Ale ja probuje w moim programie zrobic cos innego...
W xasm laduje do obszaru pamieci $4000 obrazek ($1e00 bajtow):
org $4000
ins 'obrazek.ats'
Nastepnie otwieram tryb 9 (Twoja procedura)
Potem zmieniam w display list dwa bajty okreslajace pamiec obrazu na $00,$40.
Koniec (petla w miejscu bez konca)
I w tym momencie wyswietla mi sie gorne pol obrazka :/
Aha, obrazek siedzi na miejscu. Jak wpisze do DLa adres ekranu $5000 to widze dolna polowe obrazka w gornej czesci ekranu. Czyli dane w pamieci nie gina.