2,476

(7 odpowiedzi, napisanych Scena - 8bit)

odczytywaniem katalogu hdd zajmuje sie komercyjny program DIR, ktory kosztuje ok 40$  8)

2,477

(11 odpowiedzi, napisanych Bałagan)

i znow sprawdza sie przyslowie "nieszczescia chodza parami"

2,478

(7 odpowiedzi, napisanych Scena - 8bit)

czego Wy sie tak cieszycie, bylem dzis w Trencinie o szostej rano, nikogo nie bylo to wrocilem z powrotem do Polski  8)

2,479

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

znowu mam pomysl

niewiem czy aktualnie jest to mozliwe ale pewnie nie, dobrze by bylo gdyby mozna zmieniac liczbe wywolan na ramke

moznaby wtedy uzyc muzy z tmc do dema, tzn cosik sie depakuje, jakas statyczna grafa, player gra 4x ramke, zaczyna sie jakis czasochonny efekt i muza w tym miejscu gra juz na 1 ramce

oczywiscie muzyk musialby napisac odpowiednio taka muzyczke

takie rozwiazanie umozliwiloby powszechniejsze umieszczanie muzy tmc w demach, a nie tylko na msx_compo

zadanie dla grafikow, narysowac grafike do gry Black Lamp II (muzyka juz jest) :D

2,481

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

Do Stryker'a - Pajero.
Zarejestrowałem się (znowu) na cas-area.
pajero_pn@poczta.onet.pl   
albo do TeBe!

2,482

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

Tu pisze Pajero.... Jakoś tak się składa, że ostatnio przeglądałem zródła do progów Wav2cas Cas2xex etc. Sam mam duzo zródeł swojego softu w Turbo Blizzardzie. Coś takiego jak prog Cygierta w wersji dla "zamieci" byłby mi na rękę. Jak tylko zakończą się testy nowej wersji plugina oraz skończe prog który demonstruje jak używać plugina we własnych programach to.... no ale mam remont chatki na głowie a i dla rodzinki czasu jakoś mało. Ale, pomyślę.

2,483

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

a mozna dodac do TMC jakis nowy FX w patternie ktory sluzylby do synchronizacji z programem zewnetrznym

player przechowywalby w wydzielonej pamieci kody fx-ow, a user sprawdzlaby jaka to wartosc i odpowiednio reagowal

2,484

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

oby to byly konwersje takie jak 'Gremlins'

2,485

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

pierwsze slysze, nie znam takiej gry

to moze mi tez podeslecie te_be_@poczta.onet.pl

2,486

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

prace trwaja, juz gra z pseudo patternu, probuje wydobyc z niego jakies ciagle dzwieki, jak na razie nie przypadlo mi to do gust

co do optymalizacji, to bedzie, teraz jednak forma playera ma byc jak najbardziej zrozumiala i podatna na modyfikacje

2,487

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

nowsza wersja


;-------------------
;- Synth Player v1.2
;- 12.02.2004
;-------------------


   opt h+
   org $b000

tmp     equ $00
loop    equ tmp+1               ; starszy bajt licznika dla length_Loop

tempo           equ 16          ; tempo, ilosc pelnych przebiegow length_Loop
length_Loop     equ 450         ; dlugosc petli playera, ile ma odegrac wartosci z sampla

audc1           equ $d201       ;rejestry Pokeya
audc2           equ $d203
audc3           equ $d205
audc4           equ $d207

;------------------------------------
;- PROCEDURKA PLAYER-a DLA 4 KANALOW
;------------------------------------

player equ *

;- kanal #1
        clc
del0    lda #0
del0m   adc #0
        sta del0+1
        lda adres0+1
        adc #0
        sta adres0+1

del0_   lda #0
del0m_  adc #0
        sta del0_+1
        lda adres0_+1
        adc #0
        sta adres0_+1
       
adres0  lda $ff00       ; adres 1-ego sampla
adres0_ adc $ff00       ; adres fali modyfikacyjnej
        lsr @           ; dla Covoxa moznaby pominac 'LSR @', wiekszy przedzial wartosci przyjmie Covox
        tax
vol0    lda $ff00,x     ; adres tablicy glosnosci dla 1-ego sampla
ch0     sta audc1


;- kanal #2
        clc
del1    lda #0
del1m   adc #0
        sta del1+1
        lda adres1+1
        adc #0
        sta adres1+1

del1_   lda #0
del1m_  adc #0
        sta del1_+1
        lda adres1_+1
        adc #0
        sta adres1_+1

adres1  lda $ff00       ; adres 2-ego sampla
adres1_ adc $ff00
        lsr @
        tax
