1,101

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

ja jeszcze zadam dodatkowe pytanie... a jakiego zasilacza używasz? fabrycznego (takiego klasyka z transformatorem i stabilizatorem liniowym) czy jakiegoś innego np. impulsowego?

Cześć!

Dostałem i odpowiedziałem (aczkolwiek dopiero przed chwilą ;)

1,103

(98 odpowiedzi, napisanych Miejsca w sieci)

oczywiście wyrażam chęć wsparcia, proszę o jakieś namiary na nr konta, etc.

1,104

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

proxy mode: ON ... ;)

SoTe napisał/a:

Filtr dolnoprzepustowy to dość "prosty" FIR (suma N wcześniejszych próbek). Nie wiem jaki jest oryginalny filtr w Atari i zresztą jego odwzorowanie łatwe by nie było. Ten sam problem mają z C64. Filtrów jest pełno, ich realizacji również (algorytmów i teorii jak cyfrowo odwzorować filtr analogowy). Wszystko, to jest jakaś tam aproksymacja.

Ja do tweak-owania filtra użyłem tej strony http://arc.id.au/FilterDesign.html . Można tam sobie wygenerować "coefficienty" i wkleić do kodu.

Kod do filtra jest w funkcji fir_basic. Wyżej jest tabela coefficient-ów. Ale z tego co widziałem w źródłach ASAP, to też tam jest jakiś filtr, więc żadna nowość.

Przed filtrem jeszcze jest układ różniczkujący. On też jest robiony na "oko". Seban kiedyś pokazywał mi na oscyloskopie że "tak k**** ma to wyglądać", więc starałem się tak dobrać parametr żeby odwzorować oryginalny sygnał z Atari. Układ jest dość banalny. Kondensator się ładuje i rozładowuje. Parametrem sterującym jest prędkość rozładowywania.

Całość, układ różniczkujący i filtr, są w funkcji "OutputFunction_Atari".

Wszystko to trochę błądzenie we mgle, bo żaden ze mnie specjalista od cyfrowej obróbki dźwięku ;) Wychodzę z założenia, że jeśli wszystko będzie cycle-exact + każdy najmniejszy element toru analogowego, to jakoś da się zbliżyć do oryginału. ASAP ma też filtr, nie wiem czy ma układ różn. (chyba nie?). Nie wiem skąd się dokładnie bierze różnica między SAP a ASAP. SAP ma też oversampling 4x. Może to coś daje. W sumie, ciekaw jestem jak by brzmiał player grający 192kHz albo 384kHz (może Ci się (Fox) będzie chciało przetestować w ASAP'ie ? ;) ). Oprócz problemu z graniem całego kanału w Roller.sap, ASAP ma też problem z pykaniem na początku dźwięków. Nie wiem skąd się to bierze. Słychać to np. w utworze "Duksap_1" Liebicha. Filtr? Oversampling? Nie mam pojęcia. Dodałem do archiwum "Comparison.wav", żeby to pokazać. Na początku gra ASAP a potem SAP. Na początku bassu 0xC0 słychać to pykanie.

BTW. ASAP mógłby grać trochę głośniej ;)

do pobrania:  Sap LIB v.2.3 Source Code

1,105

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

Hej!

SoTe poprosił mnie o umieszczenie następującej wiadomości w jego imieniu na forum Atari Area, niniejszym to czynię:

SoTe napisał/a:

Zauważyłem, że na ASMA jest mój player w wersji 2.0 podczas gdy ja u siebie od dłuższego czasu słucham muzyczek na wersji 2.3. Wersja 2.3 jest wzbogacona o filtr dolnoprzepustowy oraz układ różniczkujący. Układ ten odpowiada za przesunięcie sygnału z zakresu 0V...5V na -2.5V...2.5V (usunięta składowa stała sygnału) oraz jednocześnie wprowadza pewne zniekształcenia do sygnału prostokątnego. Te zniekształcenia są oczywiście ważne żeby uzyskać dźwięk zbliżony do Atari.

