Перейти к содержимому
DeidaraNT

Помощь по ромхакингу

Рекомендуемые сообщения

 

 

В каком смысле "Детали"? Распиши поподробнее.
 

Новые блоки, и соответственно - тайлы нужны, а места для них нет - 2-3 пустых и все...

Поделиться сообщением


Ссылка на сообщение

Большее, чем в данном случае поможет SonMapEd, это работать с тайлами. Составлять из тайлов блоки ты все равно будешь в SonEd'е. Да и зачем нужно так извращаться, если в SonEd'е есть функция импортирования блоков и чанков? С этим, конечно, тоже придется попариться, но я именно так сделал новый фон титульника в хаке Time of Changes.

Да, ты конечно прав что блоки делать в сонеде. Если портировать фон, то юзать функцию портинга чанков сонеда. Если тебе нужно портануть лишь чучуть блоков, то сонмапэд как раз в помощь! Или тебе лучше перед портацией каждого блока в пикче настраивать правильные индексирования цветов?

Поделиться сообщением


Ссылка на сообщение
Или тебе лучше перед портацией каждого блока в пикче настраивать правильные индексирования цветов?

 

 

Это так трудно?

Поделиться сообщением


Ссылка на сообщение

Много возни, че-нить мелкое можно и сонмапедом.,

Поделиться сообщением


Ссылка на сообщение

Собс-но, еще вопрос: как сделать разные палитры на каждый акт? Слыхал, что это довольно трудно, но надо же с банального изменения уровней да палитр\тайлов переходить-с...

Поделиться сообщением


Ссылка на сообщение
Много возни, че-нить мелкое можно и сонмапедом

 

 

Два клика же.

 

Слыхал, что это довольно трудно

 

Ошибаетесь. http://sonichacking.tk/publ/dinamicheskie_palitry_v_sonic_1/1-1-0-3

Поделиться сообщением


Ссылка на сообщение

К сожалению гайд слегка не доработан: циклы не динамические. Но тебе в самый раз: научишься работать и сам чего-нибудь смастеришь.

Поделиться сообщением


Ссылка на сообщение

В сонеде есть такая функция. Долго объястнять. Поищи в гугле сонэд мануал.

Поделиться сообщением


Ссылка на сообщение

Люди,а как импортировать новый нарисованный фон?А то я не знаю.

Ты в пэинте, что ли, рисовал?

Поделиться сообщением


Ссылка на сообщение

Легкие у вас вопросы, которые разбирались помойму уже по 100500 раз и даже гайды описаны досконально по ним.

 

Хотя... у меня у самого одна вещь криво получается.

 

Решил ради интереса конвертнуть одну миди исползуя гайд nineko. Вроде бы все нормально- сократил количество каналов до 7 и раздал каждому имя (для команды Auto Fill), пофиксил темп, но когда я ее прослушиваю через xm3smps или уже внутри хака- некоторые инструменты играют не так или не проигрываются вообще, будто я и не добавлял в войс менеджер их голоса (хотя я кое-как надыбал пак с войсами, но даже те воисы что есть не все проигрываются или играют совсем не так)

 

 

Отчего у меня в голове есть только 3 вывода из того почему музыка работает неправильно-

Я неправильно распределил каналы

Голоса не хотят использоваться, хотя я подбираю соответствующие инструменты

Сонег не поддерживает нужные звуки в музыке

 

 

Так в чем же причина? =\

Алсо- миди после моих длительных манипуляций и ее превращения в XM выглядит теперь так

 

OoE_Boss.rar

 

 

Поделиться сообщением


Ссылка на сообщение

Я даже не заглядывая в хм-ку понял... хотя я потом глянул ее, в чем проблема-то. Ничего серьезного. Нужно просто в программе выставить какой иструмент в хм-ке должен юзать войц в твоей смпс-ке.

8a4f8121d6b20406409bc41f38eaa014.pngНо лучше юзай хм4смпс, он намного лучше. Если нужно подробнее, можешь в личку.

Поделиться сообщением


Ссылка на сообщение

