@includeonce
!ChipName = "SA-1"
!SRAMType = "SRAM"
!Firmware = "NULL"

!REGISTER_SA1_SNESIRQControlWrite = $002200
	!SA1_SNESIRQControlWrite_SNESNMItoSA1_Interrupt = $10
	!SA1_SNESIRQControlWrite_SNEResettoSA1_Reset = $20
	!SA1_SNESIRQControlWrite_SNESWaittoSA1_Wait = $40
	!SA1_SNESIRQControlWrite_SNESIRQtoSA1_Interrupt = $80
!REGISTER_SA1_EnableSNESIRQ = $002201
!REGISTER_SA1_ClearSNESIRQ = $002202
!REGISTER_SA1_SA1ResetVectorLo = $002203
!REGISTER_SA1_SA1ResetVectorHi = $002204
!REGISTER_SA1_SA1NMIVectorLo = $002205
!REGISTER_SA1_SA1NMIVectorHi = $002206
!REGISTER_SA1_SA1IRQVectorLo = $002207
!REGISTER_SA1_SA1RQControlWrite = $002209
	!SA1_SA1IRQControlWrite_SNESNMItoSA1_Interrupt = $10
	!SA1_SA1IRQControlWrite_SNEResettoSA1_Reset = $20
	!SA1_SA1IRQControlWrite_SNESWaittoSA1_Wait = $40
	!SA1_SA1IRQControlWrite_SNESIRQtoSA1_Interrupt = $80
!REGISTER_SA1_EnableSA1IRQ = $00220A
!REGISTER_SA1_ClearSA1IRQ = $00220B
!REGISTER_SA1_SNESNMIVectorLo = $00220C
!REGISTER_SA1_SNESNMIVectorHi = $00220D
!REGISTER_SA1_SNESIRQVectorLo = $00220E
!REGISTER_SA1_SNESIRQVectorHi = $00220F
!REGISTER_SA1_SA1HVTimerControl = $002210
	!SA1_SA1HVTimerControl_HVTimerMode = $00
	!SA1_SA1HVTimerControl_LinearMode = $80
!REGISTER_SA1_SA1TimerReset = $002211
!REGISTER_SA1_HCounterLo = $002212
!REGISTER_SA1_HCounterHi = $002213
!REGISTER_SA1_VCounterLo = $002214
!REGISTER_SA1_VCounterHi = $002215
!REGISTER_SA1_SuperMMCBankC = $002220
!REGISTER_SA1_SuperMMCBankD = $002221
!REGISTER_SA1_SuperMMCBankE = $002222
!REGISTER_SA1_SuperMMCBankF = $002223
!REGISTER_SA1_SNESBWRAMAddressMapping = $002224
!REGISTER_SA1_SA1BWRAMAddressMapping = $002225
	!SA1_BWRAMAddressMapping_Source_Bank40 = $00
	!SA1_BWRAMAddressMapping_Source_Bank60 = $80
!REGISTER_SA1_SNESBWRAMWriteEnable = $002226
!REGISTER_SA1_SA1BWRAMWriteEnable = $002227
	!SA1_BWRAMWriteProtection_Disable = $80
	!SA1_BWRAMWriteProtection_Enable = $80
!REGISTER_SA1_BWRAMWriteProctectedArea = $002228
!REGISTER_SA1_SNESIRAMWriteProtection = $002229
!REGISTER_SA1_SA1IRAMWriteProtection = $00222A
	!SA1_IRAMWriteProtection_Disable_3000_30FF = $00
	!SA1_IRAMWriteProtection_Enable_3000_30FF = $01
	!SA1_IRAMWriteProtection_Disable_3100_31FF = $00
	!SA1_IRAMWriteProtection_Enable_3100_31FF = $02
	!SA1_IRAMWriteProtection_Disable_3200_32FF = $00
	!SA1_IRAMWriteProtection_Enable_3200_32FF = $04
	!SA1_IRAMWriteProtection_Disable_3300_33FF = $00
	!SA1_IRAMWriteProtection_Enable_3300_33FF = $08
	!SA1_IRAMWriteProtection_Disable_3400_34FF = $00
	!SA1_IRAMWriteProtection_Enable_3400_34FF = $10
	!SA1_IRAMWriteProtection_Disable_3500_35FF = $00
	!SA1_IRAMWriteProtection_Enable_3500_35FF = $20
	!SA1_IRAMWriteProtection_Disable_3600_36FF = $00
	!SA1_IRAMWriteProtection_Enable_3600_36FF = $40
	!SA1_IRAMWriteProtection_Disable_3700_37FF = $00
	!SA1_IRAMWriteProtection_Enable_3700_37FF = $80
!REGISTER_SA1_DMAControl = $002230
	!SA1_DMAControl_Source_ROM = $00
	!SA1_DMAControl_Source_BWRAM = $01
	!SA1_DMAControl_Source_IRAM = $02
	!SA1_DMAControl_CharacterConversionType_SemiAuto = $00
	!SA1_DMAControl_CharacterConversionType_Auto = $10
	!SA1_DMAControl_DMAType_Regular = $00
	!SA1_DMAControl_DMAType_CharacterConversion = $20
	!SA1_DMAControl_Priority_SA1CPU = $00
	!SA1_DMAControl_Priority_DMA = $40
	!SA1_DMAControl_DisableDMA = $00
	!SA1_DMAControl_EnableDMA = $80
