i mala korekta formau rozkazu REP:
%10|11 RTIME, REP, AUDF, AUDC
przykład z Gossip: dzwonek telefonu i pseudo synteza "Hello"
klawiszem "1" uruchamiamy, klawiszem "2" natychmiast przerywamy - korzystajac z funkcji xSFX_START i xSFX_STOP :-)
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
STOS BASIC V5.5 Alpha Popularny język programowania dla Atari ST powraca po ponad 30 latach w nowoczesnej wersji.
Command & Conquer na Atari ST Kultowy RTS Command & Conquer zmierza na Atari ST. Zobacz niesamowity port legendarnej strategii.
Altirra 4.50 test 13 Avery Lee udostępnił kolejną wersję testową najdoskonalszego emulatora Atari.
CT60 TOS 1.03e Po blisko 21 latach ukazała się oficjalna aktualizacja CT60 TOS do wersji 1.03e.
Gearlynx 1.2.14 Ukazała się kolejna odsłona zaawansowanego emulatora Gearlynx dla konsoli Atari Lynx.
atari.area forum » Posty przez xxl
i mala korekta formau rozkazu REP:
%10|11 RTIME, REP, AUDF, AUDC
przykład z Gossip: dzwonek telefonu i pseudo synteza "Hello"
klawiszem "1" uruchamiamy, klawiszem "2" natychmiast przerywamy - korzystajac z funkcji xSFX_START i xSFX_STOP :-)
Nie ma takiej potrzeby. Kod, wykorzystywany w każdej części gry, ładuje w pierwszym bloku, a resztę doczytuje w następnych. Po każdym bloku skacze przez init w $02e2, np. do "rezydentnej" części z pierwszego bloku.
rozumiem. gramy sobie, jestesmy w 10 levelu gra juz doczytala tych 10 blokow a my stracilismy ostatnie zycie. chcemy zagrac jeszcze raz... jak gra ma zaladowac ten pierwszy blok danych jeszcze raz?
Edit: Skoro potrzebujesz CIO i urządzenia D: to pewnie zamiast loadera potrzebny będzie jakiś GameDOS. Czemu właściwie używasz CIO a nie wpakujesz wszystkiego do jednego .XEX-a, choćby i megabajtowego, i nie porozmieszczasz samodzielnie wszystkiego po pamięci jak Ci pasuje? Gra ładowałaby się nawet z najprostszego loadera a nikt nie zabrania wykonywania bloków init.
skoro gra doczytuje dane to jak wykonac "powrot" do juz wczesniej zaladowanego/wykonanego inita?
dodalem dwie funkcje do biblioteki:
xSFX_START in: A=sfx, X=channel, C=1 (force)
A=sfx, C=0 (find free channel)
out: C=1 no free channel
C=0 ok
(inicjuje odtwarzanie konkretnego SFX ma wybranym kanale lub na pierwszym wolnym kanale)
xSFX_STOP in: X=channel
(natychmiast przerwij odtwarzanie SFX - gdybysmy mieli zapetlone SFX lub chcemy zrobic miejsce na kolejne)
zauwazylem ze gry implementuja funkcjonalnosc uprzywilejowanych SFX ktore musza byc odtworzone nawet kosztem przerwania innego
zmienilem tez format kodu petli - teraz mozna skakac wewnatrz SFX a nie tylko do jego poczatku - dosc wazne :-)
o czym zapomnialem?
w przykladzie wlasnie taki zapetlony SFX z Pacmana
padlo pytanie ile czasu zabiera ten silnik: zabiera mniej niz 1 linie skaningowa na kanal, przy czym jesli nie korzystamy z wszystkich kanalow warto ustawic taki na nieobslugiwany co jeszcze przyspiesza procedure
cos dla prawdziwych konsumentow
pole siłowe:
.HE 90 0B 21
.HE 22 22 23 23 24 24 25 27 27 26 25 24 23 22 21 21
.HE 00 01
i dwa przyklady, pierwszy do wszystkie SFX z gry Stealth a drugi to przyklad bardzo specyficznego podejscia do SFX z gry Joust :-)
a jakby ktos chcial uslyszec jak powinno brzmiec przelatywanie obiektu w Stealth ... to ma okazje bo w grze - sprawdzalem dwa zrodla jest blad :-) i nie slychac calego efektu.
sfxST1
.HE C3 38 01 ; rep audf
.HE 34 30 2C
.HE C3 28 02
.HE 24 20 1C
.HE C3 18 03
.HE 14 10 0C
.HE C1 08 04
.HE 04
.HE C1 04 05
.HE 08
.HE C1 0C 04
.HE 10
.HE C1 14 03
.HE 18
.HE 01 1C 02
.HE C1 20 01
.HE 24
.HE 00 01ale tam sa sample. ten silnik gra raz na ramke.
troszke zmian i mamy +10 do kompaktowosci: juz nie trzeba wygaszac kanalow w definicji SFX
test na bardziej ambitnych SFX czyli tych z AlleyCat: mialczenie kota i szczekanie psa
sfxAC3 ; szczekanie
.HE 01 90 A0
.HE 01 8E A1
.HE 01 8C A1
.HE 01 8A A2
.HE 01 88 A2
.HE 01 35 A3
.HE 01 3A A3
.HE 01 43 A2
.HE 01 51 A2
.HE 01 64 A1
.HE 01 7B A1
.HE 00 01 ; end
sfxAC4
.HE C6 2F 83 ; rep audf
.HE 2D 2B 29 27 14 14
.HE 02 13 82
.HE 02 12 81
.HE 00 01 ; endjaka gra ma jeszcze ambitne SFX? chce sprawdzic czy silniczek to obsluzy
a tu demonstracja jak prosto zrobic fajne SFX:
definicje smierc, ziewanie i respawn z BruceLee przy okazji demonstracja komendy repeat audc i repeat audf. sliczne i kompaktowe
sfxBL1 ; smierc
.HE 86 54 A2 ; rept audc
.HE 44 A6 48 A8 4A AA
.HE 8A 00 4A
.HE AA 4A AA 48 A8 46 A4 42 A2 42
.HE 01 00 00 ; silencio
.HE 00 01 ; end
sfxBL2 ; ziewanie
.HE 02 B0 C2
.HE 04 B0 C4
.HE 03 B0 C6
.HE 0B AA C8
.HE 02 AA C6
.HE 02 AA C4
.HE 03 AD C4
.HE 01 AD C2
.HE 03 B0 C2
.HE 01 00 00 ; silencio
.HE 00 01 ; end
sfxBL3 ; respawn
.HE CE 1E A2 ; rept audf
.HE 0F 0C 1C 10 09 19 11 06 16 13 04 12 13 03
.HE 01 00 00 ; silencio
.HE 00 01 ; endzrodlo silnika w pierwszym poscie zaktualizowane.
wlasciwie to juz mozna rippowac dowolny SFX z gry :D albo pisac swoje.
jeszcze jeden przyklad.
jakby ktos mial dobre przklady z gier albo pomysly na SFX to zapraszam, za kilka dni jak zrodla dojrzeja zrobie stronke z SFX i silnikiem do pobrania do swoich projektow.
male rozszerzenie na format linii:
%0 time,audf,audc
%11 repeat,audf,audc
audf
%10 repeat,audf,audc
audc
co pozwala w pelni kontrolowac AUDC lub AUDF w zalaczniku dwa przklady - szczeggolnie proponuje porownac ten z DropZone z poprzednim :-) drugi efekt to zwykle slide.
nie kompromituj sie.
pokaz cos lepszego od np. tego:
https://www.youtube.com/watch?v=XSw-C1gasuI&t=34s
Droid by Strobe... 1 kanały GTIA
tak? potrafi wyswietlic sprity?
jesli mamy czestotliwosc dwoch probek na bajt to spokojnie mozna kompensowac HBL i na szerokim ekranie ;-)
wazniejsze jest ze skoro faktycznie mozna przekierowac strumien 4 bitowych probek z pamieci ekranu do 4bit przetwornika to zaczyna byc ciekawe...
mam pytanie, GTIA ma L0-L3 - luminance output - czy to jest duplikowane dane pamieci ekranu w 2/4 bitowych kawalkach? da sie toto podlaczyc do bolca S0-S3 (chyba S3 - tego odpowiedzialnego za BEEPera) i oczekiwac ze zapis bedzie z wieksza czestotliwoscia od tego pochodzacego z pomocniczego procesora czyli 6502?
oczyiscie z zabezpieczeniem zeby zapis do rejestru consol nie sfajczyl czegos ;-)
innymi slowy, czy odpowiednio przygotowane dane pamieci ekranu z ustawionym bitem np. b4 w trybie gtia mialby szanse generowac dzwiek metoda PWM?
nie mozna brac na powaznie kogos kto na POKEY mowi uklad dzwiekowy... nawet konstruktorzy tak go nie nazywali.
prawdziwym ukladem dzwiekowym w Atari jest GTIA.
Hm... po przesłuchaniu setek utwórów na POKEYe, w tym w stereo mam wątpliwości, czy POKEY "fałszuje", czy raczej twórcy, którzy nie umieją go używać. :)
fizyki nie oszukasz, jak polaczysz kanaly zeby wybrownac szanse do YM to genialnemu POKEYowi zostaja juz tylko dwa a i tak potrafi wyp* tylko prostokat podczas gdy YM za grosze popuszcza w trojkaty i pily
mozna tez dodac sfx na podobe tych pseudo sampli jak w DropZone (tak samo odtwarzane raz na ramke):
wlasciwie to przdalaby sie taka baza sfx :/ szkoda ze archowum sapow nie obejmuje sfxow :(
tu masz sfx z Donkey Konga wyciagniety metoda "na asapscana" ;-)
pojawiła się w tym samym roku co czipset amigi ECS: "Japonia: 21 listopada 1990"
pare lat minelo zanim przyplynela do PL :D na gieldzie zyla moze rok :D jak sie pojawil psx to pozamiatal tak jak amiga wczesniej :D
SNES wysmienita konsola, jak amiga zdechla to akurat pojawila sie na rynku... pamietam na poczatku 1 gra na SNESA to jakies 10 gier na amige... ale to i tak wszystko pies bo rok pozniej pojawila PSX to snes umarl szybciej niz sie narodzil ;-)
---
pamietam ze sega megadrive miala wieksza baze programow ale .... moze zle pamietam :-) moze po prostu megadrive bardziej mi podpasowal ;-)
format danych jest dosc prosty - mozna zrobic tez np. asapscana i masz golusienkie dane ktore niestety trzeba sobie recznie "skompresowac"
---
najprosciej zwalic na muzyka ale jak juz bieda to szukasz odpowiedniego sfx w jakiejs grze i robisz zrzut rejestrow ;-)
na jednego dzieciaka power usera przypadalo 1000 zadowolonych dzieciakow :D
AY/YM jest najgorzej brzmiącym układem z całej Wielkiej Trójki (POKEY, SID, AY/YM).
YM przynajmniej nie falszuje jak genialny POKEy.
ale cos w tym jest... ktos kto sie przesiadal z 8 bit c64/zx/atari na 16 bit i mial porownanie amiga/st to wchodzil pod dywan slyszac dzwiek ST... niestety nie robilo roboty, amiga zamiatala konkurencją jak szmacianą laleczką.
---
w sumie mozna cos dobrego o ST napisac: mozna go bylo dobrze sprzedac niewiele doplacic i kupic prawdziwy komputer.
Super, wszystkie 5 osób które tego używały są z tego powodu niezmiernie dumne
z dma w IO korzystali wszyscy ;-) na pseudokomputerku w tym czasie nawet wskaznik na ekranie sie zatrzymywal... ;-)
atari.area forum » Posty przez xxl
Wygenerowano w 0.227 sekund, wykonano 16 zapytań