Compare commits
3 Commits
07019a5693
...
0161588b5a
Author | SHA1 | Date | |
---|---|---|---|
0161588b5a | |||
ffdada171b | |||
3eaac70291 |
2
Makefile
2
Makefile
@ -1,6 +1,6 @@
|
||||
all: xm_player.elf
|
||||
|
||||
OPT = -O2
|
||||
OPT = -O1
|
||||
|
||||
MAKEFILE_PATH := $(patsubst %/,%,$(dir $(abspath $(firstword $(MAKEFILE_LIST)))))
|
||||
LIB ?= $(MAKEFILE_PATH)/dreamcast
|
||||
|
@ -249,10 +249,12 @@ void interrupt()
|
||||
break;
|
||||
}
|
||||
*/
|
||||
if (state.channel[ch].keyon == 255) {
|
||||
wait(); aica_sound.channel[ch].KYONB(1);
|
||||
if (state.channel[ch].keyon > 128) {
|
||||
state.channel[ch].keyon -= 1;
|
||||
}
|
||||
if (state.channel[ch].keyon == 128) {
|
||||
wait(); aica_sound.channel[ch].KYONB(1);
|
||||
}
|
||||
}
|
||||
wait(); aica_sound.channel[0].KYONEX(1);
|
||||
|
||||
@ -261,7 +263,7 @@ void interrupt()
|
||||
}
|
||||
for (int ch = 0; ch < 64; ch++) {
|
||||
int keyon = state.channel[ch].keyon;
|
||||
if (keyon != 255 && keyon != 0) {
|
||||
if (keyon < 128 && keyon != 0) {
|
||||
state.channel[ch].keyon -= 1;
|
||||
}
|
||||
}
|
||||
@ -366,12 +368,12 @@ const int sample_data_length = (sizeof (sample_data));
|
||||
|
||||
void deferred_load(int buf)
|
||||
{
|
||||
state.deferred_load_tick = 44100 / 2;
|
||||
const float aica_clock_multiplier = 44.1 / 3;
|
||||
|
||||
state.deferred_load_tick = aica_clock_multiplier * 1000 / 2;
|
||||
|
||||
stop_sound();
|
||||
|
||||
const float aica_clock_multiplier = 44.1;
|
||||
|
||||
state.sample_data_ix = xm_init(&interpreter::state.xm,
|
||||
buf,
|
||||
sample_data,
|
||||
|
@ -44,7 +44,7 @@ void vbr600()
|
||||
wait(); aica_sound.common.mcire = (1 << 6); // interrupt timer A
|
||||
wait(); aica_sound.common.tactl_tima =
|
||||
aica::tactl_tima::TACTL(0) // increment once every sample
|
||||
| aica::tactl_tima::TIMA(0xffff) // interrupt after 1 counts
|
||||
| aica::tactl_tima::TIMA(0xfffd) // interrupt after 3 counts
|
||||
;
|
||||
|
||||
//scene::logo::sound::interrupt();
|
||||
@ -108,6 +108,7 @@ void main()
|
||||
|
||||
system.IML6NRM = istnrm::end_of_render_tsp
|
||||
| istnrm::v_blank_in
|
||||
| istnrm::end_of_transferring_punch_through_list
|
||||
| istnrm::end_of_transferring_opaque_list;
|
||||
|
||||
system.IML4EXT = istext::aica;
|
||||
|
@ -131,7 +131,7 @@ void init()
|
||||
|
||||
wait(); aica_sound.common.tactl_tima =
|
||||
aica::tactl_tima::TACTL(0) // increment once every sample
|
||||
| aica::tactl_tima::TIMA(0xffff) // interrupt after 1 counts
|
||||
| aica::tactl_tima::TIMA(0xfffd) // interrupt after 3 counts
|
||||
;
|
||||
|
||||
wait(); aica_sound.common.mcieb = (1 << 6); // interrupt timer A
|
||||
|
Loading…
x
Reference in New Issue
Block a user