m68k: add auto vectors
This commit is contained in:
parent
25828417c1
commit
f4d4f351e7
14
m68k/handlers.c
Normal file
14
m68k/handlers.c
Normal file
@ -0,0 +1,14 @@
|
||||
void auto_vector_1(void) __attribute__ ((weak, interrupt_handler));
|
||||
void auto_vector_1(void) { return; }
|
||||
void auto_vector_2(void) __attribute__ ((weak, interrupt_handler));
|
||||
void auto_vector_2(void) { return; }
|
||||
void auto_vector_3(void) __attribute__ ((weak, interrupt_handler));
|
||||
void auto_vector_3(void) { return; }
|
||||
void auto_vector_4(void) __attribute__ ((weak, interrupt_handler));
|
||||
void auto_vector_4(void) { return; }
|
||||
void auto_vector_5(void) __attribute__ ((weak, interrupt_handler));
|
||||
void auto_vector_5(void) { return; }
|
||||
void auto_vector_6(void) __attribute__ ((weak, interrupt_handler));
|
||||
void auto_vector_6(void) { return; }
|
||||
void auto_vector_7(void) __attribute__ ((weak, interrupt_handler));
|
||||
void auto_vector_7(void) { return; }
|
@ -25,13 +25,13 @@
|
||||
.long start /* reserved 22 */
|
||||
.long start /* reserved 23 */
|
||||
.long start /* Spurious interrupt */
|
||||
.long start /* Auto vector level 1 interrupt */
|
||||
.long start /* Auto vector level 2 interrupt */
|
||||
.long start /* Auto vector level 3 interrupt */
|
||||
.long start /* Auto vector level 4 interrupt */
|
||||
.long start /* Auto vector level 5 interrupt */
|
||||
.long start /* Auto vector level 6 interrupt */
|
||||
.long start /* Auto vector level 7 interrupt */
|
||||
.long auto_vector_1 /* Auto vector level 1 interrupt */
|
||||
.long auto_vector_2 /* Auto vector level 2 interrupt */
|
||||
.long auto_vector_3 /* Auto vector level 3 interrupt */
|
||||
.long auto_vector_4 /* Auto vector level 4 interrupt */
|
||||
.long auto_vector_5 /* Auto vector level 5 interrupt */
|
||||
.long auto_vector_6 /* Auto vector level 6 interrupt */
|
||||
.long auto_vector_7 /* Auto vector level 7 interrupt */
|
||||
.long start /* Trap #0 vector */
|
||||
.long start /* Trap #1 vector */
|
||||
.long start /* Trap #2 vector */
|
||||
@ -64,4 +64,5 @@
|
||||
.long start /* reserved 61 */
|
||||
.long start /* reserved 62 */
|
||||
.long start /* reserved 63 */
|
||||
|
||||
.align 0x400, 0xee
|
||||
|
29
scsp.h
29
scsp.h
@ -134,6 +134,31 @@ static_assert((offsetof (struct scsp, reg)) == 0x100000);
|
||||
|
||||
// bits
|
||||
|
||||
enum interrupt_bits {
|
||||
INT__SAMPLE = (1 << 10),
|
||||
INT__MIDI_OUTPUT = (1 << 9),
|
||||
INT__TIMER_C = (1 << 8),
|
||||
INT__TIMER_B = (1 << 7),
|
||||
INT__TIMER_A = (1 << 6),
|
||||
INT__CPU = (1 << 5),
|
||||
INT__DMA_TRANSFER_END = (1 << 4),
|
||||
INT__MIDI_INPUT = (1 << 3),
|
||||
INT__INT2N = (1 << 2),
|
||||
INT__INT1N = (1 << 1),
|
||||
INT__INT0N = (1 << 0),
|
||||
};
|
||||
|
||||
enum scilv_bits {
|
||||
SCILV__TIMER_B__TIMER_C__MIDI_OUT__1F = (1 << 7),
|
||||
SCILV__TIMER_A = (1 << 6),
|
||||
SCILV__CPU = (1 << 5),
|
||||
SCILV__DMA_TRANSFER_END = (1 << 4),
|
||||
SCILV__MIDI_IN = (1 << 3),
|
||||
SCILV__INT2N = (1 << 2),
|
||||
SCILV__INT1N = (1 << 1),
|
||||
SCILV__INT0N = (1 << 0),
|
||||
};
|
||||
|
||||
enum loop_bits {
|
||||
LOOP__KYONEX = ( 1 << 12), // (KX) execute KEY_ON
|
||||
LOOP__KYONB = ( 1 << 11), // (KB) record KEY_ON, KEY_OFF
|
||||
@ -193,8 +218,8 @@ enum mixer_bits {
|
||||
};
|
||||
|
||||
//enum pitch_bits {
|
||||
#define PITCH__OCT(n) ((n) << 11)
|
||||
#define PITCH__FNS(n) ((n) << 0 )
|
||||
#define PITCH__OCT(n) (((n) & 0xf) << 11)
|
||||
#define PITCH__FNS(n) (((n) & 0x3ff) << 0 )
|
||||
//};
|
||||
|
||||
enum scsp_bits {
|
||||
|
Loading…
x
Reference in New Issue
Block a user