Blame | Last modification | View Log | Download | RSS feed
ifndef reg68332inc ; avoid multiple inclusionreg6833xinc equ 1savelisting off ; no listing over this filemacexp off ; saves a bit of time;****************************************************************************;* *;* AS 1.42 - Datei REG683XX.INC *;* *;* Contains Register Address Definitions for 68332, 68340, and 68360 *;* *;****************************************************************************if (MOMCPUNAME<>"68332")&&(MOMCPUNAME<>"68340")&&(MOMCPUNAME<>"68360")fatal "wrong target sleected: only 68332, 68340, or 68360 supported"endifif MOMPASS=1message "CPU32 Register Definitions (C) 1994 Alfred Arnold"message "including \{MOMCPU} registers"endif;-----------------------------------------------------------------------------; The base is either $fffa00 or $7fa000, this has to be set in advance; (or you live with the default :-) ).; On the 68340, the base may be anywhere.; Since the 68332 does not expose A31..A24, one could place the registers at; $fffffa00 and use short addresses. Anyone ever tried that?; An alternative is to set the base to 0 befor eincluding this file, so the; symbols may be used as offsets relative to the base.ifndef SIMBaseif MOMCPU=$68332SIMBase equ $fffa00elseifSIMBase equ $000000endifendif;=============================================================================; Since 68360, 68340, and 68332 differ significantly in their register set,; I did not bother to sort out common registers.switch MOMCPUNAME;-----------------------------------------------------------------------------case "68360";-----------------------------------------------------------------------------MBAR equ $0003ff00 ; [L] Peripherals Start Address (CPU Space!)MBARE equ $0003ff04 ; [L] Disable/Enable MBARRegBase equ SIMBase+$1000 ; Register Start AddressMCR equ RegBase+$0000 ; [L] SIM Module ConfigurationAVR equ RegBase+$0008 ; [B] Enable Auto Vector InterruptsRSR equ RegBase+$0009 ; [B] Reset StatusCLK0CR equ RegBase+$000c ; [B] Clock Output 2 & 1 ControlPLLCR equ RegBase+$0010 ; [W] PLL ControlCDVCR equ RegBase+$0014 ; [W] "Slow" Clock ControlPEPAR equ RegBase+$0016 ; [W] Port E I/O Pins AssignmentSYPCR equ RegBase+$0022 ; [B] System Monitors, Bus TimimgSWIV equ RegBase+$0023 ; [B] Watchdog Interrupt VectorPICR equ RegBase+$0026 ; [W] Periodic Interrupt Interrupt Level and VectorPITR equ RegBase+$002a ; [W] Periodic Interrupt Counter Value and PrescalerSWSR equ RegBase+$002f ; [B] Reset WatchdogBKAR equ RegBase+$0030 ; [L] Breakpoint AddressBKCR equ RegBase+$0034 ; [L] Breakpoint ControlGMR equ RegBase+$0040 ; [L] Memory Controller Global ControlMSTAT equ RegBase+$0044 ; [W] Memory-Controller StatusBR0 equ RegBase+$0050 ; [L] CS0 SRAM/DRAM BaseOR0 equ RegBase+$0054 ; [L] CS0 DRAM/SRAM OptionsBR1 equ RegBase+$0060 ; [L] CS1 SRAM/DRAM BaseOR1 equ RegBase+$0064 ; [L] CS1 DRAM/SRAM OptionsBR2 equ RegBase+$0070 ; [L] CS2 SRAM/DRAM BaseOR2 equ RegBase+$0074 ; [L] CS2 DRAM/SRAM OptionsBR3 equ RegBase+$0080 ; [L] CS3 SRAM/DRAM BaseOR3 equ RegBase+$0084 ; [L] CS3 DRAM/SRAM OptionsBR4 equ RegBase+$0090 ; [L] CS4 SRAM/DRAM BaseOR4 equ RegBase+$0094 ; [L] CS4 DRAM/SRAM OptionsBR5 equ RegBase+$00a0 ; [L] CS5 SRAM/DRAM BaseOR5 equ RegBase+$00a4 ; [L] CS5 DRAM/SRAM OptionsBR6 equ RegBase+$00b0 ; [L] CS6 SRAM/DRAM BaseOR6 equ RegBase+$00b4 ; [L] CS6 DRAM/SRAM OptionsBR7 equ RegBase+$00c0 ; [L] CS7 SRAM/DRAM BaseOR7 equ RegBase+$00c4 ; [L] CS7 DRAM/SRAM Options;-----------------------------------------------------------------------------; Communications Controller:RAMBase equ SIMBase ; [ ] RAM Base Address;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; IDMA:IDMA1Base equ RAMBase+$0e70IDMA2Base equ RAMBase+$0f70ICCR equ RegBase+$0500 ; [W] IDMA Channels ConfigurationCMR1 equ RegBase+$0504 ; [W] IDMA1 ModeCMR2 equ RegBase+$0526 ; [W] IDMA2 Mode__defidma macro NAME,Adr,IDMABaseSAPR{NAME} equ Adr ; [L] Source Address for Memory Copy TransactionsDAPR{NAME} equ Adr+4 ; [L] Target Address " " " "BCR{NAME} equ Adr+8 ; [L] IDMA Count RegisterFCR{NAME} equ Adr+12 ; [B] Functions CodesCMAR{NAME} equ Adr+14 ; [B] Channel MaskCSR{NAME} equ Adr+16 ; [B] IDMA Channel StatusIDMA{NAME}_IBASE equ IDMABase+0 ; [W] Descriptor Base AddressIDMA{NAME}_IBPTR equ IDMABase+0 ; [W] Descriptor PointerIDMA{NAME}_ISTATE equ IDMABase+0 ; [L] Internal StatusIDMA{NAME}_ITEMP equ IDMABase+0 ; [L] Temporary Storageendm__defidma "1",RegBase+$508__defidma "2",RegBase+$528;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; SDMA:SDSR equ RegBase+$051c ; [B] SDMA StatusSDCR equ RegBase+$051e ; [W] SDMA Channel ConfigurationSDAR equ RegBase+$0520 ; [L] SDMA Address Register;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; CPIC:CICR equ RegBase+$0540 ; [L] Interrupt ConfigurationCIPR equ RegBase+$0544 ; [L] Interrupt FlagsCIMR equ RegBase+$0548 ; [L] Interrupt MasksCISR equ RegBase+$054c ; [L] Interrupts Pending;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; PIO:PADIR equ RegBase+$0550 ; [W] Port A Data Direction RegisterPAPAR equ RegBase+$0552 ; [W] Port A AssignmentPAODR equ RegBase+$0554 ; [W] Port A Open Drain ControlPADAT equ RegBase+$0556 ; [W] Port A Data RegisterPCDIR equ RegBase+$0560 ; [W] Port C Data Direction RegisterPCPAR equ RegBase+$0562 ; [W] Port C AssignmentPCSO equ RegBase+$0564 ; [W] Port C Special OptionsPCDAT equ RegBase+$0566 ; [W] Port C Data RegisterPCINT equ RegBase+$0568 ; [W] Port C Interrupt Control;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; TIMER:TimerBase equ RAMBase+$0db0TGCR equ RegBase+$0560 ; [W] Timer Global ConfigurationTMR1 equ RegBase+$0590 ; [W] Timer 1 ModeTRR1 equ RegBase+$0594 ; [W] Timer 1 Reference ValueTCR1 equ RegBase+$0598 ; [W] Timer 1 Capture ValueTCN1 equ RegBase+$059c ; [W] Timer 1 Counter ValueTER1 equ RegBase+$05b0 ; [W] Timer 1 Event ReportTMR2 equ RegBase+$0592TRR2 equ RegBase+$0596TCR2 equ RegBase+$059aTCN2 equ RegBase+$059eTER2 equ RegBase+$05b2TMR3 equ RegBase+$05a0TRR3 equ RegBase+$05a4TCR3 equ RegBase+$05a8TCN3 equ RegBase+$05acTER3 equ RegBase+$05b4TMR4 equ RegBase+$05a2TRR4 equ RegBase+$05a6TCR4 equ RegBase+$05aaTCN4 equ RegBase+$05aeTER4 equ RegBase+$05b6TIMER_TM_BASE equ TimerBase+$00 ; [W] Table Base AddressTIMER_TM_ptr equ TimerBase+$02 ; [W] Table PointerTIMER_R_TMR equ TimerBase+$04 ; [W] ModeTIMER_R_TMV equ TimerBase+$06 ; [W] Valid RegisterTIMER_TM_cmd equ TimerBase+$08 ; [L] Command RegisterTIMER_TM_cnt equ TimerBase+$0c ; [L] Internal Counter;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; CP:MiscBase equ RAMBase+$0cb0CR equ RegBase+$05c0 ; [W] Command RegisterRCCR equ RegBase+$05c4 ; [W] RISC-Controller ConfigurationRTER equ RegBase+$05d6 ; [W] Timer EventsRTMR equ RegBase+$05da ; [W] Timer MaskCP_REV_num equ MiscBase ; [W] Microcode Revision Number;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; BRG:BRGC1 equ RegBase+$05f0 ; [L] Baud Rate Generator 1 ConfigrationBRGC2 equ RegBase+$05f4BRGC3 equ RegBase+$05f8BRGC4 equ RegBase+$05fc;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; SCC:SCC1Base equ RAMBase+$0c00SCC2Base equ RAMBase+$0d00SCC3Base equ RAMBase+$0e00SCC4Base equ RAMBase+$0f00__defscc macro NAME,Adr,SCCBaseGSMR_L{NAME} equ Adr+0 ; [Q] ModeGSMR_H{NAME} equ Adr+4PSMR{NAME} equ Adr+8 ; [W] Protocol Specific ModeTODR{NAME} equ Adr+12 ; [W] Force Transmission StartDSR{NAME} equ Adr+14 ; [W] SCCx Synchronisation PatternSCCE{NAME} equ Adr+16 ; [W] UART Event RegisterSCCM{NAME} equ Adr+20 ; [W] UART Event MaskSCCS{NAME} equ Adr+23 ; [B] UART StatusSCC{NAME}_RBASE equ SCCBase+$00 ; [W] Receive Buffer Start AddressSCC{NAME}_TBASE equ SCCBase+$02 ; [W] Transmit Buffer Start AddressSCC{NAME}_RFCR equ SCCBase+$04 ; [B] Receive Address SpaceSCC{NAME}_TFCR equ SCCBase+$05 ; [B] Transmit Address SpaceSCC{NAME}_MRBLR equ SCCBase+$06 ; [W] Receive Buffer LengthSCC{NAME}_RSTATE equ SCCBase+$08 ; [L] Receiver StatusSCC{NAME}_RBPTR equ SCCBase+$10 ; [W] Receive Address PointerSCC{NAME}_TSTATE equ SCCBase+$18 ; [L] Transmitter StatusSCC{NAME}_TBPTR equ SCCBase+$20 ; [W] Transmit Address PointerSCC{NAME}_RCRC equ SCCBase+$28 ; [L] Receive CRCSCC{NAME}_TCRC equ SCCBase+$2c ; [L] Transmit CRCSCC{NAME}_MAX_IDL equ SCCBase+$38 ; [W] --UART-- Maximum Number of Idle CharactersSCC{NAME}_IDLC equ SCCBase+$3a ; [W] Temporary Idle CounterSCC{NAME}_BRKCR equ SCCBase+$3c ; [W] Number of Transmit BreaksSCC{NAME}_PAREC equ SCCBase+$3e ; [W] Parity Error CounterSCC{NAME}_FRMEC equ SCCBase+$40 ; [W] Framing Error CounterSCC{NAME}_NOSEC equ SCCBase+$42 ; [W] Noise CounterSCC{NAME}_BRKEC equ SCCBase+$44 ; [W] Break ConditionSCC{NAME}_BRKLN equ SCCBase+$46 ; [W] Length of most recent BreakSCC{NAME}_UADDR1 equ SCCBase+$48 ; [W] Slave AddresseSCC{NAME}_UADDR2 equ SCCBase+$4a ; [W]SCC{NAME}_RTEMP equ SCCBase+$4c ; [W] Temporary StorageSCC{NAME}_TOSEQ equ SCCBase+$4e ; [W] Out-of-Sequence CharactersSCC{NAME}_CHARACTER1 equ SCCBase+$50 ; [W] Characters that generate InterruptsSCC{NAME}_CHARACTER2 equ SCCBase+$52 ; [W]SCC{NAME}_CHARACTER3 equ SCCBase+$54 ; [W]SCC{NAME}_CHARACTER4 equ SCCBase+$56 ; [W]SCC{NAME}_CHARACTER5 equ SCCBase+$58 ; [W]SCC{NAME}_CHARACTER6 equ SCCBase+$5a ; [W]SCC{NAME}_CHARACTER7 equ SCCBase+$5c ; [W]SCC{NAME}_CHARACTER8 equ SCCBase+$5e ; [W]SCC{NAME}_RCCM equ SCCBase+$60 ; [W] Received Characters MaskSCC{NAME}_RCCR equ SCCBase+$62 ; [W] Received CharacterSCC{NAME}_RLBC equ SCCBase+$64 ; [W] Most Recent Break CharacterSCC{NAME}_C_MASK equ SCCBase+$34 ; [L] --HDLC-- CRC PolynomSCC{NAME}_C_PRES equ SCCBase+$38 ; [L] CRC Start ValueSCC{NAME}_DISFC equ SCCBase+$3c ; [W] Discarded Frames CounterSCC{NAME}_CRCEC equ SCCBase+$3e ; [W] CRC Errors CounterSCC{NAME}_ABTSC equ SCCBase+$40 ; [W] Aborts CounterSCC{NAME}_NMARC equ SCCBase+$42 ; [W] Non-Matching Addresses CounterSCC{NAME}_RETRC equ SCCBase+$44 ; [W] Retransmissions CounterSCC{NAME}_MFLR equ SCCBase+$46 ; [W] Maximal Frame LengthSCC{NAME}_MAX_cnt equ SCCBase+$48 ; [W] Length CounterSCC{NAME}_RFTHR equ SCCBase+$4a ; [W] Received Frames ThresholdSCC{NAME}_RFCNT equ SCCBase+$4c ; [W] Received Frames CountSCC{NAME}_HMASK equ SCCBase+$4e ; [W] Address MaskSCC{NAME}_HADDR1 equ SCCBase+$50 ; [W] AddressesSCC{NAME}_HADDR2 equ SCCBase+$52 ; [W]SCC{NAME}_HADRR3 equ SCCBase+$54 ; [W]SCC{NAME}_HADDR4 equ SCCBase+$56 ; [W]SCC{NAME}_TMP equ SCCBase+$58 ; [W] Temporary StorageSCC{NAME}_TMP_MB equ SCCBase+$5a ; [W] " "SCC{NAME}_CRCC equ SCCBase+$34 ; [L] --BISYNC-- Temporary CRC ValueSCC{NAME}_PRCRC equ SCCBase+$38 ; [W] Receiver Preset for CRCSCC{NAME}_PTCRC equ SCCBase+$3a ; [W] Transmitter Preset for CRCSCC{NAME}_B_PAREC equ SCCBase+$3c ; [W] Receiver Parity Errors CounterSCC{NAME}_BSYNC equ SCCBase+$3e ; [W] SYNC CharactersSCC{NAME}_BDLE equ SCCBase+$40 ; [W] DLE CharactersSCC{NAME}_B_CHARACTER1 equ SCCBase+$42 ; [W] Control CharactersSCC{NAME}_B_CHARACTER2 equ SCCBase+$44 ; [W]SCC{NAME}_B_CHARACTER3 equ SCCBase+$46 ; [W]SCC{NAME}_B_CHARACTER4 equ SCCBase+$48 ; [W]SCC{NAME}_B_CHARACTER5 equ SCCBase+$4a ; [W]SCC{NAME}_B_CHARACTER6 equ SCCBase+$4c ; [W]SCC{NAME}_B_CHARACTER7 equ SCCBase+$4e ; [W]SCC{NAME}_B_CHARACTER8 equ SCCBase+$50 ; [W]SCC{NAME}_B_RCCM equ SCCBase+$52 ; [W] Receive Control Character MaskSCC{NAME}_CRC_P equ SCCBase+$30 ; [L] --Transparent-- CRC PresetSCC{NAME}_CRC_C equ SCCBase+$34 ; [L] CRC ConstantSCC{NAME}_E_C_PRES equ SCCBase+$30 ; [L] --Ethernet-- CRC PresetSCC{NAME}_E_C_MASK equ SCCBase+$34 ; [L] CRC MaskSCC{NAME}_E_CRCEC equ SCCBase+$38 ; [L] CRC Error CounterSCC{NAME}_ALEC equ SCCBase+$3c ; [L] Alignment Error CounterSCC{NAME}_E_DISFC equ SCCBase+$40 ; [L] Discarded Frames CounterSCC{NAME}_PADS equ SCCBase+$44 ; [W] Padding Characters for Short FramesSCC{NAME}_RET_Lim equ SCCBase+$46 ; [W] Maximum Number of RetriesSCC{NAME}_RET_cnt equ SCCBase+$48 ; [W] Current Number of RetriesSCC{NAME}_E_MFLR equ SCCBase+$4a ; [W] Maximum Frame LengthSCC{NAME}_MINFLR equ SCCBase+$4c ; [W] Minimum Frame LengthSCC{NAME}_MAXD1 equ SCCBase+$4e ; [W] Maximal Length DMA1SCC{NAME}_MAXD2 equ SCCBase+$50 ; [W] Maximal Length DMA2SCC{NAME}_MAXD equ SCCBase+$52 ; [W] Rx Max DMASCC{NAME}_DMA_cnt equ SCCBase+$54 ; [W] DMA Counter ReceptionSCC{NAME}_MAX_b equ SCCBase+$56 ; [W] Maximum BD Byte CountSCC{NAME}_GADDR1 equ SCCBase+$58 ; [W] Group Address FilterSCC{NAME}_GADDR2 equ SCCBase+$5a ; [W]SCC{NAME}_GADDR3 equ SCCBase+$5c ; [W]SCC{NAME}_GADDR4 equ SCCBase+$5e ; [W]SCC{NAME}_TBUF0.data0 equ SCCBase+$60 ; [L] Save Areas - Current FrameSCC{NAME}_TBUF0.data1 equ SCCBase+$64 ; [L]SCC{NAME}_TBUF0.rba0 equ SCCBase+$68 ; [L]SCC{NAME}_TBUF0.crc equ SCCBase+$6c ; [L]SCC{NAME}_TBUF0.bcnt equ SCCBase+$70 ; [W]SCC{NAME}_PADDR1_H equ SCCBase+$72 ; [W] Physical AddressSCC{NAME}_PADDR1_M equ SCCBase+$74 ; [W]SCC{NAME}_PADDR1_L equ SCCBase+$76 ; [W]SCC{NAME}_P_Per equ SCCBase+$78 ; [W] PersistenceSCC{NAME}_RFBD_ptr equ SCCBase+$7a ; [W] Rx First BD CounterSCC{NAME}_TFBD_ptr equ SCCBase+$7c ; [W] Tx First BD PointerSCC{NAME}_TLBD_ptr equ SCCBase+$7e ; [W] Tx Last BD PointerSCC{NAME}_TBUF1.data0 equ SCCBase+$80 ; [L] Save Areas - Next FrameSCC{NAME}_TBUF1.data1 equ SCCBase+$84 ; [L]SCC{NAME}_TBUF1.rba0 equ SCCBase+$88 ; [L]SCC{NAME}_TBUF1.crc equ SCCBase+$8c ; [L]SCC{NAME}_TBUF1.bcnt equ SCCBase+$90 ; [W]SCC{NAME}_TX_len equ SCCBase+$92 ; [W] Tx Frame Length CounterSCC{NAME}_IADDR1 equ SCCBase+$94 ; [W] Individual Address FiltersSCC{NAME}_IADDR2 equ SCCBase+$96 ; [W]SCC{NAME}_IADDR3 equ SCCBase+$98 ; [W]SCC{NAME}_IADDR4 equ SCCBase+$9a ; [W]SCC{NAME}_BOFF_CNT equ SCCBase+$9c ; [W] Backoff CounterSCC{NAME}_TADDR_H equ SCCBase+$9e ; [W] Temporary AddressSCC{NAME}_TADDR_M equ SCCBase+$9a ; [W]SCC{NAME}_TADDR_L equ SCCBase+$a0 ; [W]endm__defscc "1",RegBase+$0600,SCC1Base__defscc "2",RegBase+$0620,SCC2Base__defscc "3",RegBase+$0640,SCC3Base__defscc "4",RegBase+$0660,SCC4Base;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; SMC:SMC1Base equ RAMBase+$0e80SMC2Base equ RAMBase+$0f80__defsmc macro NAME,Adr,SMCBaseSMCMR{NAME} equ Adr+0 ; [W] Transparent ModeSMCE{NAME} equ Adr+4 ; [B] Event RegisterSMCM{NAME} equ Adr+8 ; [W] ModeSMC{NAME}_RBASE equ SMCBase+$00 ; [W] Receive Buffer Descriptor AddressSMC{NAME}_TBASE equ SMCBase+$02 ; [W] Transmit Buffer Descriptor AddressSMC{NAME}_RFCR equ SMCBase+$04 ; [B] Receive Function CodeSMC{NAME}_TFCR equ SMCBase+$05 ; [B] Transmit Function CodeSMC{NAME}_MRBLR equ SMCBase+$06 ; [W] Maximum Length Receive BufferSMC{NAME}_RSTATE equ SMCBase+$08 ; [L] Internal Receiver StatusSMC{NAME}_RBPTR equ SMCBase+$10 ; [W] Rx Buffer Descriptor pointerSMC{NAME}_TSTATE equ SMCBase+$18 ; [L] Internal Transmitter StatusSMC{NAME}_TBPTR equ SMCBase+$20 ; [W] Tx Buffer Descriptor PointerSMC{NAME}_MAX_IDL equ SMCBase+$28 ; [W] --UART-- Maximum Number Idle CharactersSMC{NAME}_IDLC equ SMCBase+$28 ; [W] Idle CounterSMC{NAME}_BRKLN equ SMCBase+$28 ; [W] Length of last Break CharacterSMC{NAME}_BRKEC equ SMCBase+$28 ; [W] Receive Break Condition CounterSMC{NAME}_BRKCR equ SMCBase+$28 ; [W] Transmit Break CounterSMC{NAME}_R_mask equ SMCBase+$28 ; [W] Temporary Bit MaskSMC{NAME}_M_RxBD equ SMCBase+$00 ; [W] --GCI-- Monitor Channel RxSMC{NAME}_M_TxBD equ SMCBase+$02 ; [W] Monitor Channel TxSMC{NAME}_CI_RxBD equ SMCBase+$04 ; [W] C/I Channel RxSMC{NAME}_CI_TxBD equ SMCBase+$06 ; [W] C/I Channel TxSMC{NAME}_M_RxD equ SMCBase+$0c ; [W] Monitor Rx DataSMC{NAME}_M_TxD equ SMCBase+$0e ; [W] Monitor Tx DataSMC{NAME}_CI_RxD equ SMCBase+$10 ; [W] C/I Rx DataSMC{NAME}_CI_TxD equ SMCBase+$12 ; [W] C/I Tx Dataendm__defsmc "1",RegBase+$0682,SMC1Base__defsmc "2",RegBase+$0692,SMC2Base;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; SPI:SPIBase equ RAMBase+$0d80SPMODE equ RegBase+$06a0 ; [W] Mode RregisterSPIE equ RegBase+$06a6 ; [B] Event RegisterSPIM equ RegBase+$06aa ; [B] Mask RegisterSPICOM equ RegBase+$06ad ; [B] Command RegisterSPI_RBASE equ SPIBase+$00 ; [W] Receive Descriptor AddressSPI_TBASE equ SPIBase+$02 ; [W] Transmit Descriptor AddressSPI_RFCR equ SPIBase+$04 ; [B] Receive Function CodeSPI_TFCR equ SPIBase+$05 ; [B] Transmit Function CodeSPI_MRBLR equ SPIBase+$06 ; [W] Maximum Length Receive BufferSPI_RSTATE equ SPIBase+$08 ; [L] Receiver StatusSPI_RBPTR equ SPIBase+$10 ; [W] Currently Active Receive DescriptorSPI_TSTATE equ SPIBase+$18 ; [L] Trannsmitter StatusSPI_TBPTR equ SPIBase+$20 ; [W] Currently Active Transmit Descriptor;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; PIP:PIPBase equ SMC2BasePIPC equ RegBase+$06b2 ; [W] Configuration RegisterPTPR equ RegBase+$06b6 ; [W] Timing ParametersPIPE equ SMCE2 ; [B] Event Register, overlayed!!PBDIR equ RegBase+$06b8 ; [L] Port B Data Direction RegisterPBPAR equ RegBase+$06bc ; [L] Port B AssignmentPBODR equ RegBase+$06c2 ; [W] Port B Open Drain Control BitsPBDAT equ RegBase+$06c4 ; [L] Port B Data RegisterPIP_RBASE equ PIPBase+$00 ; [W] Receive Descriptor AddressPIP_TBASE equ PIPBase+$02 ; [W] Transmit Descriptor AddressPIP_CFCR equ PIPBase+$04 ; [B] Funktion CodePIP_SMASK equ PIPBase+$05 ; [B] Status MaskPIP_MRBLR equ PIPBase+$06 ; [W] Maximum Length of Receive BufferPIP_RSTATE equ PIPBase+$08 ; [L] Receiver StatusPIP_R_PTR equ PIPBase+$0c ; [L] Internal Receive Data PointerPIP_RBPTR equ PIPBase+$10 ; [W] Current Receive DescriptorPIP_R_CNT equ PIPBase+$12 ; [W] Receive Byte CounterPIP_RTEMP equ PIPBase+$14 ; [L] Temporary StoragePIP_TSTATE equ PIPBase+$18 ; [L] Transmitter StatusPIP_T_PTR equ PIPBase+$1c ; [L] Current Transmit Data PointerPIP_TBPTR equ PIPBase+$20 ; [W] Current Transmit Data DescriptorPIP_T_CNT equ PIPBase+$22 ; [W] Transmit Byte CounterPIP_TTEMP equ PIPBase+$24 ; [L] Temporary StoragePIP_MAX_SL equ PIPBase+$28 ; [W] Maximuma Sleep TimePIP_SL_CNT equ PIPBase+$2a ; [W] Sleep CounterPIP_CHARACTER1 equ PIPBase+$2c ; [W] Control CharactersPIP_CHARACTER2 equ PIPBase+$2ePIP_CHARACTER3 equ PIPBase+$30PIP_CHARACTER4 equ PIPBase+$32PIP_CHARACTER5 equ PIPBase+$34PIP_CHARACTER6 equ PIPBase+$36PIP_CHARACTER7 equ PIPBase+$38PIP_CHARACTER8 equ PIPBase+$3aPIP_RCCM equ PIPBase+$3c ; [W] Control Character MaskPIP_RCCR equ PIPBase+$3e ; [W] Control Character Register;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; SI:SIMODE equ RegBase+$06e0 ; [L] Serial Interface ModeSIGMR equ RegBase+$06e4 ; [B] Global Mode SettingSISTR equ RegBase+$06e6 ; [B] Address of Router RAMSICMR equ RegBase+$06e7 ; [B] Serial Interface Command RegisterSICR equ RegBase+$06ec ; [L] Serial Interface Clock DistributionSIRP equ RegBase+$06f2 ; [L] RAM PointerSIRAM equ RegBase+$0700 ; [ ] Routing RAM;=============================================================================case "68340";-----------------------------------------------------------------------------; Comments may eventually be a bit less elaborate, since Motorola's Technical; Summary for the 68340 is not so detailed:SIMBAR equ $0003ff00 ; [L] Peripheral Address SettingMCR equ SIMBase+$000 ; [W] SIM Module ConfigurationSYNCR equ SIMBase+$004 ; [W] Clock Synthesizer ControlAVR equ SIMBase+$006 ; [B] Auto VectorsRSR equ SIMBase+$007 ; [B] Reset StatusPORTA equ SIMBase+$011 ; [B] Port A Data RegisterDDRA equ SIMBase+$013 ; [B] Port A Data Direction RegisterPPRA1 equ SIMBase+$015 ; [B] Port A Pin AssignmentPPRA2 equ SIMBase+$017 ; [B]PORTB equ SIMBase+$019 ; [B] Port B Data RegisterPORTB1 equ SIMBase+$01b ; [B] dittoDDRB equ SIMBase+$01d ; [B] Port B Data Direction RegisterPPRARB equ SIMBase+$01f ; [B] Port B Pin AssignmentSWIV equ SIMBase+$020 ; [B] Software VectorsSYPCR equ SIMBase+$021 ; [B] System ProtectionPICR equ SIMBase+$022 ; [W] PIT ControlPITR equ SIMBase+$024 ; [W] PIT Data RegisterSWSR equ SIMBase+$027 ; [B] Software Service;-----------------------------------------------------------------------------; Chip Selects:__cnt set 0rept 4__name set "\{__CNT}"CS{__name}AM1 set SIMBase+$040+__cnt*8 ; [W] CSn Address Mask 1CS{__name}AM2 set SIMBase+$042+__cnt*8 ; [W] CSn Address Mask 2CS{__name}BA1 set SIMBase+$044+__cnt*8 ; [W] CSn Base Address 1CS{__name}BA2 set SIMBase+$046+__cnt*8 ; [W] CSn Base Address 2__cnt set __cnt+1endm;-----------------------------------------------------------------------------; DMA:DMABase equ SIMBase+$780DMAMCR1 equ DMABase+$000 ; [W] DMA Channel 1 Module ConfigurationDMAINTR1 equ DMABase+$004 ; [W] DMA Channel 1 InterruptsDMACCR1 equ DMABase+$008 ; [W] DMA Channel 1 Control RegisterDMACSR1 equ DMABase+$00a ; [B] DMA Channel 1 Status RegisterDMAFCR1 equ DMABase+$00b ; [B] DMA Channel 1 Function Code RegisterDMASAR1 equ DMABase+$00c ; [L] DMA Channel 1 Source AddressDMADAR1 equ DMABase+$010 ; [L] DMA Channel 1 Destination AddressDMABTC1 equ DMABase+$014 ; [L] DMA Channel 1 Byte CounterDMAMCR2 equ DMABase+$020 ; ditto for Channel 2DMAINTR2 equ DMABase+$024DMACCR2 equ DMABase+$028DMACSR2 equ DMABase+$02aDMAFCR2 equ DMABase+$02bDMASAR2 equ DMABase+$02cDMADAR2 equ DMABase+$030DMABTC2 equ DMABase+$034;-----------------------------------------------------------------------------; Serial StuffSMBase equ SIMBase+$700SMMCR equ SMBase+$000 ; [W] SIM Module ConfigurationSMILR equ SMBase+$004 ; [B] Interrupt LevelSMIVR equ SMBase+$005 ; [B] Interrupt VectorSMIPCR equ SMBase+$014 ; [BR] Pin Change RegisterSMACR equ SMBase+$014 ; [BW] Auxiliary Control registerSMISR equ SMBase+$015 ; [BR] Interrupt FlagsSMIER equ SMBase+$015 ; [BW] Interupt EnablesSMOPCR equ SMBase+$01d ; [BW] Output Ports ControlSMIP equ SMBase+$01d ; [BR] Input Ports StatusSMOPS equ SMBase+$01e ; [BW] Individually Set Port BitsSMOPR equ SMBase+$01f ; [BW] Individually Clear Port BitsSMMR1A equ SMBase+$010 ; [B] Channel A Mode RegisterSMMR2A equ SMBase+$020 ; [B] Channel A Mode RegisterSMCSRA equ SMBase+$011 ; [BR] Channel A Clock SelectionSMSRA equ SMBase+$011 ; [BW] Channel A Status RegisterSMCRA equ SMBase+$012 ; [BW] Channel A Command RegisterSMRBA equ SMBase+$013 ; [BR] Channel A Receive Data RegisterSMTBA equ SMBase+$013 ; [BW] Channel A Transmit Data RegisterSMMR1B equ SMBase+$018 ; [B] Channel B Mode Register 1SMMR2B equ SMBase+$021 ; [B] Channel B Mode Register 2SMCSRB equ SMBase+$019 ; [BR] Channel B Clock SelectionSMSRB equ SMBase+$019 ; [BW] Channel B Status RegisterSMCRB equ SMBase+$01a ; [BW] Channel B Command RegisterSMRBB equ SMBase+$01b ; [BR] Channel B Receive Data RegisterSMTBB equ SMBase+$01b ; [BW] Channel B Transmit Data Register;-----------------------------------------------------------------------------; Timer:TMBase equ SIMBase+$600TM1MCR equ TMBase+$000 ; [W] Timer 1 Module ConfigurationTM1IR equ TMBase+$004 ; [W] Timer 1 Interrupt ConfigurationTM1CR equ TMBase+$006 ; [W] Timer 1 ControlTM1SR equ TMBase+$008 ; [W] Timer 1 Status/PrescalerTM1CNTR equ TMBase+$00a ; [W] Timer 1 Count RegisterTM1PREL1 equ TMBase+$00c ; [W] Timer 1 Preset 1TM1PREL2 equ TMBase+$00e ; [W] Timer 1 Preset 2TM1COM equ TMBase+$010 ; [W] Timer 1 Compare RegisterTM2MCR equ TMBase+$040 ; ditto for Timer 2TM2IR equ TMBase+$044TM2CR equ TMBase+$046TM2SR equ TMBase+$048TM2CNTR equ TMBase+$04aTM2PREL1 equ TMBase+$04cTM2PREL2 equ TMBase+$04eTM2COM equ TMBase+$050;=============================================================================; 68332 Registers start herecase "68332";-----------------------------------------------------------------------------; Fundamental SIM Control RegistersSIMCR equ SIMBase+$00 ; [W] MCU ConfigurationSIYPCR equ SIMBase+$21 ; [W] Watchdog, Bus Monitor ControlSWSR equ SIMBase+$27 ; [B] Watchdog Reset (write $55/$aa)PICR equ SIMBase+$22 ; [W] Timer Interrupt ControlPITR equ SIMBase+$24 ; [W] Timer Counter Value;-----------------------------------------------------------------------------; Processor Clock SynthesizerSYNCR equ SIMBase+$04 ; [W] Clock Synthesizer Control;-----------------------------------------------------------------------------; Chip Select OutputsCSPAR0 equ SIMBase+$44 ; [W] CSBOOT,CS0..CS5 ControlCSPAR1 equ SIMBase+$46 ; [W] CS6..CS10 ControlCSBARBT equ SIMBase+$48 ; [W] Boot ROM Start AddressCSORBT equ SIMBase+$4a ; [W] Boot-ROM Options__cnt set 0rept 10 ; only generate 0..9 to avoid hex names__name set "\{__CNT}"CSBAR{__name} equ SIMBase+$4c+__cnt*4 ; [W] CSn Start AddressCSOR{__name} equ SIMBase+$4e+__cnt*4 ; [W] CSn Options__cnt set __cnt+1endmCSBAR10 equ SIMBase+$74 ; [W] CS10 Start AddressCSOR10 equ SIMBase+$76 ; [W] CS10 Options;-----------------------------------------------------------------------------; Nutzung der SIM-Bits als einfache I/O-PortsPORTC equ SIMBase+$41 ; [B] Port C Data BitsPORTE0 equ SIMBase+$11 ; [B] Port E Data BitsPORTE1 equ SIMBase+$13 ; [B] dittoDDRE equ SIMBase+$15 ; [B] Port E Data Direction BitsPEPAR equ SIMBase+$17 ; [B] Port E Pins as Ports or Bus Signals ControlPORTF0 equ SIMBase+$19 ; [B] Port F Data BitsPORTF1 equ SIMBase+$1b ; [B] dittoDDRF equ SIMBase+$1d ; [B] Port F Data Direction BitsPFPAR equ SIMBase+$1f ; [B] Port F Pins as Ports or Bus Signals Control;-----------------------------------------------------------------------------; Boundary Scan Test of SIM Registers (for Motorola use only...)SIMTR equ SIMBase+$02 ; [W] SIM Test RegisterSIMTRE equ SIMBase+$08 ; [W] E Clock Test RegisterTSTMSRA equ SIMBase+$30 ; [W] Shift Register A (Boundary Scan)TSTMSRB equ SIMBase+$32 ; [W] Shift Register B (Boundary Scan)TSTSC equ SIMBase+$34 ; [W] Shift Count RegisterTSTRC equ SIMBase+$36 ; [W] Repeat Count RegisterCREG equ SIMBase+$38 ; [W] Boundary Scan Control RegisterDREG equ SIMBase+$3a ; [W] Distributed Register (?!);-----------------------------------------------------------------------------; Programmable Timers:TPUBase equ SIMBase+$400 ; TPU Register Set Base AddressTPUMCR equ TPUBase+$00 ; [W] TPU Base ConfigurationTICR equ TPUBase+$08 ; [W] TPU Interrupt ControlCIER equ TPUBase+$0a ; [W] TPU Interrupt EnableCISR equ TPUBase+$20 ; [W] TPU Interrupt StatusCFSR0 equ TPUBase+$0c ; [W] TPU Operating Modes Channels 12..15CFSR1 equ TPUBase+$0e ; [W] TPU Operating Modes Channels 8..11CFSR2 equ TPUBase+$10 ; [W] TPU Operating Modes Channels 4.. 7CFSR3 equ TPUBase+$12 ; [W] TPU Operating Modes Channels 0.. 3HSQR0 equ TPUBase+$14 ; [W] TPU Sub Operating Modes Channels 8..15HSQR1 equ TPUBase+$16 ; [W] TPU Sub -Operating Modes Channels 0.. 7HSRR0 equ TPUBase+$18 ; [W] TPU Service Request Bits Channels 8..15HSRR1 equ TPUBase+$1a ; [W] TPU Service Request Bits Channels 0.. 7CPR0 equ TPUBase+$1c ; [W] TPU Priority Channels 8..15CPR1 equ TPUBase+$1e ; [W] TPU Priority Channels 0.. 7DSCR equ TPUBase+$04 ; [W] Debug and Test RegistersDSSR equ TPUBase+$06LR equ TPUBase+$22SGLR equ TPUBase+$24DCNR equ TPUBase+$26TCR equ TPUBase+$02;-----------------------------------------------------------------------------; TPU Command RAM:TPURAMBase equ SIMBase+$100 ; TPURAM Base Address Control RegisterTRAMMCR equ TPURAMBase+$00 ; [B] TPURAM Base ConfigurationTRAMTST equ TPURAMBase+$02 ; [W] TPURAM Test RegisterTRAMBAR equ TPURAMBase+$04 ; [W] TPURAM Base Address;-----------------------------------------------------------------------------; serielles:QSMBase equ SIMBase+$200 ; Serial Interface Base AddressQSMCR equ QSMBase+$00 ; [W] QSM Base ConfigurationQTEST equ QSMBase+$02 ; [W] QSM Test RegisterQILR equ QSMBase+$04 ; [B] QSM Interrupt PrioritiesQIVR equ QSMBase+$05 ; [B] QSM Interrupt VectorPORTQS equ QSMBase+$15 ; [B] QSM Parallel Port Data BitsPQSPAR equ QSMBase+$16 ; [B] Selection Port Bits QSM/Parallel PortDDRQS equ QSMBase+$17 ; [B] QSM Parallel Port Data Direction RegisterSPCR0 equ QSMBase+$18 ; [W] QSPI Control Register 0SPCR1 equ QSMBase+$1a ; [W] QSPI Control Register 1SPCR2 equ QSMBase+$1c ; [W] QSPI Control Register 2SPCR3 equ QSMBase+$1e ; [B] QSPI Control Register 3SPSR equ QSMBase+$1f ; [B] QSPI Status Register__cnt set 0 ; QSPI RAM Definitionrept 16__name set "\{__CNT}"RR{__name} equ QSMBase+$100+__cnt*2 ; [W] Data RAM Reception SideTR{__name} equ QSMBase+$120+__cnt*2 ; [W] Data RAM Transmission SideCR{__name} equ QSMBase+$140+__cnt ; [B] Command RAM__cnt set __cnt+1endmSCCR0 equ QSMBase+$08 ; [W] SCI Control Register 0SCCR1 equ QSMBase+$0a ; [W] SCI Control Register 1SCSR equ QSMBase+$0c ; [W] SCI Status RegisterSCDR equ QSMBase+$0e ; [W] SCI Data Register;-----------------------------------------------------------------------------endcase ; of processor distinctionrestore ; re-allow listingendif ; reg6833xinc