1,101

(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,102

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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

1,103

(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,104

(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,105

(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,106

(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,107

(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,108

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

tak? potrafi wyswietlic sprity?

1,109

(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,110

(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,111

(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,112

(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,113

(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,114

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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

1,115

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

Cyprian napisał/a:

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

1,116

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

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

1,117

(62 odpowiedzi, napisanych Programowanie - 8 bit)

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

1,118

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

na jednego dzieciaka power usera przypadalo 1000 zadowolonych dzieciakow :D

1,119

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

UnDead napisał/a:

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.

1,120

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

Adam Klobukowski napisał/a:

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

1,121

(62 odpowiedzi, napisanych Programowanie - 8 bit)

przykład injekcji:

https://www.youtube.com/watch?v=gdf9oATb2zI


sfx_engine obsluguje 4 kanaly dla sfx - w przykladzie wzbudzam tylko jeden,
zeby SFX_ENGINE nie uzywal konkretnego kanalu należy nadać mu wartosc $80 (np. zarezerwować kanał dla muzyki)
format danych:
linia:
%0 time,audf,audc
%11 repeat,audf,audc
audf
%10 repeat,audf,audc
audc
koniec: 0,1
reload: 0,0

zalety: SFX moze być bardziej skomplikowany od instrumentow uzywanych w playerach muzyki lub np. może być częścią muzyki,
dane mozna generowac do bufora playera muzyki lub bezposrednio do rejestrow,
moze byc samodzielnym silnikiem SFX


silnik:

SFXZP           equ $80     ; ZPAGE
VPOKEY          equ $D200


SFX_ENGINE      lda SFX_ONOFF
                beq @+
                rts              ; mozna tu wyzerować SFX_NO ale to zależy od implementacji
@               ldx #3           ; 3 2 1 0 = Channel
SFX_CONTCH      lda SFX_NO,x
                beq SFX_NXTCH
                bmi SFX_NXTCH    ; zarezerwowany kanał
                ldy SFX_TIME,x
                bne SFX_CONTTONE
                asl @            ; TIME = 0 reload
                tay
                lda SFX_ADR_TAB-2,y   ; adres SFX
                sta SFXZP
                lda SFX_ADR_TAB-1,y
                sta SFXZP+1
                ldy SFX_CNT,x          ; pozcja w SFX
                lda SFX_REPEAT,x
                beq SFX_RELOAD
                dec SFX_REPEAT,x
                inc SFX_TIME,x
                lda SFX_FLAG,x
                asl @
                bcs SFX_DF
                bcc SFX_DC
SFX_RELOAD      lda (SFXZP),Y
                beq SFX_CTRL      ;=0
                asl @                  ; b7 REPEAT?
                bcc SFX_TIM
                asl @                  ; b6 flag
                ror SFX_FLAG,x
                lsr @
                lsr @
                sta SFX_REPEAT,x
                lda #$02               ; /2
SFX_TIM         lsr @                  ; time i wyzeruj C
                sta SFX_TIME,x    ; pierwszy bajt       (%0time,audf,audc)
                iny
SFX_DF          lda (SFXZP),Y
                sta SFX_AUDF,x    ; drugi
                iny
                bcs SFX_N3
SFX_DC          lda (SFXZP),Y
                sta SFX_AUDC,x    ; trzeci
                iny
SFX_N3          tya
                sta SFX_CNT,x     ; ustaw na kolejny bajt w SFX
SFX_CONTTONE    txa               ; zmien na adres w VPOKEY
                asl @
                tay
                lda SFX_AUDF,x
                sta VPOKEY,y      ; nadpisuje to co player muzyki wygenerowal
                lda SFX_AUDC,x
                sta VPOKEY+1,y
                dec SFX_TIME,x    ; SFX_CONTTONE zalezy od implementacji
SFX_NXTCH       dex
                bpl SFX_CONTCH
                rts

SFX_CTRL        iny               ;=0      (0,0) i (0,n)
                lda (SFXZP),y
                tay               ;=0 reload lub <>0 end
                beq SFX_RELOAD
                lda #$00          ; OFF SFX
                sta SFX_NO,x
                sta SFX_CNT,x     ; SFX_TIME = 0
                beq SFX_NXTCH     ; zawsze

SFX_ONOFF  .byte 0                         ; 0 ON
SFX_NO     .byte 0,0,0,0                   ; 0 wolny, numer sfx, $80 zarezerwowany
SFX_CNT    .byte 0,0,0,0                   ; licznik pozcji w sfx
SFX_TIME   .byte 0,0,0,0                   ; licznik trwania nuty
SFX_AUDC   .byte 0,0,0,0
SFX_AUDF   .byte 0,0,0,0
SFX_FLAG   .byte 0,0,0,0                   ; c=1 laduj AUDF, c=0 laduj AUDC
SFX_REPEAT .byte 0,0,0,0                   ; licznik strumienia

SFX_ADR_TAB .word sfx14

sfx14 .HE C5 B0 A7  ; C repeat 5 audf
      .HE A0 90 80 70 60
      .HE C3 50 A6  ; C repeat 3 audf
      .HE 40 30 20
      .HE 01 00 00  ; silencio
      .HE 00 01     ; end

w zalaczniku przyklad - klawiszem 1 generujemy kolejne SFX (wszystkie na jednym kanale)

1,122

(9 odpowiedzi, napisanych Programowanie - 8 bit)

dostep do pliku xex ktory gdzie sie znajduje?

1,123

(9 odpowiedzi, napisanych Programowanie - 8 bit)

od 1. jesli te pliki ROM to zwykle obrazy kartow np. Atarimax to proste:

https://www.youtube.com/watch?v=eGi5Pb6i_7c

1,124

(10,041 odpowiedzi, napisanych Bałagan)

nie tak dawno jeden z forumowiczow wielki entuzjasta lockownu:

"jak sie regularnie dba to nie ma problemu"

1,125

(10,041 odpowiedzi, napisanych Bałagan)

nie, do pan z obfitym biustem mam pelne zaufanie.