vol1    lda $ff00,x     ; adres tablicy glosnosci dla 2-ego sampla
ch1     sta audc2


;- kanal #3
        clc
del2    lda #0
del2m   adc #0
        sta del2+1
        lda adres2+1
        adc #0
        sta adres2+1

del2_   lda #0
del2m_  adc #0
        sta del2_+1
        lda adres2_+1
        adc #0
        sta adres2_+1

adres2  lda $ff00       ; adres 3-ego sampla
adres2_ adc $ff00
        lsr @
        tax
vol2    lda $ff00,x     ; adres tablicy glosnosci dla 3-ego sampla
ch2     sta audc3


;- kanal #4
        clc
del3    lda #0
del3m   adc #0
        sta del3+1
        lda adres3+1
        adc #0
        sta adres3+1

del3_   lda #0
del3m_  adc #0
        sta del3_+1
        lda adres3_+1
        adc #0
        sta adres3_+1

adres3  lda $ff00       ; adres 4-ego sampla
adres3_ adc $ff00
        lsr @
        tax
vol3    lda $ff00,x     ; adres tablicy glosnosci dla 4-ego sampla
ch3     sta audc4

        dey
        beq test

        jmp player

*-----------------

test    lda loop
        beq test_
        dec loop        ; zmniejszenie starszego licznika length_Loop
       
        jmp player

test_   ldy <length_Loop
        lda >length_Loop
        sta loop

        dec tmp         ; tempo wyrazone w liczbie powtorzen petli playera
        beq HEAD

        jmp player

;-----------------------------------
;- dekodowanie patternu
;- ustawienie nowych czestotliwosci
;- glosnosci itp.
;-----------------------------------

HEAD

timer   lda #0
        inc timer+1     ; licznik na potrzeby testow, ustawia po kolei 32 glosnosci i 32 czestotliwosci
        and #$1f
        tax

        tay

* track 0
        lda Adr_Volume,y
        sta vol0+2

        lda frq,x
        sta del0m+1
        clc
shift0  adc #3          ; czestotliwosc fali modyfikacyjnej, zwiekszona o wartosc SHIFT wzgledem glownej czestotliwosci
        sta del0m_+1
        lda #0          ; zerowanie licznika
        sta del0+1
        sta del0_+1
       
        lda Adr_Instr,x
        sta adres0+2
       
        lda >sampl01    ; fala modyfikujaca
        sta adres0_+2
       
* track 1
        ldy #0          ;graj cisze
        lda Adr_Volume,y
        sta vol1+2

        lda frq,x
        sta del1m+1
        clc
shift1  adc #9
        sta del1m_+1
        lda #0
        sta del1+1
        sta del1_+1

        lda Adr_Instr,x
        sta adres1+2
;        lda #0
;        sta adres1+1

* track 2
        ldy #0
        lda Adr_Volume,y
        sta vol2+2

        lda frq,x
        sta del2m+1
        clc
shift2  adc #9
        sta del2m_+1
        lda #0
        sta del2+1
        sta del2_+1

        lda Adr_Instr,x
        sta adres2+2
;        lda #0
;        sta adres2+1

* track 3
        ldy #0
        lda Adr_Volume,y
        sta vol3+2

        lda frq,x
        sta del3m+1
        clc
shift3  adc #9
        sta del3m_+1
        lda #0
        sta del3+1
        sta del3_+1

        lda Adr_Instr,x
        sta adres3+2
;        lda #0
;        sta adres3+1

* let's go
        lda #tempo
        sta tmp

        ldy <length_Loop
        lda >length_Loop
        sta loop
        jmp player

*----
*- tutaj startuje program po wczytaniu do pamieci
*----
main
        lda 20
        cmp 20
        beq *-2

        sei             ;wylaczenie ROM-u i wszystkich przerwan
        lda #0
        sta $d40e
        sta $d400
        lda #$fe
        sta $d301
       
        lda #0          ;zerujemy POKEY
        sta $d208
        lda #3
        sta $d20f

        ldx #33       
        ldy #0          ;ustawiamy 4-bit w tablicach glosnosci dla Pokeya
cnv0    lda volume,y    ;w przypadku Covoxa, nie musielibysmy tego robic
        ora #%00010000
cnv1    sta volume,y
        iny
        bne cnv0
        inc cnv0+2
        inc cnv1+2
        dex
        bne cnv0
       
        ldy #0          ; wyliczamy tablice czestotliwosci
        lda #24         ; pierwsza czestorliwosc
crea    sta frq,y
        clc
        adc #3          ; stala addycja
        iny
        cpy #32
        bne crea
       
        jmp HEAD        ; startujemy od zera (timer=0)
   
   
