|
|
1.1 root 1: /*
2: Hatari - crossbar.h
3:
1.1.1.4 root 4: This file is distributed under the GNU General Public License, version 2
5: or at your option any later version. Read the file gpl.txt for details.
1.1 root 6: */
7:
8: #ifndef HATARI_CROSSBAR_H
9: #define HATARI_CROSSBAR_H
10:
11: #define CROSSBAR_SNDCTRL_PLAY 0x01
12: #define CROSSBAR_SNDCTRL_PLAYLOOP 0x02
13: #define CROSSBAR_SNDCTRL_RECORD 0x10
14: #define CROSSBAR_SNDCTRL_RECORDLOOP 0x20
15:
16: #define CROSSBAR_FREQ_25MHZ 0x0
17: #define CROSSBAR_FREQ_EXTERN 0x1
18: #define CROSSBAR_FREQ_32MHZ 0x2
19:
20: #define CROSSBAR_SNDMODE_16BITSTEREO 0x40
21: #define CROSSBAR_SNDMODE_MONO 0x80
22:
23: extern Uint16 nCbar_DmaSoundControl;
24:
1.1.1.2 root 25: /* Called by audio.c */
26: void Crossbar_Compute_Ratio(void);
27:
1.1 root 28: /* Called by mfp.c */
29: extern void Crossbar_GenerateSamples(int nMixBufIdx, int nSamplesToGenerate);
30:
1.1.1.7 ! root 31: /* Called by m68000.c */
! 32: extern void Crossbar_Recalculate_Clocks_Cycles(void);
! 33:
1.1 root 34: extern void Crossbar_Reset(bool bCold);
35: extern void Crossbar_MemorySnapShot_Capture(bool bSave);
36:
37: /* Called by ioMemTabFalcon.c */
38: extern void Crossbar_BufferInter_WriteByte(void);
39: extern void Crossbar_DmaCtrlReg_WriteByte(void);
40: extern void Crossbar_FrameStartHigh_ReadByte(void);
41: extern void Crossbar_FrameStartHigh_WriteByte(void);
42: extern void Crossbar_FrameStartMed_ReadByte(void);
43: extern void Crossbar_FrameStartMed_WriteByte(void);
44: extern void Crossbar_FrameStartLow_ReadByte(void);
45: extern void Crossbar_FrameStartLow_WriteByte(void);
46: extern void Crossbar_FrameCountHigh_ReadByte(void);
47: extern void Crossbar_FrameCountHigh_WriteByte(void);
48: extern void Crossbar_FrameCountMed_ReadByte(void);
49: extern void Crossbar_FrameCountMed_WriteByte(void);
50: extern void Crossbar_FrameCountLow_ReadByte(void);
51: extern void Crossbar_FrameEndHigh_ReadByte(void);
52: extern void Crossbar_FrameCountLow_WriteByte(void);
53: extern void Crossbar_FrameEndHigh_WriteByte(void);
54: extern void Crossbar_FrameEndMed_ReadByte(void);
55: extern void Crossbar_FrameEndMed_WriteByte(void);
56: extern void Crossbar_FrameEndLow_ReadByte(void);
57: extern void Crossbar_FrameEndLow_WriteByte(void);
58: extern void Crossbar_DmaTrckCtrl_WriteByte(void);
59: extern void Crossbar_SoundModeCtrl_WriteByte(void);
60: extern void Crossbar_SrcControler_WriteWord(void);
61: extern void Crossbar_DstControler_WriteWord(void);
62: extern void Crossbar_FreqDivExt_WriteByte(void);
63: extern void Crossbar_FreqDivInt_WriteByte(void);
64: extern void Crossbar_TrackRecSelect_WriteByte(void);
65: extern void Crossbar_CodecInput_WriteByte(void);
66: extern void Crossbar_AdcInput_WriteByte(void);
67: extern void Crossbar_InputAmp_WriteByte(void);
1.1.1.4 root 68: extern void Crossbar_OutputReduct_WriteWord(void);
1.1 root 69: extern void Crossbar_CodecStatus_WriteWord(void);
1.1.1.3 root 70: extern void Crossbar_Microwire_WriteWord(void);
1.1 root 71:
72: /* Called by cycint.c */
73: extern void Crossbar_InterruptHandler_25Mhz(void);
74: extern void Crossbar_InterruptHandler_32Mhz(void);
75:
1.1.1.3 root 76: /* Called by dmaSnd.c */
77: extern void Crossbar_InterruptHandler_Microwire(void);
78:
1.1 root 79: /* Called by dsp.c */
80: void Crossbar_DmaPlayInHandShakeMode(void);
81: void Crossbar_DmaRecordInHandShakeMode_Frame(Uint32 frame);
82:
83: /* Called by microphone.c */
84: void Crossbar_GetMicrophoneDatas(Sint16 *micro_bufferL, Sint16 *micro_bufferR, Uint32 microBuffer_size);
85:
1.1.1.5 root 86: /* called by debugInfo.c */
1.1.1.6 root 87: extern void Crossbar_Info(FILE *fp, Uint32 dummy);
1.1.1.5 root 88:
1.1 root 89: #endif /* HATARI_CROSSBAR_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.