101

(12 odpowiedzi, napisanych Software, Gry - 8bit)

Nie sprawdzalem (nie bardzo moge), ale wydaje mi sie, ze powinno dzialac:

.ab 
php  
sep #$20
lda #$ff 
rep #$20
inc
php
pla
plp
lsr

Alternatywna wersja:

php
rep/sep #$10
php
pla
lsr
lsr
lsr
lsr
plp
lsr

co do linii rep/sep nie mam pewnosci jaka powinna zawierac instrukcje i czy jest to zalezne od umiejscowienia kodu w przerwaniu czy poza nim (w zwiazku z tym zglaszanie w znaczniku C stanu procesora moze byc takze dwojakie)

wydaje mi sie, ze wlasciwa instrukcja powinno byc rep #$10 i wowczas zgaszony zn. C sygnalizowalby stan natywny procesora (odwrotnie od poprzednich przykladow zamieszczonych w topicu)

102

(18 odpowiedzi, napisanych Bałagan)

Popieram wypowiedz Pirxa i Cypriana.
Powiem wiecej, w duzej mierze zgadzam sie z ocenami wysuwanymi przez MW.

103

(8 odpowiedzi, napisanych Software, Gry - 8bit)

Miałem kiedyś - przed padem dysku - program, który przetwarzał binaria na kod źródłowy w asemblerze, i zapisywał ten kod do pliku.

