home *** CD-ROM | disk | FTP | other *** search
- FALCON REGISTERS 3
-
- ****************************************************************************
- 2 5 6 C O L O R - R E G I S T E R S ( F A L C O N )
- ****************************************************************************
-
- $FFFF9800 [R/W] :$FC 765432__ ................................ Color $00 Red
- ||||||
- ++++++------ 0-63: Red
- $FFFF9801 [R/W] :$FC 765432__ .............................. Color $00 Green
- ||||||
- ++++++------ 0-63: Green
- $FFFF9802 [R/W] :$00 ******
- $FFFF9803 [R/W] :$00 765432__ ............................... Color $00 Blue
- ||||||
- ++++++------ 0-63: Blue
- $FFFF9804 [R/W] :$FC Color $01 Red
- $FFFF9805 [R/W] :$FC Color $01 Green
- $FFFF9806 [R/W] :$00 ******
- $FFFF9807 [R/W] :$00 Color $01 Blue
- : : : :
- : : : :
- : : : :
- $FFFF9BFC [R/W] :$00 Color $FF Red
- $FFFF9BFD [R/W] :$00 Color $FF Green
- $FFFF9BFE [R/W] :$00 ******
- $FFFF9BFF [R/W] :$00 Color $FF Blue
-
-
-
- ****************************************************************************
- D S P - H O S T - I N T E R F A C E ( FA L C O N )
- ****************************************************************************
-
- $FFFFA200 [R/W] :$00 76543_10 ........................ Host-Control-Register
- ||||| ||
- ||||| |+---- 1: enable 'DSP-had-send'-IRQ
- ||||| +----- 1: enable 'DSP-ready to receive'-IRQ
- ||||+------- Hf2-Bit, userdef. Infobit from DSP to Host
- |||+-------- Hf3-Bit, userdef. Infobit from DSP to Host
- +++--------- set to zero
- $FFFFA201 [R/W] :$12 <=====
- $FFFFA202 [R/W] :$06 _6543_10 ..........................Host-Status-Register
- |||| ||
- |||| |+---- 0: DSP busy
- |||| | 1: DSP had send
- |||| +----- 0: DSP busy
- |||| 1: DSP ready to receive
- |||+------- Hf0-Bit, userdef. Infobit from Host to DSP
- ||+-------- Hf1-Bit, userdef. Infobit from Host to DSP
- ++--------- set to zero
- $FFFFA203 [R/W] :$0F <=====
- $FFFFA204 [R/W] :$00 ________ ............................. I/O-Data-Path HH
- $FFFFA205 [R/W] :$00 76543210 ............................. Hi
- $FFFFA206 [R/W] :$00 76543210 ............................. Mi
- $FFFFA207 [R/W] :$00 76543210 ............................. Lo
-
-
- $03FC-$03FF : DSP-IRQ-vector. This vector is used for receiving
- or/and sending data from/to the DSP in interrupt-
- mode.
-
-
- HOW to send datawords to DSP in handshaking-technic:
- 1. step: wait until DSP ready to receive ($A202.w Bit 1 turns to 1)
- 2. step: write data to $A204.w-$A207.w
- 3. step: if you want to send once again>> goto 1. step
-
- Example: This routine corresponds to the DSP-XBIOS:
- LEA BUFFER(PC),A0 ;Buffer with DSP-Words
- MOVE.W #DSP_WORDS,D0 ;transfer max. 65535 DSP-Words
- LOOP: BTST #0,$FFFFA202.W ;is DSP ready to receive?
- BEQ.S LOOP
- 4 bytes: 'MOVE.L (A0)+,$FFFFA204.W ;transfer 4 bytes
- ;the highest byte will be ignored
- ;by the DSP
- 3 bytes: 'MOVE.B (A0)+,$FFFFA205.W ;transfer
- MOVE.B (A0)+,$FFFFA206.W ;3 bytes
- MOVE.B (A0)+,$FFFFA207.W ;(1 DSP-Word has 24 Bit)
- 2 bytes: 'MOVE.W (A0)+,D1 ;get 2 bytes
- EXT.L D1 ;sign-extension
- MOVE.W D1,$FFFFA204.W ;transfer 4 bytes
- 1 byte: 'MOVE.B #0,$FFFFA205.W ;transfer
- MOVE.B #0,$FFFFA206.W ;1 byte
- MOVE.B (A0)+,$FFFFA207.W
- DBRA D0,LOOP
-
- HOW to receive datawords from DSP in handshaking-technic:
- 1. step: wait until DSP had send ($A202.w Bit 0 turns to 1)
- 2. step: read data from $A204.w-$A207.w
- 3. step: if you want to receive once again >> goto 1. step
-
- Example: This routine corresponds to the DSP-XBIOS
- LEA BUFFER(PC),A0 ;Buffer with DSP-Words
- MOVE.W #DSP_WORDS,D0 ;transfer max. 65535 DSP-Words
- LOOP: BTST #1,$FFFFA202.W ;had DSP send?
- BEQ.S LOOP
- 4 bytes: 'MOVE.L $FFFFA204.W,(A0)+ ;transfer 4 bytes
- ;the highest byte is zero
- 3 bytes: 'MOVE.B $FFFFA205.W,(A0)+ ;transfer
- MOVE.B $FFFFA206.W,(A0)+ ;3 bytes
- MOVE.B $FFFFA207.W,(A0)+ ;(1 DSP-Word has 24 Bit)
- 2 bytes: 'MOVE.B $FFFFA206.W,(A0)+ ;transfer
- MOVE.W $FFFFA207.W,(A0)+ ;2 bytes
- 1 byte: 'MOVE.B $FFFFA206.W,D1 ;dummy-read, nobody knows why.
- MOVE.B $FFFFA207.W,(A0)+ ;transfer 1 byte
- DBRA D0,LOOP
-
- NOTE: it is possible to skip the 1. step. This mode increases the
- transfering-rate, but the DSP-program must be able to read the data
- immediately, otherwhise the data will be overwritten by the next
- one. It is important that the DSP is ready to transfer, therefor
- execute the 1. step before transfering data!
- (1. step > 2. step > 2. step > 2. step ......until end)
-
-
- HOW to send datawords to DSP in interrupt-technic:
- 1. step: IRQ-Instalation in special order:
- 1.: write the IRQ-program-address in the DSP-IRQ-vector
- 2.: write register $A203.w with $FF
- 3.: set bit 1 of Host-Control-Register
- now the DSP-IRQ is installed and enabled!
- 2. step: the style of the IRQ-vector-routine:
- 1.: read data from $A204.w-$A207.w
- 2.: end the IRQ-routine with a RTE
- 3. step: you have two possibilities to stop the IRQ-transfer:
- 1.: you clear bit 1 in the main program
- 2.: you clear bit 1 in the IRQ-program
-
-
- HOW to receive datawords fron DSP in interrupt-technic:
- 1. step: IRQ-Instalation in special order:
- 1.: write the IRQ-program-address in the DSP-IRQ-vector
- 2.: write register $A203.w with $FF
- 3.: set bit 0 of Host-Control-Register
- now the DSP-IRQ is installed and enabled!
- 2. step: the style of the IRQ-vector-routine:
- 1.: write data to $A204.w-$A207.w
- 2.: end the IRQ-routine with a RTE
- 3. step: you have two possibilities to stop the IRQ-transfer:
- 1.: you clear bit 0 in the main program
- 2.: you clear bit 0 in the IRQ-program
-
- NOTE: You have only one exception for sending and receiving data. But
- it is possible to send and receive data simultanously. In the IRQ-
- program you have to test bit 0/1 of the Host-Status-Register to
- get information about the transfering direction!
-
-
-
- ****************************************************************************
- M U L T I - F U N C T I O N - P E R I P H E R A L MC 68901 ( S T )
- ****************************************************************************
-
- $FFFFFA00 [R/-] :$8F ******
- $FFFFFA01 [R/W] :$ED GPIP-Data
- $FFFFFA02 [R/-] :$8F ******
- $FFFFFA03 [R/W] :$04 Active-Edge
- $FFFFFA04 [R/-] :$8F ******
- $FFFFFA05 [R/W] :$00 Data-Direction
- $FFFFFA06 [R/-] :$8F ******
- $FFFFFA07 [R/W] :$DE Interrupt-Enable A
- $FFFFFA08 [R/-] :$8F ******
- $FFFFFA09 [R/W] :$64 Interrupt-Enable B
- $FFFFFA0A [R/-] :$8F ******
- $FFFFFA0B [R/W] :$02 Interrupt-Pending A
- $FFFFFA0C [R/-] :$8F ******
- $FFFFFA0D [R/W] :$60 Interrupt-Pending B
- $FFFFFA0E [R/-] :$8F ******
- $FFFFFA0F [R/W] :$00 Interrupt-In-Service A
- $FFFFFA10 [R/-] :$8F ******
- $FFFFFA11 [R/W] :$00 Interrupt-In-Service B
- $FFFFFA12 [R/-] :$8F ******
- $FFFFFA13 [R/W] :$5E Interrupt-Mask A
- $FFFFFA14 [R/-] :$8F ******
- $FFFFFA15 [R/W] :$64 Interrupt-Mask B
- $FFFFFA16 [R/-] :$8F ******
- $FFFFFA17 [R/W] :$48 Interrupt-Vektor
- $FFFFFA18 [R/-] :$FF ******
- $FFFFFA19 [R/W] :$00 Timer-A-Control
- $FFFFFA1A [R/-] :$8F ******
- $FFFFFA1B [R/W] :$00 Timer-B-Control
- $FFFFFA1C [R/-] :$8F ******
- $FFFFFA1D [R/W] :$51 Timer-C+D-Control
- $FFFFFA1E [R/-] :$8F ******
- $FFFFFA1F [R/W] :$00 Timer-A-Data
- $FFFFFA20 [R/-] :$8F ******
- $FFFFFA21 [R/W] :$FF Timer-B-Data
- $FFFFFA22 [R/-] :$9F ******
- $FFFFFA23 [R/W] :$AA Timer-C-Data
- $FFFFFA24 [R/-] :$8F ******
- $FFFFFA25 [R/W] :$02 Timer-D-Data
- $FFFFFA26 [R/-] :$8F ******
- $FFFFFA27 [R/W] :$00 Synchronous-Character
- $FFFFFA28 [R/-] :$8F ******
- $FFFFFA29 [R/W] :$88 USART-Control
- $FFFFFA2A [R/-] :$8F ******
- $FFFFFA2B [R/W] :$09 Receiver-Status
- $FFFFFA2C [R/-] :$FF ******
- $FFFFFA2D [R/W] :$85 Transmitter-Status
- $FFFFFA2E [R/-] :$CF ******
- $FFFFFA2F [R/W] :$FF USART-Data
-
-
-
- ****************************************************************************
- K E Y B O A R D / M I D I - A C I A S 6850 ( S T )
- ****************************************************************************
-
- $FFFFFC00 [R/-] :$83 Keyboard-Status
- [-/W] :$83 Keyboard-Control
- $FFFFFC01 [R/-] :$FF ******
- $FFFFFC02 [R/-] :$9C Keyboard-Receive
- [-/W] :$9C Keyboard-Send
- $FFFFFC03 [R/-] :$FF ******
- $FFFFFC04 [R/-] :$02 Midi-Status
- [-/W] :$02 Midi-Control
- $FFFFFC05 [R/-] :$FF ******
- $FFFFFC06 [R/-] :$02 Midi-Receive
- [-/W] :$02 Midi-Send
- $FFFFFC07 [R/-] :$FF ******
-
-
-
- ****************************************************************************
- ? ? ? ? ? ?
- ****************************************************************************
-
- $FFFFFF82 [R/-] :$1C new
- $FFFFFF83 [R/-] :$00 new
-
-
-
-
- ******************************** END OF FILE *******************************
-
-