|
|
| version 1.6, 2004/07/04 08:30:16 | version 1.7, 2011/01/15 18:04:43 |
|---|---|
| Line 9 static void oneshot(BEEP bp, SINT32 *pcm | Line 9 static void oneshot(BEEP bp, SINT32 *pcm |
| SINT32 vol; | SINT32 vol; |
| const BPEVENT *bev; | const BPEVENT *bev; |
| SINT32 clock; | SINT32 clk; |
| int event; | int event; |
| SINT32 remain; | SINT32 remain; |
| SINT32 samp; | SINT32 samp; |
| Line 18 const BPEVENT *bev; | Line 18 const BPEVENT *bev; |
| bev = bp->event; | bev = bp->event; |
| if (bp->events) { | if (bp->events) { |
| bp->events--; | bp->events--; |
| clock = bev->clock; | clk = bev->clock; |
| event = bev->enable; | event = bev->enable; |
| bev++; | bev++; |
| } | } |
| else { | else { |
| clock = 0x40000000; | clk = 0x40000000; |
| event = bp->lastenable; | event = bp->lastenable; |
| } | } |
| do { | do { |
| remain = (1 << 16); | remain = (1 << 16); |
| samp = 0; | samp = 0; |
| while(remain >= clock) { | while(remain >= clk) { |
| remain -= clock; | remain -= clk; |
| if (bp->lastenable) { | if (bp->lastenable) { |
| samp += clock; | samp += clk; |
| } | } |
| bp->lastenable = event; | bp->lastenable = event; |
| if (bp->events) { | if (bp->events) { |
| bp->events--; | bp->events--; |
| clock = bev->clock; | clk = bev->clock; |
| event = bev->enable; | event = bev->enable; |
| bev++; | bev++; |
| } | } |
| else { | else { |
| clock = 0x40000000; | clk = 0x40000000; |
| } | } |
| } | } |
| clock -= remain; | clk -= remain; |
| if (bp->lastenable) { | if (bp->lastenable) { |
| samp += remain; | samp += remain; |
| } | } |
| Line 65 static void rategenerator(BEEP bp, SINT3 | Line 65 static void rategenerator(BEEP bp, SINT3 |
| const BPEVENT *bev; | const BPEVENT *bev; |
| SINT32 samp; | SINT32 samp; |
| SINT32 remain; | SINT32 remain; |
| SINT32 clock; | SINT32 clk; |
| int event; | int event; |
| UINT r; | UINT r; |
| Line 73 const BPEVENT *bev; | Line 73 const BPEVENT *bev; |
| bev = bp->event; | bev = bp->event; |
| if (bp->events) { | if (bp->events) { |
| bp->events--; | bp->events--; |
| clock = bev->clock; | clk = bev->clock; |
| event = bev->enable; | event = bev->enable; |
| bev++; | bev++; |
| } | } |
| else { | else { |
| clock = 0x40000000; | clk = 0x40000000; |
| event = bp->lastenable; | event = bp->lastenable; |
| } | } |
| do { | do { |
| if (clock >= (1 << 16)) { | if (clk >= (1 << 16)) { |
| r = clock >> 16; | r = clk >> 16; |
| r = min(r, count); | r = min(r, count); |
| clock -= r << 16; | clk -= r << 16; |
| count -= r; | count -= r; |
| if (bp->lastenable) { | if (bp->lastenable) { |
| do { | do { |
| Line 111 const BPEVENT *bev; | Line 111 const BPEVENT *bev; |
| else { | else { |
| remain = (1 << 16); | remain = (1 << 16); |
| samp = 0; | samp = 0; |
| while(remain >= clock) { | while(remain >= clk) { |
| remain -= clock; | remain -= clk; |
| if (bp->lastenable) { | if (bp->lastenable) { |
| samp += clock; | samp += clk; |
| } | } |
| bp->lastenable = event; | bp->lastenable = event; |
| bp->cnt = 0; | bp->cnt = 0; |
| if (bp->events) { | if (bp->events) { |
| bp->events--; | bp->events--; |
| clock = bev->clock; | clk = bev->clock; |
| event = bev->enable; | event = bev->enable; |
| bev++; | bev++; |
| } | } |
| else { | else { |
| clock = 0x40000000; | clk = 0x40000000; |
| } | } |
| } | } |
| clock -= remain; | clk -= remain; |
| if (bp->lastenable) { | if (bp->lastenable) { |
| samp += remain; | samp += remain; |
| } | } |