Dodatkowo mogłem pozbyć się pewnego "hack-a" używanego w emulatorach. Atari800 jak i ASAP wycinają wszelkie dźwięki jeśli do AUDFx jest wpisane coś mniej niż 3 (czyli 0...2). To powoduje usunięcie losowych pisków. W SAP 2.3 ten "hack" jest usunięty, a za usuwanie niepożądanych dźwięków odpowiada filtr dolnoprzepustowy. Dzięki temu zabiegowi, lepiej odwzorowane są niektóre utwory, jak np. muzyka z M.U.L.E która na Atari miała dość charakterystyczne pykanie (a które jest "brutalnie" usunięte w emulatorach), oraz np. prawidłowe odtwarzanie utworu Composers/Tegethoff_Sven/Roller.asp . W tym utworze, w przypadku użycia ASAP jeden kanał na początku jest zupełnie wyłączony, podczas gdy SAP gra to prawidłowo.

Tak więc, co jest nowego:

- filtr dolnoprzepustowy
- usunięty "hack" usuwający bardzo wysokie częstotliwości
- układ różniczkujący

Dla porównania, można sprawdzić utwór gry M.U.L.E oraz Composers/Tegethoff_Sven/Roller.asp

Plik można brać tutaj: Sap Player v.2.3

1,106

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

Panowie!

To jest genialne! :) WIELKIE Dzięki! :)

Historia, muzyka, wykonanie... kawał dobrej roboty!

1,107

(9 odpowiedzi, napisanych Scena - 8bit)

Hej!

Plik możesz pobrać tutaj: Music Tracker 2.0

Na dyskietce są trzy przykładowe muzyczki: inside, tanks, popeye a także plik readme.doc który zawiera instrukcję obsługi programu.

1,108

(421 odpowiedzi, napisanych Fabryka - 8bit)

Na pewno będę chętny na ta pozycję również! Niebawem wyślę zamówienie :)

ps) i na kolejną pozycję również.

1,109

(9 odpowiedzi, napisanych Scena - 8bit)

Mam gdzieś na starych dyskietkach. Poszukam i udostępnię. Proszę o chwilę cierpliwosci.

Ps) bylem przekonany ze jest na Atarki, ale jak widac nie ma :/ musialem zapomnieć wrzucić. Progfam byl puszczony na scenę... tzn. wysłany snailem do paru osób, ale chyba zaginął w odmętach przeszłości.

1,110

(421 odpowiedzi, napisanych Fabryka - 8bit)

Przesyłka dotarła. Dzięki WIELKIE! :)

1,111

(17 odpowiedzi, napisanych Różne)

Hej!

A oto i moje typy:

10 pkt) Laura
09 pkt) Pang
08 pkt) Cyctrix
07 pkt) Manic Miner
06 pkt) Blowsub
05 pkt) Pentagram
04 pkt) Skyscraper
03 pkt) Saboteur
02 pkt) Dimo Quest
01 pkt) Fairlight

1,112

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

Cześć!

Sprawa zakończona pozytywnie, udało się podnieść ten cart. Kawał pracy poczynił kolega JLS, miał niestety pecha bowiem felerna okazała się podstawka lub jakieś niekontaktujące lutowanie. Po drobnych zmaganiach cart uruchamia się :) Musiałem usunąć podstawkę i wlutowałem EPROM bezpośrednio w płytkę drukowaną.

Nie wiem czy to kogoś interesuje, ale napiszę może ktoś spotka się podobną sytuacją i będzie wiedział jak można postępować gdy coś takiego się przytrafi, a więc oto miniaturowe "studium przypadku" ;P

Pierwsze co zrobiłem to wpiąłem kart w złącze, faktycznie nie startował, uruchomiłem QMEG (daje możliwość wejścia do monitora pamięci mimo iż CART jest obecny w złączu i ma status aktywny) ... szybki rzut oka pod $A400* i zobaczyłem że nie wszystkie bity magistrali danych są poprawne (np. napis SNOWBALL nie wyglądał poprawnie, lecz jakby ciąg bajtów w którym brakuje wszędzie tego samego bitu.... więc mocno docisnąłem EPROM w podstawce... i zobaczyłem poprawny napis :) Restart komputera i cartridge się uruchomił. Dalsze kroki które poczyniłem to usunięcie podstawki i wlutowanie EPROM-u bezpośrednio w płytkę, a zrobiłem to aby zamknąć ten "kart" w obudowie... cart sprawny, działa i jest w obudowie :)

JLS - daj znać gdzie odesłać cart (wysłałem e-mail)  .... czeka już spakowany :]

