24#defineEVMU_SFR_PSW_OV_POS 2 //Overflow Flag - set when overflow occurs in signed addition or subtraction or
25#defineEVMU_SFR_PSW_OV_MASK 0x4 // result of a multiplication exceeds 256. For DIV, set to 1 when the divisor is zero
26#defineEVMU_SFR_PSW_RAMBK0_POS 1 //RAM Bank - Selects 1 of two banks for 256 general-purpose RAM bytes at (0x0-0xff)
27#defineEVMU_SFR_PSW_RAMBK0_MASK 0x2 // Bank 0 for system and CPU stack. Bank 1 for game software (firmware automatically changes before entering game mode)
28#defineEVMU_SFR_PSW_P_POS 0 //ACC Parity - set when number of bits in accumulator is odd
29#defineEVMU_SFR_PSW_P_MASK 0x1 // Read-Only
30
31//PCON - Power Control Register (0x107)
32#defineEVMU_SFR_PCON_HOLD_POS 1 //Stop CPU and Timers - When 1, puts the VMS into deep suspension
33#defineEVMU_SFR_PCON_HOLD_MASK 0x2 // CPU, all timers and clock stop, only external interrupt or reset resumes
34#defineEVMU_SFR_PCON_HALT_POS 0 //Suspend Program Execution - When 1, causes CPU to stop executing instructions
35#defineEVMU_SFR_PCON_HALT_MASK 0x1 // all timers and peripherals continue normally, and any interrupt wakes CPU up
36
37//IE - Interrupt Enable Control (0x108)
38#defineEVMU_SFR_IE_IE7_POS 7 //Master Interrupt Enable - when 0, all interrupts blocked except nonmaskable ones
39#defineEVMU_SFR_IE_IE7_MASK 0x80 // only external interrupts INT0 and INT1 can be set to nonmaskable
40#defineEVMU_SFR_IE_IE1_POS 2 //INT1 Priority Level - when 1, priority of external interrupt INT1 is lowered from
41#defineEVMU_SFR_IE_IE1_MASK 0x2 // nonmaskable to low
42#defineEVMU_SFR_IE_IE0_POS 1 //INT0/INT1 Priority Level - When 1, priority of both external interrupts INT0 and INT1 are
43#defineEVMU_SFR_IE_IE0_MASK 0x1 //lowered from nonmaskable to low
112#defineEVMU_SFR_T1CNT_T1LONG_POS 5 //16-bit Timer Enable - 1 combines T1H and T1L into one 16-bit timer
113#defineEVMU_SFR_T1CNT_T1LONG_MASK 0x20 // 0 keeps them two separate 8-bit timers
114#defineEVMU_SFR_T1CNT_ELDT1C_POS 4 //Timer 1 Compare Data Load Enable - While Timer 1 is running, 0 holds the active compare data and 1 allows a later reload point to latch new T1LC/T1HC values.
115#defineEVMU_SFR_T1CNT_ELDT1C_MASK 0x10 // When Timer 1 is stopped, compare writes take effect immediately.
116#defineEVMU_SFR_T1CNT_T1HOVF_POS 3 //Timer 1 High Overflow - set to 1 when T1H overflows
117#defineEVMU_SFR_T1CNT_T1HOVF_MASK 0x8
118#defineEVMU_SFR_T1CNT_T1HIE_POS 2 //Timer 1 High Interrupt Enable
119#defineEVMU_SFR_T1CNT_T1HIE_MASK 0x4 // When 1, enableds interrupts (vector $2B) when T1H overflows