1,076

(62 odpowiedzi, napisanych Programowanie - 8 bit)

za duzo danych? dwa dodatkowe rozkazy pozwalajace znacznie skrocic ilosc danych:

1. TIME,AUDF,AUDC ; play
2. REPF,COUNT     ; repeat audf C0
3. REPC,COUNT     ; repeat audc 80
4. 00,LOOP        ; loop
5. 00,FF          ; end/rts
6. JSR nnnnn      ; jsr nnnnn  A+sfx no !=0
7. JMP nnnnn      ; jmp nnnnn  E+sfx no !=0

dzieki JSR i JMP mozna wywolywac instrumenty z wlasnego SFX. przyklad muzyki z Preliminary Monty

ins5
.HE 09 39 AA
.HE C0 07
.HE 22 1D 44 2B 22 39 22
.HE 00 FF
ins6
.HE 09 87 AA
.HE C0 07
.HE 55 44 AB 72 55 87 55
.HE 00 FF
ins7
.HE 07 5B AC
.HE C0 18
.HE 36 2D 44 36 22 5B 36 2D 44 36 22 36 22 1B 2D 1B 17 36 22 1B 2D 1B 17 1B
.HE 00 FF
ins8
.HE 07 87 AC
.HE C0 18
.HE 5B 44 6B 5B 36 87 5B 44 6B 5B 36 5B 36 2D 44 2D 22 5B 36 2D 44 2D 22 44
.HE 00 FF
ins9
.HE 05 6B AE
.HE C0 1C
.HE 48 36 2B 55 36 2B 24 6B 48 36 2B 55 36 2B 24 48 2B 24 1B 36 24 1B 15 2B 24 1B 15 12
.HE 00 FF
insA
.HE 05 90 AE
.HE C0 1C
.HE 6B 55 48 6B 55 48 36 90 6B 55 48 6B 55 48 36 55 48 36 2B 48 36 2B 24 36 2B 24 1B 15
.HE 00 FF

sfx1
.HE A5 A7 A9 A5
.HE 09 1D AA
.HE C0 0B
.HE 2B 1D 15 39 22 1D 2B 1D 1A 18 15
.HE A7 A9
.HE 00 FF

sfx2
.HE A6 A8 AA A6
.HE 09 44 AA
.HE C0 0B
.HE 72 44 39 87 55 44 72 44 39 40 44
.HE A8 AA
.HE 00 FF

nalezy pamietac ze jesli zalezy nam na super szybkiej procedurze to korzystamy tylko z rozkazu 1 ;-)

1,077

(62 odpowiedzi, napisanych Programowanie - 8 bit)

duza zmiana (nie uaktualniona na stronie)

nowy format danych (bardziej czytelny) a przy okacji daje mozliwosc wprowadzenia podprocedur modyfikujacych wartosci - dodatkowo moze skrocic SFXy... moze posluzyc np. do zmiany losu meskiego na zenski w tym przykladzie z pseudo synteza mowy ;-)

testowy import muzy z Soundmachine ;-) ale mozna z dowolnego programu :p

1,078

(127 odpowiedzi, napisanych Fabryka - 8bit)

zawsze

pajero napisał/a:

Co do AtariDos, przypomnę, że Memlo np. $700 dla FOXa dos.  Zapis jest, co prawda tylko jako zastępowanie istniejących danych.

zawsze mozna uzyc: https://xxl.atari.pl/xbootdos/


Pin napisał/a:

wątpliwe, a można przynajmniej zyskać pełną kompatybilność z hardare'm.

licze na kunsztowna "wybieraczke do bankow"

;-)

1,079

(127 odpowiedzi, napisanych Fabryka - 8bit)

mam tylko nadzieje ze walka z "DOS" nie wplynie negatywnie na gre sama w sobie.

1,080

(9,967 odpowiedzi, napisanych Bałagan)

użyj słowa pedał w filmiku np. z serwisowaniem rowerow. zobaczysz co sie stanie :D

kazdy o lewicowych pogladach ... zamiast lisci ;-)

1,081

(62 odpowiedzi, napisanych Programowanie - 8 bit)

no i prosze, silniczek gotowy:

http://xxl.atari.pl/sfx-engine/

przyklad uzycia w zalaczniku

1,082

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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 :-)

1,083

(127 odpowiedzi, napisanych Fabryka - 8bit)

Lizard napisał/a:

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?

1,084

(127 odpowiedzi, napisanych Fabryka - 8bit)

mono napisał/a:

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?

1,085

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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

1,086

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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 :-)

1,087

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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 01

1,088

(62 odpowiedzi, napisanych Programowanie - 8 bit)

ale tam sa sample. ten silnik gra raz na ramke.

1,089

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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     ; end

jaka gra ma jeszcze ambitne SFX? chce sprawdzic czy silniczek to obsluzy

1,090

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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     ; end

1,091

(62 odpowiedzi, napisanych Programowanie - 8 bit)

zrodlo 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.

1,092

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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.

1,093

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

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

1,094

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

tak? potrafi wyswietlic sprity?

1,095

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

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...

1,096

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

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?

1,097

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

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.

1,098

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

UnDead napisał/a:

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

1,099

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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 :(

1,100

(62 odpowiedzi, napisanych Programowanie - 8 bit)

tu masz sfx z Donkey Konga wyciagniety metoda "na asapscana" ;-)