I jeszcze jedna ważna sprawa...  jestem pod wrażeniem pracy którą wykonał JLS... misterność połączeń i cierpliwość którą się wykazał walcząc z materią jest godna podziwu. Dzięki temu miałem niezmiernie ułatwione zadanie :)

*) dlaczego akurat $A400? ... tak się składa że ta seria cartów ma pod tym adresem menu które pojawia się na ułamek sekundy po włączeniu komputera. Napis dostrzegłem w pliku z zrzutem pamięci EPROM dokonanym przez JLS, zatem spodziewałem się poprawnie wyglądającego napisu. (jedna uwaga, jest on w kodach ANTIC... więc w ASCII/ATASCII dla niewprawnego oka niewiele widać... ale np. QMEG pozwala pokazać zawartość pamięci w kodach ANTIC).

Widok pliku z zawartością EPROM pod edytorem HEX... (kody ANTIC więc w ASCII niewiele widać)

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000400  33 2E 2F 37 22 21 2C 2C 00 00 1C 21 36 21 2C 2F  3./7"!,,...!6!,/
00000410  2E 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000420  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000430  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000440  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

uruchomiony cart:
http://seban.pigwa.net/aa/snow1.jpg

QMEG-OS pokazujący obecność carta...
http://seban.pigwa.net/aa/snow2.jpg

Monitor MLM (wbudowany w QMEG-OS) pokazujący prawidłową zawartość pamięci, tzn. napis "SNOWBALL".
http://seban.pigwa.net/aa/snow3.jpg

1,113

(7 odpowiedzi, napisanych Scena - 8bit)

a nie chodzi przypadkiem o tę wersję:

http://asma.atari.org/asmadb/search.php?play=555

czyli w tym wypadku konwersja autorstwa Zur-soft (Mirek Gwozdziej & Jerzy Majewski)

ps) edit: o widzę że Miker był szybszy ;)

1,114

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

dzięki wielkie za testy! niestety większość sprzętów (low-cost) które miałem w rękach robiła podobny albo jeszcze gorszy bajzel.

1,115

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

Hej!

@laoo: a jak wyglądają scrolle i obrazki w interlace? no i jak by Ci się chciało sprawdzić interlace Rybagsa, to było super.

1,116

(11 odpowiedzi, napisanych Programowanie - 8 bit)

offtopic: ooo... to widzę Alex wymyślił koło od nowa ;) ... jego metoda okazała się "Sąsiedztwem von Neumanna" ;D no cóż, człowiek uczy się całe życie.

1,117

(11 odpowiedzi, napisanych Programowanie - 8 bit)

Hej!

Zgodnie z zasadą, "Nie pamiętam dobrze/nie znam się.. więc się wypowiem", to z tego co pamiętam to Alex wymyślił metodę próbkowania w kształcie krzyżyka, tzn. coś takiego:

 o
oxo
 o

gdzie "x" jest pixelem sprite który analizujemy a "o" punktami próbkowania, taką metodą przejeżdżamy całego sprite pixel po pixelu i generujemy maskę, ale działa to chyba wolniej niż ta metoda którą opisałeś (z generowaniem maski na podstawie przesunięcia obiektu).

[offtopic mode ON]:

jeżeli chodzi o dekompresję *.arc po stronie PC ,to pod *.nix jest oczywiście arc, np. w repozytorium dla debiana:

apt-get install arc

i mamy na pokładzie:

ARC - Archive utility, Version 5.21q, created on 06/27/2013
Usage: arc {amufdxerplvtc}[biswnoq][g<password>] <archive> [<filename> . . .]
Where:     a   = add files to archive
     m   = move files to archive
     u   = update files in archive
     f   = freshen files in archive
     d   = delete files from archive
     x,e = extract files from archive
     r   = run files from archive
     p   = copy files from archive to standard output
     l   = list files in archive
     v   = verbose listing of files in archive
     t   = test archive integrity
     c   = convert entry to new packing method
     b   = retain backup copy of archive
     i   = suppress image mode (translate EOL)
     s   = suppress compression (store only)
     w   = suppress warning messages
     n   = suppress notes and comments
     o   = overwrite existing files when extracting
     q   = squash instead of crunching
     g   = Encrypt/decrypt archive entry

Adapted from MSDOS by Howard Chu

