]> Shamusworld >> Repos - virtualjaguar/blob - src/jerry.h
cff1c25f56c3bbc6189cec81ee8e06dfdfb9f15e
[virtualjaguar] / src / jerry.h
1 //
2 // JERRY.H: Header file
3 //
4
5 #ifndef __JERRY_H__
6 #define __JERRY_H__
7
8 //#include "types.h"
9 #include "memory.h"
10
11 void JERRYInit(void);
12 void JERRYReset(void);
13 void JERRYDone(void);
14
15 uint8_t JERRYReadByte(uint32_t offset, uint32_t who = UNKNOWN);
16 uint16_t JERRYReadWord(uint32_t offset, uint32_t who = UNKNOWN);
17 void JERRYWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN);
18 void JERRYWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN);
19
20 void JERRYExecPIT(uint32_t cycles);
21 void JERRYI2SExec(uint32_t cycles);
22
23 int JERRYGetPIT1Frequency(void);
24 int JERRYGetPIT2Frequency(void);
25
26 // 68000 Interrupt bit positions (enabled at $F10020)
27
28 //enum { IRQ2_EXTERNAL = 0, IRQ2_DSP, IRQ2_TIMER1, IRQ2_TIMER2, IRQ2_ASI, IRQ2_SSI };
29 enum { IRQ2_EXTERNAL=0x01, IRQ2_DSP=0x02, IRQ2_TIMER1=0x04, IRQ2_TIMER2=0x08, IRQ2_ASI=0x10, IRQ2_SSI=0x20 };
30
31 bool JERRYIRQEnabled(int irq);
32 void JERRYSetPendingIRQ(int irq);
33
34 // This should stay inside this file, but it's here for now...
35 // Need to set up an interface function so that this can go back
36 void JERRYI2SCallback(void);
37
38 // External variables
39
40 //extern uint32_t JERRYI2SInterruptDivide;
41 extern int32_t JERRYI2SInterruptTimer;
42
43 #endif