*----
*- tablice na 4-ej stronie
*----
        org $0400
       
*----
*- instrumenty, czyli 256-bajtowe sample (32)
*----

Sampl00
:256 dta b(1)                 ; fala prostokatna
; :32 dta b(4)
; :32 dta b(8)
; :32 dta b(4)
; :32 dta b(0)

Sampl01                 ; fala trojkatna
:8 dta b(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)

Sampl02                 ; fala modyfikujaca
:8 dta b(0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,7,7,6,6,5,5,4,4,3,3,2,2,1,1,0,0)

;- adresy instrumentow
Adr_Instr
:32 dta h(Sampl02)

*----
*- tablice z opuznieniami dla kazdej z czestotliwosci (nuty)
*----

;- oryginalna z INERTI (2 bajtowe wartosci L, H)
; dta l(50),l(53),l(57),l(60),l(63)
; dta l(67),l(71),l(76),l(80)
; dta l(85),l(90),l(95),l(101)
; dta l(107),l(113),l(120),l(127)
; dta l(135),l(143),l(151),l(160)
; dta l(170),l(180),l(190),l(202)
; dta l(214),l(227),l(240),l(254)
; dta l(270),l(286),l(302),l(320)
; dta l(339),l(360),l(381),l(404)
; dta l(428),l(453),l(480),l(508)
; dta l(539),l(571),l(605),l(641)
; dta l(679),l(719),l(762)

*- i dla obecnego playera, wziete z kosmosu :), trzeba je dobrac porzadniej
*- 32 wartosci
frq
:32 brk
       
*----
*- tablica ze starszymi adresami glosnosci (33)
*----
Adr_Volume
dta h(volume,volume+$100,volume+$200,volume+$300,volume+$400,volume+$500,volume+$600,volume+$700)
dta h(volume+$800,volume+$900,volume+$a00,volume+$b00,volume+$c00,volume+$d00,volume+$e00,volume+$f00)
dta h(volume+$1000,volume+$1100,volume+$1200,volume+$1300,volume+$1400,volume+$1500,volume+$1600,volume+$1700)
dta h(volume+$1800,volume+$1900,volume+$1a00,volume+$1b00,volume+$1c00,volume+$1d00,volume+$1e00,volume+$1f00)
dta h(volume+$2000)

*----
*- 33 tablice z glosnosciami, kazda po 256 bajtow
*- dla Pokeya, trzeba ustawic 4-bit we wszystkich tablicach
*----
        org $1000

volume  ins 'volume.tab'

*---
        run main

2,488

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

zasilacz

2,489

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

Pokey to tylko dla testow, docelowo pozostalby Covox, a tam nie ma takich znieksztalcen jak w Pokey-u

2,490

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

...

2,491

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

przyklad jest tutaj
http://atariarea.histeria.pl/forum/viewtopic.php?t=1508

tyle ze tablicy glosnosci tam nie ma :) (wazy ponad 8KB)

brzmi to jak do-re-mi-fa-sol-la

zrobilem fale prostokata i trojkatna, ale zadnej perkusji nie uslyszalem, tylko jakby wybrzmiewajace nuty

2,492

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

Dely spojrz lepiej pod posta Swietego, a nie zobaczysz tam ikonki e-mail

wiec do kogo kurfa te txty  8O

jeszcze jeden taki post Dely a posmaruje Twoja łysine odzywka do włosów  :lol:

p.s.
czuje sie dobrze i mam sokoli wzrok

2,493

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

Swiety podaj e-maila

2,494

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

do Zielonego wyslalem, ale do Ciebie  Świety e-maila nie mam, podaj go to tez wysle pseudo player do synthow


;-------------------
;- Synth Player v1.0
;- 20.02.2004
;-------------------

   opt h+
   org $b000

tmp     equ $00

tempo           equ 6           ; tempo, ilosc pelnych przebiegow length_Loop
length_Loop     equ 255         ; dlugosc petli playera, ile ma odegrac wartosci z sampla

audc1           equ $d201       ;rejestry Pokeya
audc2           equ $d203
audc3           equ $d205
audc4           equ $d207

;------------------------------------
;- PROCEDURKA PLAYER-a DLA 4 KANALOW
;------------------------------------

player equ *

;- kanal #1
        clc
delay0  lda #0
delay0m adc #0
        sta delay0+1
   
        lda adres0+1
        adc #0
        sta adres0+1
       
adres0  ldx $ffff       ; adres 1-ego sampla
volume0 lda $ff00,x     ; adres tablicy glosnosci dla 1-ego sampla
ch0     sta audc1

;- kanal #2
        clc