ale również działa disk explorer z menu Tools w Altirra, obsługuje on także format ARC ;)

No i oczywiście wbudowany w SpartaDOS unarc ;-)

eeee... to potrzebna sparta i DracOS?

EDIT1: rozpakowałem linuksowym arc... wynik ten sam a więc potrzebne pewnie to co piszesz. sprawdzę.
EDIT2: no tak... ze spartą (4.48) + dracOS 2.37 zaczęło działać.

dzięki za wskazówki.

Hej!

Tak trochę nieco obok, tematu... wypakowałem plik .com z archiwum ARC, używając narzędzia "disk explorer" wbudowanego w altirra, przełączyłem emu na 65816 (1.79MHz / 21MHz). Uruchomiłem plik.... jednak widzę tylko czarny ekran. Po włączeniu debuger-a widzę że CPU poszedł w maliny i wisi na jakimś przypadkowym BRK pod adresem $FB0C. Może unarc wbudowany Altirra (2.90) źle rozpakował mi plik .com?

1,121

(37 odpowiedzi, napisanych Programowanie - 8 bit)

Cześć!

ta komórka pamięci 764, przechowuje kod ostatnio naciśniętego klawisza. Gdy nic nie jest wciśnięte to jest tam wartość 255. sekwencja

ldy #nic ; (nic=255)
sty klaw

daje taki efekt że po wyjściu z programu, mimo iż nacisnąłeś klawisz aby go przerwać.. nie spowoduje reakcji systemu operacyjnego/programu nadrzędnego (np. QA z którego uruchamiasz ten kod). Jest to jakby wyzerowanie bufora klawiatury (w tym wypadku 1-bajtowego bufora).

A jeżeli chodzi o:

ldy KLAW
iny
beq ...

to jest to trochę "optymalizacja" na siłę... co utrudnia zrozumienie kodu początkującym...

w normalnym wypadku napisałbym tak:

lda KLAW
cmp #255
beq ...

a więc sprawdzamy czy wciśnięto jakiś klawisz, jeżeli nic nie wciśnięto (255) to skok BEQ zostanie wykonany i mamy skod do "mrugaj".

Autor kodu postanowił zmusić czytającego do myślenia i napisał to inaczej

do rej. Y ładuje kod klawisza, zwiększa ten kod o 1, co w przypadku 255 (nic nie wciśnięto) da wartość 0, potem rozkaz BEQ wykona się tylko wtedy gdy flaga "Z" w rej. statusu 6502 jest wyzerowana (a więc nastąpiło zero w wyniku operacji... w tym wypadku INY). W każdym innym wypadku (gdy zawartość KLAW nie będzie równa 255) wynik operacji INY nie będzie zerem więc wykonywanie pętli zostanie przerwane.

1,122

(37 odpowiedzi, napisanych Programowanie - 8 bit)

@chicago: dodam tylko że to o co pytasz jest dokładnie wyjaśnione w instrukcji do QA, do której dwie osoby w tym wątku podawały link to tejże instrukcji. O "ekranie użytkownika" i sposobie jego "podejrzenia" napisano na stroni 37 podręcznika. Naprawdę warto przeczytać "podręcznik użytkownika".

1,123

(37 odpowiedzi, napisanych Programowanie - 8 bit)

przy okazji innej dyskusji w tym miejscu:

http://www.atari.org.pl/forum/viewtopic … 05#p200105

... załączyłem dwa przykłady kodu które kompilują się bezpośrednio pod QA. Scroll kompiluje się bezpośrednio do RAM, a "Fly Dots" generuje plik wykonywalny DOS-u na dyskietkę (o ile nie jest zabezpieczone przed zapisem, bo wtedy Error 163 :P)

1,124

(37 odpowiedzi, napisanych Programowanie - 8 bit)

w przypadku QA o ile dobrze pamiętam:

opt %00010101 - asemblacja do RAM
opt %00100101 - asemblacja do pliku

EDIT: Uważaj aby w przypadku asemblacji bezpośrednio do RAM obszar w który asemblujesz znajdował sie ponad MemHI, które to ustawia sie w oknie setup. W przeciwnym wypadku zniszczysz albo sam asembler albo dos-a albo bufor etykiet który tworzy QA tuż przed granicą MemHI.

UPDATE: Temat do zamknięcia. .TV znalazł nowego użytkownika :]