1

jesli dobrze rozumiem, to ustawienie lub skasowanie ktoregos bitu w slowie kontrolnym pociaga pojawienie sie lub znikniecie dodatkowych bajtow w opisie tego konkretnego fragmentu XDL
tym samym, jesli zapragne sobie wlaczyc scroll w ktorejs linii XDL, to musze przepisac cala XDL od nowa
jesli sproboje go wylaczyc - musze postapic tak samo

w praktyce bedzie to oznaczalo, ze lepiej cos wlaczyc i ustawic (np scroll) na 0, niz nie wlaczac w ogole

oczywiscie udziwniam, ale moje pytanie zasadniczo ogranicza sie do jednego: czy warto miec zmienna dlugosc rekordow?

przechodze na tumiwisizm

2 Ostatnio edytowany przez laoo/ng (2009-04-16 07:31:04)

Wg mnie warto. Każdy dodatkowy bajt zajmuje pamięć i czas. Problem ze scrollem rozwiązuje się sam (tak jak opisałeś), a inne raczej nie wystąpią. Pomysł 20-bajtowego słowa programu XDL byłby raczej niepraktyczny.

3

tak samo jest w DL dla Antica, wlaczysz bit LMS i kolejne dwa bajty interpretowane sa jak adres...
tak samo jest z glownym, masz zmienna dlugosc rozkazow.

http://atari.pl/hsc/ad.php?i=1.

4

jak tempo odpowiedzi jeszcze troche spadnie, to forum, trzeba bedzie przemianowac na rubryke "listy od czytelnikow"

juz w tej chwili zastanawiam sie jak powinno rozpoczynac sie nowy watek

moze "droga redakcjo!"??

bez obrazy ludzie, ale nie spac i nie tlumaczyc sie brakiem czasu, bo zaglada kazdy po pare razy dziennie, jesli po to, zeby sie odmeldowac - to chyba szkoda waszego czasu

porownujac aa do periodyka, to by byl kwartalnik...
a nie wiem czy i nie cos jeszcze rzadszego

przechodze na tumiwisizm

5

Nie musisz XDL przepisywać, wystarczy mieć dwie (albo pięc, albo ile tam) i zmieniać wskaźnik.

KMK
? HEX$(6670358)

6

ja wszystko rozumiem, tylko tempo odpowiedzi jest oszolamiajace

przechodze na tumiwisizm

7

Programowanie VBXE to raczej niszowy temat, pewnie mało jeszcze kto w tym siedzi, no i dlatego tez nie każdy ma od razu sto refleksji na temat, czy XDL jest dobrze wymyślone czy nie. Na pewno jest trochę inne niż DL ANTIC-a, ale potrzeba trochę czasu, żeby się koderzy przyzwyczaili i mieli jakieś koncepcje, co jest dobre a co nie.

KMK
? HEX$(6670358)

8

jedynym tematy, ktore nie sa niszowe, to te, ktore sa zakladane w dziale balagan...
gdzie indziej pytam o mozliwosc realizacji odgrywania muzyki na drugim pokeyu przy standardowej (czytaj systemowej) transmisji - tez temat niszowy
nawet poprawne wyjscie do dosa jest tematem niszowym, chociaz jakies przebakiwania sie znajda na forum

przechodze na tumiwisizm

9

Akurat wątku z pokeyem nie widziałem, ale chyba nie powinno być żadnych problemów z muzyką (oprócz rwania SIO z powodu ewentualnego przeciążenia VBL-a przez player).

Poprawne wyjście do DOS-u załatwia LDA #$FF / STA PORTB (plus ewentualnie LDA #$00 / STA MB_CPU ) plus to http://atariki.krap.pl/index.php/Progra … GRAPHICS_0 plus RTS, bo w momencie uruchomienia programu przez RUN adres powrotny do DOS jest na stosie. Ewentualnie, jeśli zawartość stosu nie przetrwała, JMP ($0A). Nie ma w zasadzie o czym mówić, może dlatego nic o tym nie ma na forum.

KMK
? HEX$(6670358)

10

