Sound4Calc/include/sound4calc.h

50 lines
940 B
C
Raw Normal View History

2017-02-26 13:55:45 +01:00
#ifndef _SOUND4CALC_H
#define _SOUND4CALC_H
2017-04-08 08:48:22 +02:00
#include <timer.h>
#include <clock.h>
#include <mpu.h>
2017-02-26 21:58:37 +01:00
struct Wave
{
2017-04-08 08:48:22 +02:00
unsigned int signal;
2017-02-26 21:58:37 +01:00
unsigned short length;
};
2017-02-26 21:41:26 +01:00
extern struct Note
{
2017-02-26 21:54:38 +01:00
struct Wave wave;
2017-02-26 21:41:26 +01:00
unsigned short duration;
unsigned int freq;
} note;
2017-02-26 14:39:03 +01:00
2017-05-16 11:26:25 +02:00
extern int frequency;
2017-04-08 08:48:22 +02:00
void CallSequence(timer_t **timer);
void Sequence();
2017-05-16 11:26:25 +02:00
//void CallNote(timer_t **timer);
2017-04-08 08:48:22 +02:00
void Note();
2017-02-26 13:55:45 +01:00
void PutPinState(char level);
void PlayNote();
void InitPorts();
2017-02-26 15:07:48 +01:00
void StopTimer();
2017-02-25 11:29:24 +01:00
//SH4 addresses
#define SH7305_PJCR 0xA4050110
#define SH7305_PUCR 0xA4050142
#define SH7305_PJDR 0xA4050130
#define SH7305_PUDR 0xA4050162
#define SH7305_MSTPCR0 0xA4150030
#define SH7305_SCSCR 0xA4410008
//SH3 addresses
#define SH7337_STBCR3 0xA40A0000
#define SH7337_SCSCR2 0xA4410008
#define SH7337_PGCR 0xA400010C
#define SH7337_PLCR 0xA4000114
#define SH7337_SCPCR 0xA4000116
#define SH7337_PGDR 0xA400012C
#define SH7337_SCPDR 0xA4000136
#endif