!REGISTER_SA1_CharacterConversionDMAParameters = $002231
	!SA1_CharacterConversionDMAParameters_ColorDepth_8bit = $00
	!SA1_CharacterConversionDMAParameters_ColorDepth_4bit = $01
	!SA1_CharacterConversionDMAParameters_ColorDepth_2bit = $02
	!SA1_CharacterConversionDMAParameters_EndCharacterConversion = $80
!REGISTER_SA1_DMASourceLo = $002232
!REGISTER_SA1_DMASourceHi = $002233
!REGISTER_SA1_DMASourceBank = $002234
!REGISTER_SA1_DMADestinationLo = $002235
!REGISTER_SA1_DMAIRAMDestinationHi = $002236
!REGISTER_SA1_DMABWRAMDestinationHi = $002237
!REGISTER_SA1_DMASizeLo = $002238
!REGISTER_SA1_DMASizeHi = $002239
!REGISTER_SA1_BWRAMBitMapFormat = $00223F
	!SA1_BWRAMBitMapFormat_4bit = $00
	!SA1_BWRAMBitMapFormat_2bit = $80
!REGISTER_SA1_BitMapReg00 = $002240
!REGISTER_SA1_BitMapReg01 = $002241
!REGISTER_SA1_BitMapReg02 = $002242
!REGISTER_SA1_BitMapReg03 = $002243
!REGISTER_SA1_BitMapReg04 = $002244
!REGISTER_SA1_BitMapReg05 = $002245
!REGISTER_SA1_BitMapReg06 = $002246
!REGISTER_SA1_BitMapReg07 = $002247
!REGISTER_SA1_BitMapReg08 = $002248
!REGISTER_SA1_BitMapReg09 = $002249
!REGISTER_SA1_BitMapReg0A = $00224A
!REGISTER_SA1_BitMapReg0B = $00224B
!REGISTER_SA1_BitMapReg0C = $00224C
!REGISTER_SA1_BitMapReg0D = $00224D
!REGISTER_SA1_BitMapReg0E = $00224E
!REGISTER_SA1_BitMapReg0F = $00224F
!REGISTER_SA1_ArithmeticType = $002250
	!SA1_ArithmeticType_Multiply = $00
	!SA1_ArithmeticType_Divide = $01
	!SA1_ArithmeticType_Add = $02
!REGISTER_SA1_MultiplicandOrDividendLo = $002251
!REGISTER_SA1_MultiplicandOrDividendHi = $002252
!REGISTER_SA1_MultiplierOrDivisorLo = $002253
!REGISTER_SA1_MultiplierOrDivisorHi = $002254
!REGISTER_SA1_VariableLengthBitProcessingSettings = $002258
	!SA1_VariableLengthBitProcessingSettings_FixedMode = $00
	!SA1_VariableLengthBitProcessingSettings_AutoIncrement = $80
!REGISTER_SA1_VariableLengthBitProcessingSourceLo = $002259
!REGISTER_SA1_VariableLengthBitProcessingSourceHi = $00225A
!REGISTER_SA1_VariableLengthBitProcessingSourceBank = $00225B
!REGISTER_SA1_SNESIRQControlRead = $002300
	!SA1_SNESIRQControlRead_SNESNMIVector_Header = $00
	!SA1_SNESIRQControlRead_SNESNMIVector_Reg = $10
	!SA1_SNESIRQControlRead_IRQFromCharacterConversion_Interrupt = $20
	!SA1_SNESIRQControlRead_SNESIRQVector_Header = $00
	!SA1_SNESIRQControlRead_SNESIRQVector_Reg = $40
	!SA1_SNESIRQControlRead_SA1IRQtoSA1_Interrupt = $80
!REGISTER_SA1_SA1IRQControlRead = $002301
	!SA1_SA1IRQControlRead_SNESNMItoSA1_Interrupt = $10
	!SA1_SA1IRQControlRead_DMAToSA1_Interrupt = $20
	!SA1_SA1IRQControlRead_TimerToSA1_Interrupt = $40
	!SA1_SA1IRQControlRead_SNESIRQtoSA1_Interrupt = $80
!REGISTER_SA1_HCounterReadLo = $002302
!REGISTER_SA1_HCounterReadHi = $002303
!REGISTER_SA1_VCounterReadLo = $002304
!REGISTER_SA1_VCounterReadHi = $002305
!REGISTER_SA1_ArithmeticResultLo = $002306
!REGISTER_SA1_ArithmeticResultMidLo = $002307
!REGISTER_SA1_ArithmeticResultMid = $002308
!REGISTER_SA1_ArithmeticResultMidHi = $002309
!REGISTER_SA1_ArithmeticResultHi = $00230A
!REGISTER_SA1_ArithmeticOverflowFlag = $00230B
!REGISTER_SA1_VariableLengthBitProcessingDataReadLo = $00230C
!REGISTER_SA1_VariableLengthBitProcessingDataReadHi = $00230D
!REGISTER_SA1_VersionCode = $00230E				; Note: This will always return open bus if read from.