delay1  lda #0
delay1m adc #0
        sta delay1+1
       
        lda adres1+1
        adc #0
        sta adres1+1

adres1  ldx $ffff       ; adres 2-ego sampla
volume1 lda $ff00,x     ; adres tablicy glosnosci dla 2-ego sampla
ch1     sta audc2

;- kanal #3
        clc
delay2  lda #0
delay2m adc #0
        sta delay2+1
       
        lda adres2+1
        adc #0
        sta adres2+1

adres2  ldx $ffff       ; adres 3-ego sampla
volume2 lda $ff00,x     ; adres tablicy glosnosci dla 3-ego sampla
ch2     sta audc3

;- kanal #4
        clc
delay3  lda #0
delay3m adc #0
        sta delay3+1
       
        lda adres3+1
        adc #0
        sta adres3+1

adres3  ldx $ffff       ; adres 4-ego sampla
volume3 lda $ff00,x     ; adres tablicy glosnosci dla 4-ego sampla
ch3     sta audc4

        dey
        beq test

        jmp player

*-----------------

test    ldy #length_Loop

        dec tmp       ; tempo wyrazone w liczbie powtorzen petli playera
        beq HEAD

        jmp player

;-----------------------------------
;- dekodowanie patternu
;- ustawienie nowych czestotliwosci
;- glosnosci itp.
;-----------------------------------

HEAD

        inc timer+1     ; licznik na potrzeby testow, ustawia po kolei 32 glosnosci i 32 czestotliwosci
timer   lda #0
        and #$1f
        tay
       
        tax
;        ldx #0          ; numer sampla i czestotliwosc

* track 0
        lda Adr_Volume,y
        sta volume0+2

        lda frq,x
        sta delay0m+1
        lda #0
        sta delay0+1
       
        lda Adr_Instr,x
        sta adres0+2
        lda #0          ; mlodszy adres sampla =0
        sta adres0+1
       
* track 1
        lda Adr_Volume,y
        sta volume1+2

        lda frq,x
        sta delay1m+1
        lda #0
        sta delay1+1

        lda Adr_Instr,x
        sta adres1+2
        lda #0
        sta adres1+1

* track 2
        lda Adr_Volume,y
        sta volume2+2

        lda frq,x
        sta delay2m+1
        lda #0
        sta delay2+1

        lda Adr_Instr,x
        sta adres2+2
        lda #0
        sta adres2+1

* track 3
        lda Adr_Volume,y
        sta volume3+2

        lda frq,x
        sta delay3m+1
        lda #0
        sta delay3+1

        lda Adr_Instr,x
        sta adres3+2
        lda #0
        sta adres3+1

* let's go
        lda #tempo
        sta tmp
       
        ldy #length_Loop
        jmp player

*----
*- tutaj startuje program po wczytaniu do pamieci
*----
main
        lda 20
        cmp 20
        beq *-2

        sei             ;wylaczenie ROM-u i wszystkich przerwan
        lda #0
        sta $d40e
        sta $d400
        lda #$fe
        sta $d301
       
        lda #0          ;zerujemy POKEY
        sta $d208
        lda #3
        sta $d20f

        ldx #33       
        ldy #0          ;ustawiamy 4-bit w tablicach glosnosci dla Pokeya
cnv0    lda volume,y    ;w przypadku Covoxa, nie musielibysmy tego robic
        ora #%00010000
cnv1    sta volume,y
        iny
        bne cnv0
        inc cnv0+2
        inc cnv1+2
        dex
        bne cnv0
       
        jmp timer       ;startujemy od zera (timer=0)
   
   
*----
*- tablice na 4-ej stronie
*----
        org $0400
       
*----
*- instrumenty, czyli 256-bajtowe sample (32)
*----

Sampl00                 ; fala prostokatna
:128 dta b($0f)
:128 dta b($00)

Sampl01                 ; fala trojkatna
:8 dta b(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)

;- adresy instrumentow
Adr_Instr
:32 dta h(Sampl01)

*----
*- tablice z opuznieniami dla kazdej z czestotliwosci (nuty)
*----

;- oryginalna z INERTI (2 bajtowe wartosci L, H)
; dta l(50),l(53),l(57),l(60),l(63)
; dta l(67),l(71),l(76),l(80)
; dta l(85),l(90),l(95),l(101)
; dta l(107),l(113),l(120),l(127)
; dta l(135),l(143),l(151),l(160)
; dta l(170),l(180),l(190),l(202)
; dta l(214),l(227),l(240),l(254)
; dta l(270),l(286),l(302),l(320)
; dta l(339),l(360),l(381),l(404)
; dta l(428),l(453),l(480),l(508)
; dta l(539),l(571),l(605),l(641)
; dta l(679),l(719),l(762)

