diff options
author | David Guillen Fandos | 2021-06-30 00:29:21 +0200 |
---|---|---|
committer | David Guillen Fandos | 2021-07-01 12:06:57 +0200 |
commit | 836e51b694f33d864cf4962d1dd3718bb56803c6 (patch) | |
tree | d49064abd60e6e2575ed433be8c038a65058f259 | |
parent | 48f1a71fb7b1d551295aec7ea44f5529c87bff93 (diff) | |
download | picogpsp-836e51b694f33d864cf4962d1dd3718bb56803c6.tar.gz picogpsp-836e51b694f33d864cf4962d1dd3718bb56803c6.tar.bz2 picogpsp-836e51b694f33d864cf4962d1dd3718bb56803c6.zip |
Fix some UB behaviour
-rw-r--r-- | cpu.c | 2 | ||||
-rw-r--r-- | sound.c | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -266,7 +266,7 @@ void print_register_usage(void) using_register_list(arm, reg_list, 16) \ #define arm_decode_branch() \ - s32 offset = ((s32)(opcode & 0xFFFFFF) << 8) >> 6 \ + s32 offset = ((s32)((u32)(opcode << 8))) >> 6 \ #define thumb_decode_shift() \ @@ -85,9 +85,9 @@ void sound_timer(fixed8_24 frequency_step, u32 channel) u32 buffer_index = ds->buffer_index; s16 current_sample, next_sample; - current_sample = ds->fifo[ds->fifo_base] << 4; + current_sample = ds->fifo[ds->fifo_base] * 16; ds->fifo_base = (ds->fifo_base + 1) % 32; - next_sample = ds->fifo[ds->fifo_base] << 4; + next_sample = ds->fifo[ds->fifo_base] * 16; if(sound_on == 1) { @@ -655,7 +655,7 @@ void render_audio(void) current_sample = 2047; if(current_sample < -2048) current_sample = -2048; - stream_base[i] = current_sample << 4; + stream_base[i] = current_sample * 16; source[i] = 0; } audio_batch_cb(stream_base, 256); |