Sa tez inne programy tego typu.
"Code Buster" - bardzo wygodny w uzyciu program z wieloma funkcjami (niestety zdarza mu sie robic bledy w deasemblacji przy etykietowaniu kodu, ale chyba tylko w przypadku instruckji z argumentem #$3f), dolaczona jest bardzo wyczerpujaca instrukcja obslugi.
Oraz "Dissasembler" - program, ktory takze spelnia dobrze swoje zadanie, choc ma nieco ubozszy arsenal mozliwosci, ale dziala chyba pewniej.
Niestety w obu przypadkach zdeasemblowany kod wymaga raczej dalszej obrobki z powodu uzytej skladni w zapisie niektorych instrukcji (chodzi glownie o oznaczenie akumulatora w rozkazach na nim) oraz zastosowanych kodow specjalnych (tab, znak konca wiersza).
Mysle, ze nad "Code Busterem" mozna byloby nawet popracowac w celu poprawienia istniejacych bledow i zamiany generowanych kodow specjalnych, co przyczynic mogloby sie do szerokiego zastosowania tego programu w tworzeniu chocby konwersji z c64  :P
Aha, zdaje sie "Dissasembler" oferuje mozliwosc deasemblacji do postaci zgodnej z MAC65 (tak to sie nazywa?), co chyba bedzie interesujace takze dla niektorych potencjalnych odbiorcow.

Poza tym w pracy z "Dissasemblerem" moze okazac sie pomocne narzedzie do logicznego rozdzielania blokow czesci kodu od czesci wszelkiego rodzaju danych poprzez dodawanie naglowkow. Udalo mi sie sporzadzic dosc prymitywne narzedzie o podobnej charakterystyce na bazie "TA Copy 1.0". Prawde mowiac raczej nie nadaje sie do rozpowszechniania, z uwagi na niski poziom komentarzy w jezyku angielskim oraz ogolnie slabe wykonczenie, ale dziele sie tym co mam.

104

(16 odpowiedzi, napisanych Emulacja - 8bit)

Emulator, o ktorym mowa (UltraXe) dziala wg. mnie calkiem dobrze. Dodatkowo dostepne sa  zrodla.
Ostatnio mialem okazje podpatrzec jak dziala w praktyce OS draco, wlasnie dzieki niemu. Wystarczy w tym celu umiescic rom w wybranej wczesniej, w trakcie konfigurowania, sciezce dostepu, podmieniajac przy tym jego nazwe na rozpoznawalna dla emulatora ATARIXL.ROM.
UltraXe posiada tez ciekawa ceche: pozwala na wlaczanie "turba" - trybu pracy z wieksza czestotliwoscia zegara, przy zachowaniu czestotliwosci wywolywania przerwan Vblk na normalnym poziomie. (alt-T)

Dostepny jest takze monitor z deasemblacja w 65816. O ile sie zorientowalem dobrze, emulator umozliwia dostep do pamieci tylko w obszarze podstawowym,  ale pod monitorem adresy sa juz 24-bitowe.

Przypomne tylko, ze w zinach "walaja sie" szczegolnie ciekawe zrodla. Procedura szybkiego mnozenia Foxa zastosowana takze raczej na pewno w Numenie (qa/Fox), depacker do deflate (xasm/Fox), roznej masci 256-bajtowki Arsa, Lizarda, Kr0gera (w starszych Serious'ach). Sa tez dwie rozne wersje prodecedur do wyswietlania grafiki w proporcji (Charliego/Syzygy5, Arsa/Debil.3). W jednym z najnowszych Flopow jest zrodlowka z kolei do szybkiego dzielenia Rastera.
Poza tym jest jeszcze Energy z zrodlowkami do playerow mpt, tmc, depackera plikow wlasnych, loadera irq, oraz Barymag2 z pelnym zrodlem intra. I to oczywiscie nie wszystko.

A tak na marginesie dodam, ze istnieja narzedzia do "wytwarzania zrodlowek" z binarek. Spotkalem sie z co najmniej dwoma z nich, "Dissasembler" i "Code *cos*".

106

(8 odpowiedzi, napisanych Software, Gry - 8bit)

Czy możliwe jest umieszczenie programu w Basicu (TurboBasicu) w postaci ztokenizowanej czy innej,
w konkretnym miejscu pamieci i uruchomienie interpretera Basica?

Na stronie 6. opracowania z cyklu "Mapa Pamieci Atari XLXE", "Procedury Interpretera Basica" - znajduje sie szczegolowy opis rozmieszczenia w pamieci RAM danych programu w basicu.

Program w jezyku Basic jest zapisywany poczawsy od (...) MEMLO.

Struktura programu Basica:
bufor tokenizacji (256 bajtow)
tablica nazw zmiennych
tablica wartosci zmiennych
tablica instrukcji (wlasciwy program w postaci stokenizowanej)
tablica zmiennych indeksowych
stos biezacy

Wszystkie wymienione wyzej bloki programu sa ruchome, a ich aktualne adresy znajduja sie w rejestrach RAM na stronie zerowej.

Fragment z opisu intrukcji SAVE (str.171)

Procedura SAVE (...) realizuje zapisanie programu w dwoch etapach. W pierwszym etapie zapisywane sa wzgledne wartosci wektorow stosowanych przez interpreter (LOMEM... STARP). (...) Czyni to program calkowicie relokowalnym i pozwala na zainstalowanie przed odczytem programu DOS-u lub dodatkowych procedur pomocniczych w jezyku maszynowym (tzw. akcesoriow).
W drugim etapie zapisywana jest cala tresc programu wraz ze zmiennymi (tablica nazw zmiennych, tablica wartosci zmiennych i tablica instrukcji).

$80 - LOMEM - wektor bufora wejsciowego tokenizacji
$82 - VNTP - wektor poczatku tablicy nazw zmiennych
$84 - VNTD - wektor konca tablicy nazw zmiennych
$86 - VVTP - wektor poczatku tablicy wartosci zmiennych
$88 - STMTAB - wektor poczatku tablicy instrukcji
$8A - STMCUR - wektor aktualnie wykonywanego wiersza
$8C - STARP - wektor tablicy zmiennych tablicowanych
$8E - RUNSTK - wektor stosu biezacego Basica
$90 - BMEMHI - koniec obszaru pamieci zajetego przez Basic

107

(24 odpowiedzi, napisanych Software, Gry - 8bit)

Nasunely mi sie pewne spostrzezenia:
autor chyba z rocznika 77 i dawal sobie dobrze rade w szkole z matma. ;)
Jeszcze taka uwaga: programy generalnie krotkie i po upchaniu ich w liniach nadawalyby sie na tutejszy konkurs "5 zlotych", a chyba szczegolnie "Mozaika".

108

(36 odpowiedzi, napisanych Emulacja - 8bit)

100% lepszym rozwiązaniem jest zrobienie czegoś na kształt linkera do emulca - który umożliwiał by połaczenie emu (program, romy, ustawienia itp) z *.atr

Jesli dobrze rozumiem sens powyzszej wypowiedzi, to wydaje mi sie, ze Atari800win posiada juz taka wlasciwosc. Wystarczy w ustawieniach emulatora wskazac typy plikow charakterystyczne dla emulatora (ATR, XEX, itd.), aby jedynie poprzez "dwutakt" na odpowiedniej ikonce uruchomic emul z wskazanym plikiem.

109

(36 odpowiedzi, napisanych Emulacja - 8bit)

Emulator niestety jest w tym wypadku nieodzowny. Mozna ewentualnie pomyslec nad wyborem emulatora, tak aby odpowiadal okreslonym preferencjom (np. z uwagi na wolniejszy procesor). Warto przeszukac tutejsza baze plikow (korzystajac z faktu zarejestrowania), jakas alternatywa na pewno sie znajdzie.

110

(19 odpowiedzi, napisanych Emulacja - 8bit)

1. Bootujesz dysk na którym jest np DOS II+/D.
2. Instalujesz w dowolnej stacji utworzony czysty dysk.
3. Przechodzisz w dosie do wybranej stacji (poleceniem "Dx:", gdzie x to numer stacji.
4. Używasz komendy "IN#". Czekasz ze dwie sekundy (na emulu chyba mniej?).
5. Już możesz z dyskietki bootować

Brakuje mi w tym opisie jednego kroku, miedzy 3 a 4 punktem.
Jesli dos nie rozpoznaje ATR'ki (wyswietla po komendzie "/" liczbe wolnych sektorow rowna 0), trzeba dysk sformatowac pod kontrola dosa komenda FS# (dla ATR'a 90kb - single density), lub FD# (g. podwojna - ok. 180kb).
W punkcie 3. wkradl sie maly blad - przechodzi sie do wybranej stacji komenda x: (bez D).

111

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Zawsze jak pracowalem z nowym mikrokontrolerem, staralem sie znalesc takie zbiorcze zestawienie wszystkich rozkazow, z czasami wykonywania, kodami, i jednozdaniowym opisem co robia i na jakie flagi wplywaja - tak zeby miescilo sie to mala czcionka na jednej stronie. Druknac sobie to mozna i miec na stale pod reka zamiast szukac po ksiazkach... Dla 6502 nie znalazem. Ma ktos cos takiego?

Znajdziesz takie zestawienia (bez czasu wykonywania rozkazow) w podreczniku uzytkownika pakietu QA. Zajrzyj tu.

112

(9 odpowiedzi, napisanych Software, Gry - 8bit)

W stuffie do Energy Zine #2 jest krotsza wersja playera do mpt napisana przez Foxa, na podstawie tej Jaskiera. Mnostwo SAPow ma ja w sobie. Ale jesli idzie o analize kodu (domyslam sie, ze taki jest cel), to moze lepiej bedzie pozostac przy tamtej wersji (choc moze i nie).[/i]

113

(72 odpowiedzi, napisanych Różne)

Sugestia odnosnie mozliwosci odstepstwa od koniecznosci wplaty kwoty (fakt ze drobnej) na konto.

Jesli nie sprawialoby to klopotu, optowalbym nad zniesieniem tego punktu regulaminu.

Proponowalbym, co nastepuje: w przypadku nie wplacenia na konto sumy o jakiej mowa w regulaminie, praca wezmie udzial w konkursie, ale ewentualna wygrana nie bedzie nagradzona zebrana kwota.
Oznacza to, ze jesli ktos chce moze "obstawic" swoja prace i w przypadku zwycieztwa wsrod prac "obstawionych" zgarnac zebrana pule. Dla wystawiajacych prace bez "obstawiania" pozostanie satysfakcja wziecia udzialu w konkursie.

114

(16 odpowiedzi, napisanych Software, Gry - 8bit)

Mam kilka pytan zwiazanych z projektem.
1. Jak wypada porownanie dlugosci pliku sprzed konwersji (w form. cmc) do tego po (w mpt), samych plikow, jak i plikow z playerem.

2. Pamietam, ze niektorzy zwracali uwage na niedoskonale odtwarzanie niektorych muzyczek w cmc, chyba chodzilo o nachodzenie na siebie dzwiekow w roznych fazach (trudno mi to nazwac, nie znajac natury tego zjawiska). W zwiazku z tym zastanawia mnie, czy konwersje muzyczek podpadajacych pod taka kategorie nie beda brzmiec lepiej.
Byc moze ma tu do rzeczy player, ktory bardziej regularnie "produkuje" dzwiek z danych muzyczek, a ten chyba jest doskonalszy dla mpt.

3. Co jeszcze rzeczony konwerter w wersji finalnej miec powinien wg. autora, bo poza faktem korekt o ktorych mowa, sama obsluga nie wydaje sie nadto zawila i chyba mogloby tak zostac.

4. Co z dlugimi muzyczkami w cmc, czy na pewno zmieszcza sie w calosci w formacie mpt?

5. Roznica w tablicach czestotliwosci cmc i mpt (wiem, ze wlasnie w plikach mpt znajduja sie dane czestotliwosci, a nie w playerze, wiec moga byc korygowane do wartosci z cmc; pytanie, czy konwerter sie tym juz zajmuje, bo sluchajac pierwszej konwersji, jaka mialem przyjemnosc jakis juz czas temu, przy okazji wypuszczenia GHE 2, muzyczki Morgoth'a, dalo sie odczuc fakt braku podmiany tych wartosci.

6. Jak autor zapatruje sie na ewentualne kontynuowanie projektu w kierunku dalszej "unifikacji" formatow na atari (tmc, tmc2, rmt). Moze daloby sie stworzyc taki jeden uniwersalny, o otwartej architektorze - bez ograniczen do liczby patternow, linii song, instrumentow i innych zmiennych, zdolny do zaabsorbowania danych z kazdego z popularnych formatow na atari (takze ewentualnie przyszlych).
Moglby byc nawet pakowany metoda deflate (depacker autorstwa Foxa jest dostepny) i dzieki temu zajmowac malo przestrzeni na zewnetrznym nosniku pamieci.

115

(6 odpowiedzi, napisanych Software, Gry - 8bit)

jak ładujecie pliki .cas zapisane na atari komendą "csave"?

Wedlug mojej skromnej wiedzy, zalozyles blednie, ze pliki .cas to pliki zapisane na atari komenda "csave".
Jesli takie wsrod nich sie tez zdarzaja, to przepraszam.

116

(9 odpowiedzi, napisanych Software, Gry - 8bit)

Nie wiem czy dobrze mysle, ale byc moze problem polega na tym, ze wiekszosc listingow w ATRach z TA, wymaga, przed uzyskaniem gotowego programu i wczytaniem ich komenda dosowa, kompilacji do takiej postaci. Zapewne pamietasz "Zgrywusa". Musisz go odszukac i po uruchomieniu emulatora z wlaczonym basiciem wejsc do niego (CAR), wczytac Zgrywusa(LOAD "D:nazwa.roz"), doczytac listing (chyba poprzez komende ENTER "D:nazwa.roz"), uruchomic zgrywusa i rozpoczac kompilacje (RUN, z odpowiednia ATRka w wirtualnej stacji).
Poza tym upewnij sie, czy ATR'ka do ktorej kompilujesz nie posiada atrybutu pliku - tylko do odczytu - i w razie czego popraw.

117

(10 odpowiedzi, napisanych Software, Gry - 8bit)

Komende OPT mozesz skasowac, a generowanie pliku pod XASM i tak nastapi. Jedynie wlasnie instrukcje OPT z listingow spod QA koniecznie trzeba zmienic - zwykle mozna skasowac, natomiast cala reszta moze zostac bez zmian. XASM radzi sobie tez ze znakami konca linii. Jesli jednak zalezy ci na konwersji, np. w celu dalszej obrobki programu pod jakims edytorem na pc, uruchom program AtrUtil. Jest tam mozliwosc podejrzenia pliku, po jego wyborze wystarczy zapisac skonwertowany juz tekst pod jakas nazwa (najlepiej z rozszerzeniem .asx).
Wygenerowane pliki .obx nadaja sie do uruchomienia pod emulatorem. Wystarczy kombinacja alt+X. Jednak w niektorych przypadkach, jesli program korzystac ma z funkcji dosowych - tak jest w przypadku TACOPY, dzialanie programu bedzie nieadekwatne do jego rzeczywistych mozliwosci. Stad w takich przypadkach nalezy umieszczac takie pliki do ATR'ki (np. tez AtrUtil) i wczytac w dosie.

118

(10 odpowiedzi, napisanych Software, Gry - 8bit)

Sam najlepiej rozpoznasz sytuacje i zadecydujesz. Natomiast jesli uwazasz, ze jakis nowy tracker muzyczny wykorzystujacy istote dzialania opanowana przez Ciebie do emulowania SIDa by sie przydal, to niestety nie sadze aby ktokolwiek mogl sie za to zabrac bez dokladnego zapoznania sie z owocami Twojej pracy. Najlepiej jesli dyponowalby playerem do analizy. Wowczas moze ktos by sie pokusil, choc jak wiadomo niewielu jest aktywnych i chetnych do ciezkiej pracy koderow w swiatku atari.

ps. SID player jest naprawde ekstra.

119

(3 odpowiedzi, napisanych Software, Gry - 8bit)

Jeszcze raz (moze tym razem bedzie jasniej - postaram sie).
Nagrywajac modul gotowy do wykorzystania poza Theta, muzyk powinien pamietac, ze nie konczac songu poprzez wstawienie wartosci z ustawionym najstarszym bitem do pierwszej kolumny okna song (odpowiadajacej 1. kanalowi podstawowego pokeya), decyduje sie na to, ze player bedzie czytal dane instrumentu (/ow) jako wartosci linii song, co moze w konsekwencji doprowadzic do roznych niespodziewanych sytuacji, podobnych do tych jakie moze wywolac skok poza obszar wyznaczony dla danych okna song (tutaj w istocie mamy z tym samym do czynienia).
Proponuje eksperyment, zeby sie o tym przekonac.
Wgrac do Thety taka muzyczke i w instumencie nr.0 dokonac zmiany wartosci dwoch bajtow od dolu, ponizej typu znieksztalcenia dzwieku i jego rodzaju, w piatek kolumnie, na wartosc rozna od zera.
Brzmienie instrumentu wcale nie musi sie zmienic, jesli typ dziweku nie wymaga pobierania tych wartosci do obliczenia czestotliwosci wynikowej dzwieku. Nagrac tak przygotowany modul i stworzyc z niego SAPa. Potem poczekac na koniec odgrywania muzyczki i porownac efekt.

120

(3 odpowiedzi, napisanych Software, Gry - 8bit)

Uwaga do tworcow muzyczek w TMC 1.11.
Czasem zdarza sie, ze modulki posiadaja ostatnia linijke w oknie song w postaci "7F FF 7F FF...".
Przy odtwarzaniu tak skonstruowanej muzyczki pod TMC, odgrywanie jej zatrzyma sie wlasnie na niej. Przy odtwarzaniu playerem ogolnie dostepnym (na przyklad w SAPie) zwykle taka postac ostatniej linii oznaczac bedzie odtwarzanie muzyczki od jej poczatku.
Od poczatku albo i nie!
Od czego to zalezy? Od danych pierwszego instrumentu, ewentualnie kolejnych instrumentow!
To, ze wlasnie odtwarzanie muzyczek z tak skonstruowana ostatnia linijka w songu odbywa sie najczesciej "od poczatku", zawdzieczamy powiedzialbym, zbiegowi sprzyjajacych okolicznosci, a konkretnie porzadkowi danych w module.
Wystarczy, ze w danych instrumantu nr.0 zmienimy na pozycji nr.5 pare bajtow okreslajacych parametry dodatkowe dzwieku (zwykle wyzerowane) i wowczas zachowanie playera zmieni sie. Warunek, typ znieksztalcenia dzwieku w tym slupku musi byc >=8 (zwykle A lub C).
Teza, ktora tu przedstawiam sprawdzilem z pozytywnym skutkiem.
Wniosek mysle jest jeden - unikajmy takich zakonczen.

121

(12 odpowiedzi, napisanych Software, Gry - 8bit)

Poprawiam sie.
W "Ultrze" rzeczywiscie jest pelna wersja playera TMC. Zasugerowalem sie notka ze skroconej wersji playera, gdzie zasugerowano przeznaczenie jej wlasnie do takich celow. Opis oblugi playera w wersji skroconej jest nie w artykule a dokumencie, w jej pierwszej czesci. Ale to juz zostalo wylozone przez samego autora w tym watku.
Co do krotszej wersji playera TMC by Fox, to jestem pewien, ze Slaves pomylil formaty muzyczne - Fox popelnil jedynie wlasny player do MPT zamieszczony istotnie w Energy2 i powszechnie zreszta uzywany przy roznych okazjach.
To tyle za niescislosci jeszcze raz sorki.

122

(12 odpowiedzi, napisanych Software, Gry - 8bit)

TeBe: Jesli jest to player Jaskiera w wersji skoconej, to jego obluga jest opisana w artykule w zinie wraz z opisem pelnej wersji. Choc o ile pamietam, jest tam jedynie mala wzmianka na ten temat, a player obsluguje sie bardzo prosto. Jesli sie wiec nie myle, co do torzsamosci tego playera, to warto jeszcze powiedziec, ze player ten jest wykorzystany w demie "Ultra" i nie potrafi wlasciwie odegrac kazdej muzyczki TMC, a jedynie te z nich, ktore nie wykorzystuja pelnej palety jego mozliwosci (dokladnie nie powiem, ale byla mowa o dwukanalowym basie).
Jesli cos pomylilem przepraszam.

123

(22 odpowiedzi, napisanych Sprzęt - 8bit)

Najpredzej Zenon, redaktor SERIOUS'a. Informacja jaki jest adres do niego, znajdziesz w nowszych wydaniach zina, a ten najlatwiej sciagniesz ze strony Vasca.

124

(25 odpowiedzi, napisanych Różne)

Regulamin jest bardzo dobry. Mam jednak taka sugestie, zeby nieco zlagodzic ten oto jego punkt: "4. Maksymalny czas trwania utworu - 3 minuty."

125

(7 odpowiedzi, napisanych Scena - 8bit)

Nowoczesny program uzytkowy niewatpliwie powinien umozliwiac wykorzystywanie HDD rozbudowanej o niego atarki, tak przynajmniej mi sie wydaje.
Zastanawiam sie, w jaki sposob mozliwe jest zagospodarowanie tak duzej ilosci pamieci. Inaczej mowiac, jakie programy systemowe (moze SpartaDos?) zarzadzaja komunikacja tego rozszerzenia z reszta systemu atari.
Czy wogole wykorzystywanie twardego dysku jest latwe i praktyczne w zastosowaniach programow uzytkowych i czy moge tu liczyc na jakies wskazowki odnosnie operacji odczytywania directory i poszczegolnych plikow z twardziela.
Bede wdzieczny za chocby najmniejsza podpowiedz.