A JBW nie zalecał przypadkiem jmp (dosvec) czyli jmp ($a), jako poprawnego wyjścia do dos? Bo jeśli program inicjalizuje sobie wskaźnik stosu przez ldx #$ff, txs, albo przekręci się on w trakcie działania (np. dzięki za gęstym przerwaniom) to rts pójdzie w maliny.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

11

No przecież napisałem: "a jeśli zawartość stosu nie przetrwała" :) Chyba autor programu ma kontrolę nad tym, co się dzieje ze stosem, i stosownie do tego może sobie wybrać RTS albo JMP ($0A).

Przekręcenie stosu spowoduje raczej w ogóle zwis programu, przecież nad adresem powrotnym do DOS są dane odłożone tam przez uruchomiony program, więc one też ulegną zniszczeniu przy tej okazji i program pójdzie działać w malinowym chruśniaku nawet bez próby wyjścia do DOS-u...

KMK
? HEX$(6670358)

12

skoro to tak oczywiste, to dlaczego wiekszosc programow albo wychodzi przez reset, albo w ogole nie wychodzi?

byc moze to wiedza ogolna i nie ma co sie roztrzasac, ale mysle ze i takie podstawowe informacje powinny byc gdzies ujete

przechodze na tumiwisizm

13

Większość programów nie ma procedur wyjścia tylko i wyłącznie z dwóch powodów: Atari oryginalnie ma niewielką pamięć - czasem tylko system operacyjny w sensie DOS przetrwa uruchomienie i z nielicznymi wyjątkami jest jednozadaniowe - nie ma potrzeby wychodzić z programu... Tzn w tych dwóch aspektach nieco się może zmieniło przez ostatnie lata, ale nawyki programistom gruntuje stan oryginalny sprzed lat 20.

The problem is not the problem; the problem is your attitude about the problem

14

Candle napisał/a:

skoro to tak oczywiste, to dlaczego wiekszosc programow albo wychodzi przez reset, albo w ogole nie wychodzi?

Takich mamy koderów.

KMK
? HEX$(6670358)

15 Ostatnio edytowany przez mono (2009-04-24 13:56:30)

Hmmm. Ale wydaje mi się, że 20 lat temu w czasach działalności Avalonu (poprzez artykuły w Tajemnicach Atari) właśnie starano się gruntować poprawne nawyki wśród programistów: umiejętności przedłużania wektorów systemowych i korzystania z nich, wychodzenie do dosa, współdzielenie pamięci i zasobów przez programy, pisanie nakładek, handlerów cio itp.

Z inicjalizacją urządzenia E: to jednak mam mieszane uczucia. Bo jeśli ustawiamy wektor dlisty to można go przywrócić. Otwarcie E: jest niezbędne gdy robimy coś w pamięci ekranu i dlisty (choć i tak lepiej chyba zachować ten obszar chwilowo i przywrócić przed wyjściem do DOSa), ale jakoś dziwnie by to wyglądało gdyby po inicjalizacji zwykłej nakładki ekran został zresetowany - po skoku do DOSVEC chyba raczej DOS tego nie robi, a robi raczej przy inicjalizacji po RESET.

Co do wyjścia przez rts - chyba jednak preferowałbym jmp ($a), bo nigdy nie ma pewności z czego odpalany jest program i czy adres powrotu leży na stosie. Nawet zdaje się taki JBW COMmander instaluje się w pamięci przechwytując m.in. wektor DOS i nie każe aplikacjom bazować na powrotach przez rts.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

16

Jakoś z marnym skutkiem.

KMK
? HEX$(6670358)

17

po co wychodzic do dosa, skoro i tak wiekszosc gier (czyli wiekszosc "programow") na gieldzie sprzedawana byla w postaci bootowalnych kaset?
tj. taka byla owczesna mentalnosc...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

18

po to jest jakis system z jakims driverami i innymi p*.*, po to zapewnia jakies api zeby z tego kozystac
jak sie demko wczytuje z dyskietki to niech se robi co chce, ale jak ma sie czytac z twardnika, to niech sie zachowuje w sposob cywilizowany
co bylo 20 lat temu to ja wiem - guma turbo i donald, niewleie wiecej mnie wtedy obchodzilo
teraz nie jest 20 lat temu

przechodze na tumiwisizm