OH SHI~ Слонов я и не заметил! Спасибо за то что показал насколько эпично я сделал фэил. 5( 

 

Чтож, пора творить XD

 

Ушел со стыдом =\

Поделиться сообщением


Ссылка на сообщение

Люди, как сделать платформу, которая поднимается и опускается в скрэп брэйне как из МегаМикса

Изменено пользователем Hezon TH

Поделиться сообщением


Ссылка на сообщение

Объект 18.

Я то знаю что 18..Я говорю как сделать так что бы эта платформа работала в скреп бреин.

Поделиться сообщением


Ссылка на сообщение

Люди, как сделать платформу, которая поднимается и опускается в скрэп брэйне как из МегаМикса

 

Вам сюда: http://forum.sonic-world.ru/topic/16333-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C-%D0%BF%D0%BE-%D1%80%D0%BE%D0%BC%D1%85%D0%B0%D0%BA%D0%B8%D0%BD%D0%B3%D1%83/page-47?do=findComment&comment=252855709

Поделиться сообщением


Ссылка на сообщение

Поделиться сообщением


Ссылка на сообщение

Люди, HELP! Я переделываю уровни в Hg дизассембле и изменяю там позицию Соника, так как тот дизассембл позволяет. Все позиции хранятся в папке StartPos. Но в S1HS такой папки, нет! Как быть? А то я не хочу чтобы у меня Соник в воздухе начинал. (Этот вопрос особенно относиться к Владу)

Поделиться сообщением


Ссылка на сообщение

Люди, HELP! Я переделываю уровни в Hg дизассембле и изменяю там позицию Соника, так как тот дизассембл позволяет. Все позиции хранятся в папке StartPos. Но в S1HS такой папки, нет! Как быть? А то я не хочу чтобы у меня Соник в воздухе начинал. (Этот вопрос особенно относиться к Владу)

А Соник не начинает в воздухе - ты не заметил? Неужели было трудно поворошить другие папки типа "objpos".

Поделиться сообщением


Ссылка на сообщение

sourcecode\misc\sloc_lev.bin

 

Его редактируешь. 

Уровни идет по порядку как в лвл селект вроде.

Байты XXXX YYYY.

P.S. Редактируй ВинХексом.

Поделиться сообщением


Ссылка на сообщение

Люди, HELP! Я переделываю уровни в Hg дизассембле и изменяю там позицию Соника, так как тот дизассембл позволяет. Все позиции хранятся в папке StartPos. Но в S1HS такой папки, нет! Как быть? А то я не хочу чтобы у меня Соник в воздухе начинал. (Этот вопрос особенно относиться к Владу)

 

В HG-дизасембла совершенно другая организация данных, поэтому неудивительно, что некоторые папки могут отсутствовать, а некоторые данные находиться в другом месте в другой форме. Как редактировать эти данные в Hivebrain/S1HS-дизасембле совершенно верно рассказал Иван постов выше.

 

Кстати, данные начальных были подобным образом в HG-были разбиты таким образом относительно недавно, с выходом SonED2 v.11.x, если мне не изменяет память. S1 Hacking Studio 2.0 же вышла еще в 2010-м году, на тот момент последняя версия SonED2 была еще 1.03. Старый SonED не редактировал начальные позиции Соника таким образом, поэтому данные начальных позиций остались в их первоначальном виде для редактирования всего массива вручную. В том же HG данные размеров уровней до сих пор хранятся в одном файле общим массивов, как и в Hivebrain/S1HS.

 

 

Ты можешь без проблем перенести это в дизасембл S1HS. Достаточно найти в sonic1.asm этот кусок:

StartLocArray:	incbin	misc\sloc_lev.bin
		even

И заменить его на:

StartLocArray:
		incbin	"startpos\ghz1.bin"
		incbin	"startpos\ghz2.bin"
		incbin	"startpos\ghz3.bin"
		dc.w	$80,$A8

		incbin	"startpos\lz1.bin"
		incbin	"startpos\lz2.bin"
		incbin	"startpos\lz3.bin"
		incbin	"startpos\sbz3.bin"

		incbin	"startpos\mz1.bin"
		incbin	"startpos\mz2.bin"
		incbin	"startpos\mz3.bin"
		dc.w	$80,$A8

		incbin	"startpos\slz1.bin"
		incbin	"startpos\slz2.bin"
		incbin	"startpos\slz3.bin"
		dc.w	$80,$A8

		incbin	"startpos\syz1.bin"
		incbin	"startpos\syz2.bin"
		incbin	"startpos\syz3.bin"
		dc.w	$80,$A8

		incbin	"startpos\sbz1.bin"
		incbin	"startpos\sbz2.bin"
		incbin	"startpos\fz.bin"
		dc.w	$80,$A8

		incbin	"startpos\end1.bin"
		incbin	"startpos\end2.bin"
		dc.w	$80,$A8
		dc.w	$80,$A8

		even

Теперь можно копировать папку startpos в папку SourceCode S1HS, теперь позиции Соника можно будет редактировать в этих файлах. Файл misc\sloc_lev.bin тогда можно удалить за ненадобностью. Впрочем, файлы, относящиеся к Credits Demo в той же папке эффект иметь не будут. Их надо включать в другое место. На этот раз вместо файла misc\sloc_end.bin.

  • Лайк 2

Поделиться сообщением


Ссылка на сообщение

Ой, спасибо Владик. Ты прям выручил! А то работа на месте стоит из-за этой папки. Спасибо ещё раз.

Поделиться сообщением


Ссылка на сообщение

Хочу портироватьспрайты Шеда (http://www.themysticalforestzone.com/sprites_2007_Damien/Update_Feb_03_07/ShadowS&K.PNG) в свой хак.

Пэинтом портирую в BMP, вскрываю СонМаэдОМ, а некоторые спрайты испорчены, спрайты бега Шеда (и искровые, и обычные!) имеют тайлы (обычно ряд справа на спрайте) других спрайтов. Как исправить этот беспредел, или это S1MapEd такой тугодум?

Изменено пользователем Гиперный

Поделиться сообщением


Ссылка на сообщение

Хочу портироватьспрайты Шеда (http://www.themysticalforestzone.com/sprites_2007_Damien/Update_Feb_03_07/ShadowS&K.PNG) в свой хак.

Пэинтом портирую в BMP, вскрываю СонМаэдОМ, а некоторые спрайты испорчены, спрайты бега Шеда (и искровые, и обычные!) имеют тайлы (обычно ряд справа на спрайте) других спрайтов. Как исправить этот беспредел, или это S1MapEd такой тугодум?

Это ты накосячил братюнь...

 

 

А теперь мой вопрос

 

 

Как сделать так что бы после уничтожения капсулы,игрок не куда не убегал

Поделиться сообщением


Ссылка на сообщение

Вот такая беда... решил кое-что поменять в чанках Скрэп Брейна. Поставил несколько "поверхностных" блоков(создав один свой), но когда еж наступает на них, он моментально проваливается, да и еще перемещаясь в другое место. Что делать, как решать?

Поделиться сообщением


Ссылка на сообщение

Эх, все просто. Ты должен задать блоку твердость из списка твердостей в сонеде, а также сделать этот блок в чанке твердым.

Щас задам нубский вопрос.. да, да. Это неожиданно, у про.
*решил написать смпс с нуля*
Пишу пишу, все без ошибок, проверял 100 раз и не понимаю, В ЧЕМ ПРОБЛЕМА? откуда illegal instruction??! Все написано в максимальной оптимизации, всего 1 паттерн на все каналы. И тут ошибки какбы не должно быть, и я непонимаю.

 

Для про.

 

Вот смпс файл асм код.

Можете даже попробовать потестить тесто.





; Написан с нуля. By Ivan YO

Jakim_WIM_Header:
smpsheadervoice Jakim_WIM_Voices
smpsheaderchan 7, 3
smpsheadertempo 2, 0
dc.l $000900F2 ; нету ДАКоф
smpsheaderfm Jakim_WIM_FM1, 0, 10
smpsheaderfm Jakim_WIM_FM2, 0, 24
smpsheaderfm Jakim_WIM_FM3, 0, 24
smpsheaderfm Jakim_WIM_FM4, 0, 24
smpsheaderfm Jakim_WIM_FM5, 0, 24
smpsheaderfm Jakim_WIM_FM6, 0, 10
smpsheaderpsg Jakim_WIM_psg1, -36, 4, 0
smpsheaderpsg Jakim_WIM_psg2, -36, 4, 0
smpsheaderpsg Jakim_WIM_psg3, -36, 3, 0

Jakim_WIM_FM1:
smpscall Jakim_WIMFM1_p1
smpsstop
Jakim_WIM_FM2:
smpscall Jakim_WIMFM2_p1
Jakim_WIM_FM3:
smpscall Jakim_WIMFM3_p1
Jakim_WIM_FM4:
smpscall Jakim_WIMFM4_p1
Jakim_WIM_FM5:
smpscall Jakim_WIMFM5_p1

Jakim_WIM_FM6:
dc.b NOFF, 255
dc.b NOFF

Jakim_WIM_psg1:
dc.b NOFF, 255
dc.b NOFF

Jakim_WIM_psg2:
dc.b NOFF, 255
dc.b NOFF

Jakim_WIM_psg3:
dc.b NOFF, 255
dc.b NOFF

Jakim_WIMFM1_p1:
dc.b NOFF, 255
dc.b NOFF
smpsreturn

Jakim_WIMFM2_p1:
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch -1
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch 1
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch -2
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch 2
smpsreturn

Jakim_WIMFM2_p1_0:
smpsaltervol 5
smpsfmvoice 9
dc.b E6, 12
smpsaltervol -5
smpsfmvoice 10
dc.b e6, 3
smpsaltervol 5
smpsfmvoice 9
dc.b E6, 21
smpsaltervol -5
smpsfmvoice 10
smpsmodset 0, 1, 10, 2
dc.b e6, 6
smpsaltervol 5
smpsfmvoice 9
smpsmodoff
dc.b E6, 6
smpsaltervol -5
smpsreturn

Jakim_WIMFM3_p1:
smpsalterpitch -4
smpscall Jakim_WIMFM2_p1_0
smpscall Jakim_WIMFM2_p1_0
smpscall Jakim_WIMFM2_p1_0
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch 4
smpsreturn

Jakim_WIMFM4_p1:
smpsalterpitch -7
smpscall Jakim_WIMFM2_p1_0
smpscall Jakim_WIMFM2_p1_0
smpscall Jakim_WIMFM2_p1_0
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch 7
smpsreturn

Jakim_WIMFM5_p1:
smpsalterpitch -9
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch -1
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch -1
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch -1
smpscall Jakim_WIMFM2_p1_0
smpsalterpitch 12
smpsreturn

Jakim_WIM_Voices:
dc.b $3c,$0,$0,$3,$0,$1f,$12,$1f,$1f,$0,$11,$19,$c,$0,$16,$0
dc.b $16,$f0,$a7,$f0,$26,$0,$85,$0,$82 ; Voice 0 (kik)
dc.b $3c,$f,$0,$2,$0,$1f,$14,$1c,$1f,$0,$10,$19,$0,$0,$16,$0
dc.b $16,$f0,$78,$f0,$98,$0,$85,$0,$82 ; Voice 1 (snare)
dc.b $3c,$0,$0,$3,$0,$1f,$12,$1f,$1f,$0,$11,$19,$c,$0,$16,$0
dc.b $16,$f0,$a7,$f0,$26,$0,$85,$0,$82 ; Voice 2 (snare 2)
dc.b $3d,$31,$33,$30,$31,$5f,$1f,$1f,$51,$7,$6,$6,$6,$4,$4,$5
dc.b $3,$f,$f,$f,$f,$15,$18,$c,$c ; Voice 3 (bass)
dc.b $39,$32,$31,$62,$61,$1f,$1f,$1f,$1f,$0,$0,$0,$0,$0,$0,$0
dc.b $0,$f,$f,$f,$f,$17,$2b,$30,$0 ; Voice 4 (01 переход)
dc.b $31,$32,$31,$32,$31,$1f,$1f,$1f,$9f,$0,$0,$0,$0,$0,$0,$0
dc.b $0,$f,$f,$f,$f,$1b,$32,$28,$0 ; Voice 5 (02 переход)
dc.b $29,$32,$31,$32,$31,$1f,$1f,$1f,$1f,$0,$0,$0,$0,$0,$0,$0
dc.b $0,$f,$f,$f,$f,$11,$32,$28,$0 ; Voice 6 (03 переход)
dc.b $21,$32,$31,$32,$31,$1f,$1f,$1f,$1f,$0,$0,$0,$0,$0,$0,$0
dc.b $0,$f,$f,$f,$f,$1b,$32,$28,$0 ; Voice 7 (04 переход)
dc.b $39,$32,$31,$32,$31,$1f,$1f,$1f,$1f,$0,$0,$0,$0,$0,$0,$0
dc.b $0,$f,$f,$f,$f,$1b,$32,$28,$0 ; Voice 8 (05 square)
dc.b $39,$32,$31,$32,$31,$1f,$1f,$1f,$1f,$0,$0,$0,$0,$0,$0,$0
dc.b $0,$f,$f,$f,$f,$7f,$32,$28,$0 ; Voice 9 (06 triangle)
dc.b $3d,$1,$1,$1,$11,$1f,$1f,$1f,$1f,$6,$5,$4,$5,$0,$0,$0
dc.b $0,$ff,$ff,$5f,$7f,$18,$0,$0,$0 ; Voice a (03 saw wave)

И новые макросы с1смпс2асм





; Standard Octave Pitch Equates
smpsPitch10lo EQU $88
smpsPitch09lo EQU $94
smpsPitch08lo EQU $A0
smpsPitch07lo EQU $AC
smpsPitch06lo EQU $B8
smpsPitch05lo EQU $C4
smpsPitch04lo EQU $D0
smpsPitch03lo EQU $DC
smpsPitch02lo EQU $E8
smpsPitch01lo EQU $F4
smpsPitch00 EQU $00
smpsPitch01hi EQU $0C
smpsPitch02hi EQU $18
smpsPitch03hi EQU $24
smpsPitch04hi EQU $30
smpsPitch05hi EQU $3C
smpsPitch06hi EQU $48
smpsPitch07hi EQU $54
smpsPitch08hi EQU $60
smpsPitch09hi EQU $6C
smpsPitch10hi EQU $78

; Note Equates
noff EQU $80
C1 EQU $81
C_1 EQU $82
D1 EQU $83
D_1 EQU $84
E1 EQU $85
F1 EQU $86
F_1 EQU $87
G1 EQU $88
G_1 EQU $89
A1 EQU $8A
A_1 EQU $8B
B1 EQU $8C
C2 EQU $8D
C_2 EQU $8E
D2 EQU $8F
D_2 EQU $90
E2 EQU $91
F2 EQU $92
F_2 EQU $93
G2 EQU $94
G_2 EQU $95
A2 EQU $96
A_2 EQU $97
B2 EQU $98
C3 EQU $99
C_3 EQU $9A
D3 EQU $9B
D_3 EQU $9C
E3 EQU $9D
F3 EQU $9E
F_3 EQU $9F
G3 EQU $A0
G_3 EQU $A1
A3 EQU $A2
A_3 EQU $A3
B3 EQU $A4
C4 EQU $A5
C_4 EQU $A6
D4 EQU $A7
D_4 EQU $A8
E4 EQU $A9
F4 EQU $AA
F_4 EQU $AB
G4 EQU $AC
G_4 EQU $AD
A4 EQU $AE
A_4 EQU $AF
B4 EQU $B0
C5 EQU $B1
C_5 EQU $B2
D5 EQU $B3
D_5 EQU $B4
E5 EQU $B5
F5 EQU $B6
F_5 EQU $B7
G5 EQU $B8
G_5 EQU $B9
A5 EQU $BA
A_5 EQU $BB
B5 EQU $BC
C6 EQU $BD
C_6 EQU $BE
D6 EQU $BF
D_6 EQU $C0
E6 EQU $C1
F6 EQU $C2
F_6 EQU $C3
G6 EQU $C4
G_6 EQU $C5
A6 EQU $C6
A_6 EQU $C7
B6 EQU $C8
C7 EQU $C9
C_7 EQU $CA
D7 EQU $CB
D_7 EQU $CC
E7 EQU $CD
F7 EQU $CE
F_7 EQU $CF
G7 EQU $D0
G_7 EQU $D1
A7 EQU $D2
A_7 EQU $D3
B7 EQU $D4
C8 EQU $D5
C_8 EQU $D6
D8 EQU $D7
D_8 EQU $D8
E8 EQU $D9
F8 EQU $DA
F_8 EQU $DB
G8 EQU $DC
G_8 EQU $DD
A8 EQU $DE
B8 EQU $DF

; DAC Equates
NONE EQU $80
dKick EQU $81
dSnare EQU $82
dTimpani EQU $83
dHiTimpani EQU $88
dMidTimpani EQU $89
dLowTimpani EQU $8A
dVLowTimpani EQU $8B
dModLooseKick EQU $95
dHiHitDrum EQU $97
dLowHitDrum EQU $98
dPowerTom EQU $99
dHiWoodBlock EQU $8C
dLowWoodBlock EQU $8D
dSnareGo EQU $9A
dMetalCrashHit EQU $8E
dQuietGlassCrash EQU $A5
dGo EQU $A6
dScratchS3 EQU $A7

; Header Macros
; Header - Set up Voice Location
smpsHeaderVoice macro loc
songStart set *
dc.w loc-songStart
endm
; Header - Set up Channel Usage
smpsHeaderChan macro fm,psg
dc.b fm,psg
endm
; Header - Set up Tempo
smpsHeaderTempo macro div,mod
dc.b div,mod
endm
; Header - Set up DAC Channel
smpsHeaderDAC macro loc
dc.w loc-songStart
dc.w $00
endm
; Header - Set up FM Channel
smpsHeaderFM macro loc,pitch,vol
dc.w loc-songStart
dc.b pitch,vol
endm
; Header - Set up PSG Channel
smpsHeaderPSG macro loc,pitch,vol,voice
dc.w loc-songStart
dc.b pitch,vol
dc.w voice
endm

; Co-ord Flag Macros and Equates
; E0xx - Panning, AMS, FMS
smpsPan macro direction,amsfms
panNone set $00
panRight set $40
panLeft set $80
panCentre set $C0
panCenter set $C0 ; silly Americans :U
dc.b $E0,direction+amsfms
endm

; E1xx - Alter note values by xx
smpsAlterNote macro val
dc.b $E1,val
endm

; E2xx - Unknown
smpsE2 macro val
dc.b $E2,val
endm

; E3 - Return (generally used after F8)
smpsReturn macro val
dc.b $E3
endm

; E4 - Fade in previous song (ie. 1-Up)
smpsFade macro val
dc.b $E4
endm

; E5xx - Set channel tempo divider to xx
smpsChanTempoDiv macro val
dc.b $E5,val
endm

; E6xx - Alter Volume by xx
smpsAlterVol macro val
dc.b $E6,val
endm

; E7 - Prevent attack of next note
smpsNoAttack EQU $E7

; E8xx - Set note fill to xx
smpsNoteFill macro val
dc.b $E8,val
endm

; E9xx - Add xx to channel pitch
smpsAlterPitch macro val
dc.b $E9,val
endm

; EAxx - Set music tempo modifier to xx
smpsSetTempoMod macro val
dc.b $EA,val
endm

; EBxx - Set music tempo divider to xx
smpsSetTempoDiv macro val
dc.b $EB,val
endm

; ECxx - Set Volume to xx
smpsSetVol macro val
dc.b $EC,val
endm

; ED - Unknown
smpsED EQU $ED

; EE - Unknown (Something to do with voice selection)
smpsEE EQU $EE

; EFxx - Set Voice of FM channel to xx
smpsFMvoice macro voice
dc.b $EF,voice
endm

; F0wwxxyyzz - Modulation - ww: wait time - xx: modulation speed - yy: change per step - zz: number of steps
smpsModSet macro wait,speed,change,step
dc.b $F0,wait,speed,change,step
endm

; F1 - Turn on Modulation
smpsModOn macro
dc.b $F1
endm

; F2 - End of channel
smpsStop macro
dc.b $F2
endm

; F3xx - PSG waveform to xx
smpsPSGform macro form
dc.b $F3,form
endm

; F4 - Turn off Modulation
smpsModOff macro
dc.b $F4
endm
; F5xx - PSG voice to xx
smpsPSGvoice macro voice
dc.b $F5,voice
endm

; F6xxxx - Jump to xxxx
smpsJump macro loc
dc.b $F6
dc.w loc-*-1
endm

; F7xxyyzzzz - Loop back to zzzz yy times, xx being the loop index for loop recursion fixing
smpsLoop macro index,loops,loc
dc.b $F7
dc.b index,loops
dc.w loc-*-1
endm

; F8xxxx - Call pattern at xxxx, saving return point
smpsCall macro loc
dc.b $F8
dc.w loc-*-1
endm

; F9 - Unknown
smpsF9 EQU $F9

; Voices - Feedback
smpsVcFeedback macro val
vcFeedback set val
endm

; Voices - Algorithm
smpsVcAlgorithm macro val
vcAlgorithm set val
endm

; Voices - Detune
smpsVcDetune macro op1,op2,op3,op4
vcDT1 set op1
vcDT2 set op2
vcDT3 set op3
vcDT4 set op4
endm

; Voices - Coarse-Frequency
smpsVcCoarseFreq macro op1,op2,op3,op4
vcCF1 set op1
vcCF2 set op2
vcCF3 set op3
vcCF4 set op4
endm

; Voices - Rate Scale
smpsVcRateScale macro op1,op2,op3,op4
vcRS1 set op1
vcRS2 set op2
vcRS3 set op3
vcRS4 set op4
endm

; Voices - Attack Rate
smpsVcAttackRate macro op1,op2,op3,op4
vcAR1 set op1
vcAR2 set op2
vcAR3 set op3
vcAR4 set op4
endm

; Voices - Amplitude Modulation
smpsVcAmpMod macro op1,op2,op3,op4
vcAM1 set op1
vcAM2 set op2
vcAM3 set op3
vcAM4 set op4
endm

; Voices - First Decay Rate
smpsVcDecayRate1 macro op1,op2,op3,op4
vcD1R1 set op1
vcD1R2 set op2
vcD1R3 set op3
vcD1R4 set op4
endm

; Voices - Second Decay Rate
smpsVcDecayRate2 macro op1,op2,op3,op4
vcD2R1 set op1
vcD2R2 set op2
vcD2R3 set op3
vcD2R4 set op4
endm

; Voices - Decay Level
smpsVcDecayLevel macro op1,op2,op3,op4
vcDL1 set op1
vcDL2 set op2
vcDL3 set op3
vcDL4 set op4
endm

; Voices - Release Rate
smpsVcReleaseRate macro op1,op2,op3,op4
vcRR1 set op1
vcRR2 set op2
vcRR3 set op3
vcRR4 set op4
endm

; Voices - Total Level
smpsVcTotalLevel macro op1,op2,op3,op4
vcTL1 set op1
vcTL2 set op2
vcTL3 set op3
vcTL4 set op4
dc.b (vcFeedback<<3)+vcAlgorithm
dc.b (vcDT4<<4)+vcCF4,(vcDT3<<4)+vcCF3,(vcDT2<<4)+vcCF2,(vcDT1<<4)+vcCF1
dc.b (vcRS4<<6)+vcAR4,(vcRS3<<6)+vcAR3,(vcRS2<<6)+vcAR2,(vcRS1<<6)+vcAR1
dc.b (vcAM4<<5)+vcD1R4,(vcAM3<<5)+vcD1R3,(vcAM2<<5)+vcD1R2,(vcAM1<<5)+vcD1R1
dc.b vcD2R4,vcD2R3,vcD2R2,vcD2R1
dc.b (vcDL4<<4)+vcRR4,(vcDL3<<4)+vcRR3,(vcDL2<<4)+vcRR2,(vcDL1<<4)+vcRR1
dc.b vcTL4,vcTL3,vcTL2,vcTL1
endm

; Header - Set up a secondary PWM Channel
smpsHeaderPWM macro loc
dc.w loc-songStart
endm

; Header - Set up first PWM Channel
smpsHeaderPWM1 macro loc,num
dc.w loc-songStart
dc.b num,0
endm

Я конечно понимаю что на этот вопрос могут ответить только про-музыканты или Влад, но все же.

P.S. Если что решил написать это

Изменено пользователем Ivan YO

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×