*- i dla obecnego playera, wziete z kosmosu :), trzeba je dobrac porzadniej
*- 48 wartosci
frq
dta l(050,053,056,059,062,065,068,071,074,077,080,083)
dta l(086,089,092,095,098,101,104,107,110,113,116,119)
dta l(122,125,128,131,134,137,140,143,146,149,152,155)
dta l(158,161,164,167,107,173,176,179,182,185,188,191)

       
*----
*- tablica ze starszymi adresami glosnosci (33)
*----
Adr_Volume
dta h(volume,volume+$100,volume+$200,volume+$300,volume+$400,volume+$500,volume+$600,volume+$700)
dta h(volume+$800,volume+$900,volume+$a00,volume+$b00,volume+$c00,volume+$d00,volume+$e00,volume+$f00)
dta h(volume+$1000,volume+$1100,volume+$1200,volume+$1300,volume+$1400,volume+$1500,volume+$1600,volume+$1700)
dta h(volume+$1800,volume+$1900,volume+$1a00,volume+$1b00,volume+$1c00,volume+$1d00,volume+$1e00,volume+$1f00)
dta h(volume+$2000)

*----
*- 33 tablice z glosnosciami, kazda po 256 bajtow
*- dla Pokeya, trzeba ustawic 4-bit we wszystkich tablicach
*----
        org $1000

volume  ins 'volume.tab'

*---
        run main

2,495

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

ktos tu zzieleniał ze złości  :lol:

Ale do rzeczy.

Zaraz przygotuje przykladowa procedurke (wycieta z inertii), bez strony zerowej itp, tak zeby bylo latwo modyfikowac.

I chce zobaczyc jak zajebiscie i wyk**** szybko modyfikujecie ją, dodajac obsluge coraz to nowszych fx-ow z MOD-a  :D Jestem ciekaw jak szybko teoria przechodzi w praktyke.

p.s.
jak na aarea mozna dodac plik do posta (trzeba miec swoj serwer ?)

2,496

(21 odpowiedzi, napisanych Emulacja - 8bit)

kilka kopierow dodalem Ja i Pajero do bazy plikow aarea, kopiery dotycza Turbo2000 i Blizzard

2,497

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

gratuluje wytrwalosci

2,498

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

ano SoftSynth to nie zwykly MOD player

2,499

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

waxsoft, kto przyslal Ci ten list, i z kim prowadzisz monolog ?

zamieszczony fragment jest identyczny z tym jaki wystepuje w playerach MOD-ow (Inertia, ProTracker)

czy jednak dla tak krotkich 256 bajtowych sampli, nie bedzie zbyt szybki?

najwiekszy problem stanowila implementacja chocby polowy fx-ow jakie udostepnia np. format MOD, przeciez samo odegranie sampla o okreslonej fali, obwiedni to nie problem, ale co dalej

przeciez nie moze to brzmiec jak Neo, gdzie wogole nut nie slychac, zadnej modulacji dzwieku

jak grac 256 bajtowymi probkami, aby wyszla z nich muza w stylu chiptunes, na PC tworza takie kawalki w XM czy tez MOD (dzwieki SID-owe)

ktory efekt sprawia ze tak krotki sampl brzmi jak SID-wo, czy to portamento, zreszta nawet nie wiem co to portamento ?? rozpiska wszystkich fx-ow z MOD-a byla, tylko nie mial kto wytlumaczyc co taki efekt robi z samplem

skoro PWM takie wazne, to budujac indywidualnie fale, mozemy to PWM sobie ustawic jak chcemy, tylko gdy konczy sie 256-a wartosc probki, licznik sie przekreci i bedzie zgrzyt, chyba ze koncowka sampla pokrywa sie z jego poczatkiem, chociaz gdy index odwolujacy sie do sampla bedzie zbyt duzy to i tak beda zgrzyty

2,500

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

czyli napiszemy nowego SoftSyntha

1. edycja fali

wartosci, odzwierciedlaja wysokosc slupka 0..15 dla Pokeya, 0-255 dla Covoxa. W samplach 8-bit np. WAV sa wartosci od -127..128


1122334455665544332211

itd. w sumie 256 bajtow opisujacych fale

2. obwiednia, czyli glosnosc sampla

glosnosc to bedzie kilkadziesiat tablic, ktore odpowiednio beda modyfikowaly wartosci opisuajace fale

ldx fala,y
lda volume,x


ok. mamy juz edytor fali i obwiedni, teraz jakie operacje beda mozliwe na tak krotkich samplach :)?