OpenCores
URL https://opencores.org/ocsvn/System09/System09/trunk

Subversion Repositories System09

[/] [System09/] [trunk/] [src/] [sys09bug/] [sys09equ.asm] - Diff between revs 99 and 120

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 99 Rev 120
*
*
***************************************************
***************************************************
*   MEMORY MAP EQUATES                            *
*   MEMORY MAP EQUATES                            *
***************************************************
***************************************************
MONIO  EQU $E000  I/O SPACE
MONIO  EQU $E000  I/O SPACE
       IFD B3SOPT
       IFD B3SOPT
MONEXT EQU $F000  START OF EXTENDED COMMANDS
MONEXT EQU $F000  START OF EXTENDED COMMANDS
EXTCMD EQU $00    EXTENDED OFFSET
EXTCMD EQU $00    EXTENDED OFFSET
       ENDIF B3SOPT
       ENDIF B3SOPT
       IFD S3EOPT
       IFD S3EOPT
MONRAM EQU $7FC0
MONRAM EQU $7FC0
       ELSE
       ELSE
MONRAM EQU $DFC0  STACK SPACE
MONRAM EQU $DFC0  STACK SPACE
       ENDIF S3EOPT
       ENDIF S3EOPT
MONROM EQU $F800  START OF ROM
MONROM EQU $F800  START OF ROM
       IFD S3SOPT
       IFD S3SOPT
MONEXT EQU $F000  START OF EXTENDED COMMANDS
MONEXT EQU $F000  START OF EXTENDED COMMANDS
EXTCMD EQU $00    EXTENDED OFFSET
EXTCMD EQU $00    EXTENDED OFFSET
       ENDIF S3SOPT
       ENDIF S3SOPT
       IFD XESOPT
       IFD XESOPT
MONEXT EQU $F000  START OF EXTENDED COMMANDS
MONEXT EQU $F000  START OF EXTENDED COMMANDS
EXTCMD EQU $00    EXTENDED OFFSET
EXTCMD EQU $00    EXTENDED OFFSET
       ENDIF XESOPT
       ENDIF XESOPT
***************************************************
       IFD DE270OPT
 
MONEXT EQU $F000  START OF EXTENDED COMMANDS
 
EXTCMD EQU $00    EXTENDED OFFSET
 
       ENDIF DE270OPT
 
**************************************************
 
**************************************************
 
 
        IFD SWTOPT
        IFD SWTOPT
*
*
* SOUTH WEST TECHNICAL PRODUCTS COMPUTER
* SOUTH WEST TECHNICAL PRODUCTS COMPUTER
*
*
ACIAOPT EQU $FF ACIA AT PORT 0
ACIAOPT EQU $FF ACIA AT PORT 0
DMAFOPT EQU $FF DMAF2 8" FLOPPY DISK BOOT
DMAFOPT EQU $FF DMAF2 8" FLOPPY DISK BOOT
MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
        ENDIF
        ENDIF
*
*
        IFD ADSOPT
        IFD ADSOPT
*
*
* ACKERMAN DIGITAL ADS6809
* ACKERMAN DIGITAL ADS6809
*
*
DG640OPT  EQU $FF DG640 VDU AT $E800
DG640OPT  EQU $FF DG640 VDU AT $E800
*RTCOPT  EQU $FF REAL TIME CLOCK
*RTCOPT  EQU $FF REAL TIME CLOCK
PRTOPT  EQU $FF PRINTER DRIVERS
PRTOPT  EQU $FF PRINTER DRIVERS
MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
        ENDIF ADSOPT
        ENDIF ADSOPT
*
*
        IFD B3SOPT
        IFD B3SOPT
*
*
* BURCHED B3-SPARTAN2
* BURCHED SPARTAN 2 B3+
*
*
ACIAOPT EQU $FF ACIA AT PORT 0
ACIAOPT EQU $FF ACIA AT PORT 0
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
VDUOPT  EQU $FF VDU AT $E030
VDUOPT  EQU $FF VDU AT $E030
IDEOPT  EQU $FF IDE AT $E100
IDEOPT  EQU $FF IDE AT $E100
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
HFCOPT  EQU $FF HARDWARE FLOW CONTROL
HFCOPT  EQU $FF HARDWARE FLOW CONTROL
        ENDIF B3SOPT
        ENDIF B3SOPT
*
*
        IFD B5XOPT
        IFD B5XOPT
*
*
* BURCHED B5-X300
* BURCHED SPARTAN 2 B5-X300
*
*
ACIAOPT EQU $FF ACIA AT PORT 0
ACIAOPT EQU $FF ACIA AT PORT 0
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
VDUOPT  EQU $FF VDU AT $E030
VDUOPT  EQU $FF VDU AT $E030
CF8OPT  EQU $FF COMPACT FLASH AT $E040
CF8OPT  EQU $FF COMPACT FLASH AT $E040
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
HFCOPT  EQU $FF HARDWARE FLOW CONTROL
HFCOPT  EQU $FF HARDWARE FLOW CONTROL
        ENDIF B5XOPT
        ENDIF B5XOPT
*
*
        IFD S3SOPT
        IFD S3SOPT
*
*
* DIGILENT SPARTAN 3 STARTER
* DIGILENT SPARTAN 3 STARTER
*
*
ACIAOPT EQU $FF ACIA AT PORT 0
ACIAOPT EQU $FF ACIA AT PORT 0
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
VDUOPT  EQU $FF VDU AT $E030
VDUOPT  EQU $FF VDU AT $E030
CF8OPT  EQU $FF COMPACT FLASH AT $E040
CF8OPT  EQU $FF COMPACT FLASH AT $E040
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
EXTOPT  EQU $FF EXTENDED COMMANDS
EXTOPT  EQU $FF EXTENDED COMMANDS
        ENDIF S3SOPT
        ENDIF S3SOPT
*
*
        IFD S3EOPT
        IFD S3EOPT
*
*
* DIGILENT SPARTAN 3E STARTER
* DIGILENT SPARTAN 3E STARTER
*
*
ACIAOPT EQU $FF ACIA AT PORT 0
ACIAOPT EQU $FF ACIA AT PORT 0
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
VDUOPT  EQU $FF VDU AT $E030
VDUOPT  EQU $FF VDU AT $E030
TRAOPT  EQU $FF PIA TRACE TIMER
TRAOPT  EQU $FF PIA TRACE TIMER
        ENDIF S3EOPT
        ENDIF S3EOPT
*
*
        IFD XESOPT
        IFD XESOPT
*
*
* XESS XSA-3S1000 & XST-3.0
* XESS SPARTAN 3 XSA-3S1000 & XST-3.0
*
*
ACIAOPT EQU $FF ACIA AT PORT 0
ACIAOPT EQU $FF ACIA AT PORT 0
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
VDUOPT  EQU $FF VDU AT $E030
VDUOPT  EQU $FF VDU AT $E030
IDEOPT  EQU $FF IDE AT $E100
IDEOPT  EQU $FF IDE AT $E100
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
HFCOPT  EQU $FF HARDWARE FLOW CONTROL
HFCOPT  EQU $FF HARDWARE FLOW CONTROL
EXTOPT  EQU $FF EXTENDED COMMANDS
EXTOPT  EQU $FF EXTENDED COMMANDS
        ENDIF XESOPT
        ENDIF XESOPT
*
*
 
        IFD DE270OPT
 
*
 
* TERASIC CYCLONE 2 DE2-70
 
*
 
ACIAOPT EQU $FF ACIA AT PORT 0
 
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
 
VDUOPT  EQU $FF VDU AT $E030
 
CF8OPT  EQU $FF COMPACT FLASH AT $E040
 
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
 
EXTOPT  EQU $FF EXTENDED COMMANDS
 
        ENDIF DE270OPT
 
*
*
*
        IFD   ACIAOPT
        IFD   ACIAOPT
*
*
***************************************************
***************************************************
*   SERIAL PORT                                   *
*   SERIAL PORT                                   *
***************************************************
***************************************************
*
*
** ACIA SITS ON PORT 0
** ACIA SITS ON PORT 0
*
*
ACIAS   EQU   MONIO+$00   CONTROL PORT
ACIAS   EQU   MONIO+$00   CONTROL PORT
*
*
        ENDIF ACIAOPT
        ENDIF ACIAOPT
        IFD   MFDCOPT
        IFD   MFDCOPT
*
*
***************************************************
***************************************************
*   MINIFLOPPY DRIVE                              *
*   MINIFLOPPY DRIVE                              *
***************************************************
***************************************************
*
*
** FLOPPY DISK CONTROLLER SITS ON PORT 1
** FLOPPY DISK CONTROLLER SITS ON PORT 1
*
*
DRVFDC  EQU   MONIO+$14
DRVFDC  EQU   MONIO+$14
CMDFDC  EQU   MONIO+$18
CMDFDC  EQU   MONIO+$18
SECFDC  EQU   MONIO+$1A
SECFDC  EQU   MONIO+$1A
DATFDC  EQU   MONIO+$1B
DATFDC  EQU   MONIO+$1B
        ENDIF MFDCOPT
        ENDIF MFDCOPT
        IFD PS2OPT
        IFD PS2OPT
*
*
***************************************************
***************************************************
*   VDU8 PS/2 KEYBOARD PORT                       *
*   VDU8 PS/2 KEYBOARD PORT                       *
***************************************************
***************************************************
*
*
** KEYBOARD SITS ON PORT 2
** KEYBOARD SITS ON PORT 2
*
*
PS2KBD  EQU   MONIO+$20   PS/2 KEYBOARD PORT
PS2KBD  EQU   MONIO+$20   PS/2 KEYBOARD PORT
        ENDIF PS2OPT
        ENDIF PS2OPT
        IFD VDUOPT
        IFD VDUOPT
*
*
***************************************************
***************************************************
*   VDU8 DISPLAY DRIVER EQUATES                   *
*   VDU8 DISPLAY DRIVER EQUATES                   *
***************************************************
***************************************************
*
*
** VDU8 DISPLAY SITS ON PORT 3
** VDU8 DISPLAY SITS ON PORT 3
*
*
VDU     EQU   MONIO+$30
VDU     EQU   MONIO+$30
VDUCHR  EQU   0        CHARACTER REGISTER
VDUCHR  EQU   0        CHARACTER REGISTER
VDUATT  EQU   1        ATTRIBUTE REGISTER
VDUATT  EQU   1        ATTRIBUTE REGISTER
VDUCOL  EQU   2        CURSOR COLUMN
VDUCOL  EQU   2        CURSOR COLUMN
VDUROW  EQU   3        CURSOR ROW
VDUROW  EQU   3        CURSOR ROW
VDUOFF  EQU   4        ROW OFFSET
VDUOFF  EQU   4        ROW OFFSET
*
*
LINLEN  EQU   80       LENGTH OF A LINE
LINLEN  EQU   80       LENGTH OF A LINE
NUMLIN  EQU   25       NUMBER OF LINES
NUMLIN  EQU   25       NUMBER OF LINES
        ENDIF VDUOPT
        ENDIF VDUOPT
*
*
           IFD CF8OPT
           IFD CF8OPT
*
*
***************************************************
***************************************************
*   COMPACT FLASH EQUATES 8 BIT TRANSFER          *
*   COMPACT FLASH EQUATES 8 BIT TRANSFER          *
***************************************************
***************************************************
*
*
** COMPACT FLASH SITS AT PORT 4
** COMPACT FLASH SITS AT PORT 4
*
*
CF_BASE    EQU MONIO+$40
CF_BASE    EQU MONIO+$40
CF_DATA    EQU CF_BASE+0
CF_DATA    EQU CF_BASE+0
CF_ERROR   EQU CF_BASE+1 ; read error
CF_ERROR   EQU CF_BASE+1 ; read error
CF_FEATURE EQU CF_BASE+1 ; write feature
CF_FEATURE EQU CF_BASE+1 ; write feature
CF_SECCNT  EQU CF_BASE+2
CF_SECCNT  EQU CF_BASE+2
CF_SECNUM  EQU CF_BASE+3
CF_SECNUM  EQU CF_BASE+3
CF_CYLLO   EQU CF_BASE+4
CF_CYLLO   EQU CF_BASE+4
CF_CYLHI   EQU CF_BASE+5
CF_CYLHI   EQU CF_BASE+5
CF_HEAD    EQU CF_BASE+6
CF_HEAD    EQU CF_BASE+6
CF_STATUS  EQU CF_BASE+7 ; read status
CF_STATUS  EQU CF_BASE+7 ; read status
CF_COMAND  EQU CF_BASE+7 ; write command
CF_COMAND  EQU CF_BASE+7 ; write command
*
*
* Command Equates
* Command Equates
*
*
CMDREAD    EQU $20 ; Read Single sector
CMDREAD    EQU $20 ; Read Single sector
CMDWRITE   EQU $30 ; Write Single sector
CMDWRITE   EQU $30 ; Write Single sector
CMDFEATURE EQU $EF
CMDFEATURE EQU $EF
FEAT8BIT   EQU $01 ; enable 8 bit transfers
FEAT8BIT   EQU $01 ; enable 8 bit transfers
HEADLBA    EQU $E0
HEADLBA    EQU $E0
*
*
* Status bit equates
* Status bit equates
*
*
BUSY       EQU $80
BUSY       EQU $80
DRDY       EQU $40
DRDY       EQU $40
DRQ        EQU $08
DRQ        EQU $08
ERR        EQU $01
ERR        EQU $01
*
*
           ENDIF CF8OPT
           ENDIF CF8OPT
*
*
           IFD IDEOPT
           IFD IDEOPT
*
*
***************************************************
***************************************************
*   COMPACT FLASH EQUATES 16 BIT TRANSFER (XESS)  *
*   COMPACT FLASH EQUATES 16 BIT TRANSFER (XESS)  *
***************************************************
***************************************************
*
*
** COMPACT FLASH SITS AT PORT 4
** COMPACT FLASH SITS AT PORT 4
*
*
CF_BASE    EQU MONIO+$0100
CF_BASE    EQU MONIO+$0100
CF_DATA    EQU CF_BASE+0
CF_DATA    EQU CF_BASE+0
CF_ERROR   EQU CF_BASE+2 ; read error
CF_ERROR   EQU CF_BASE+2 ; read error
CF_FEATURE EQU CF_BASE+2 ; write feature
CF_FEATURE EQU CF_BASE+2 ; write feature
CF_SECCNT  EQU CF_BASE+4
CF_SECCNT  EQU CF_BASE+4
CF_SECNUM  EQU CF_BASE+6
CF_SECNUM  EQU CF_BASE+6
CF_CYLLO   EQU CF_BASE+8
CF_CYLLO   EQU CF_BASE+8
CF_CYLHI   EQU CF_BASE+10
CF_CYLHI   EQU CF_BASE+10
CF_HEAD    EQU CF_BASE+12
CF_HEAD    EQU CF_BASE+12
CF_STATUS  EQU CF_BASE+14 ; read status
CF_STATUS  EQU CF_BASE+14 ; read status
CF_COMAND  EQU CF_BASE+14 ; write command
CF_COMAND  EQU CF_BASE+14 ; write command
CF_AUX     EQU CF_BASE+30
CF_AUX     EQU CF_BASE+30
*
*
* Command Equates
* Command Equates
*
*
CMDREAD    EQU $20 ; Read Single sector
CMDREAD    EQU $20 ; Read Single sector
CMDWRITE   EQU $30 ; Write Single sector
CMDWRITE   EQU $30 ; Write Single sector
AUXRESET   EQU $06 ; Reset IDE
AUXRESET   EQU $06 ; Reset IDE
AUXRSTREL  EQU $02 ; Reset release IRQ masked
AUXRSTREL  EQU $02 ; Reset release IRQ masked
HEADLBA    EQU $E0
HEADLBA    EQU $E0
*
*
* Status bit equates
* Status bit equates
*
*
BUSY       EQU $80
BUSY       EQU $80
DRDY       EQU $40
DRDY       EQU $40
DRQ        EQU $08
DRQ        EQU $08
ERR        EQU $01
ERR        EQU $01
*
*
           ENDIF CF8OPT
           ENDIF CF8OPT
*
*
        IFD RTCOPT
        IFD RTCOPT
*
*
**************************************************
**************************************************
* MM58167A REAL TIME CLOCK MEMORY MAP:
* MM58167A REAL TIME CLOCK MEMORY MAP:
**************************************************
**************************************************
*
*
** REAL TIME CLOCK SITS ON PORT 4 AND PORT 5
** REAL TIME CLOCK SITS ON PORT 4 AND PORT 5
*
*
CLOCK  EQU MONIO+$40 CLOCK BASE ADDRESS AND REGISTERS
CLOCK  EQU MONIO+$40 CLOCK BASE ADDRESS AND REGISTERS
*
*
* COUNTER AND COMPARITOR REGISTERS:
* COUNTER AND COMPARITOR REGISTERS:
*
*
* Both the Clock Counter and Clock Comparitor
* Both the Clock Counter and Clock Comparitor
* consist of 8 registers for holding the time.
* consist of 8 registers for holding the time.
* The register offsets from the Counter and
* The register offsets from the Counter and
* Comparitor registers are listed above.
* Comparitor registers are listed above.
*
*
COUNTR EQU CLOCK+0
COUNTR EQU CLOCK+0
CMPRAM EQU CLOCK+8 COMPARITOR REGISTERS
CMPRAM EQU CLOCK+8 COMPARITOR REGISTERS
*
*
* CLOCK REGISTER OFFSETS:
* CLOCK REGISTER OFFSETS:
* These register offsets are used for the CLOCK
* These register offsets are used for the CLOCK
* and comparitor ram CMPRAM.
* and comparitor ram CMPRAM.
*
*
S10000 EQU 0 TEN THOUNSANDTHS OF SECONDS
S10000 EQU 0 TEN THOUNSANDTHS OF SECONDS
S100   EQU 1 HUNDRETHS AND TENTHS OF SECONDS
S100   EQU 1 HUNDRETHS AND TENTHS OF SECONDS
SECOND EQU 2
SECOND EQU 2
MINUIT EQU 3
MINUIT EQU 3
HOUR   EQU 4
HOUR   EQU 4
WKDAY  EQU 5
WKDAY  EQU 5
MTHDAY EQU 6
MTHDAY EQU 6
MONTH  EQU 7
MONTH  EQU 7
*
*
* INTERRUPT OUTPUT REGISTERS:
* INTERRUPT OUTPUT REGISTERS:
*
*
* An interrupt output may be generated at the
* An interrupt output may be generated at the
* following rates by setting the appropriate bit
* following rates by setting the appropriate bit
* in the Interrupt Control Register (CINTCR).
* in the Interrupt Control Register (CINTCR).
* The Interrupt Status Register (CINTSR) must be
* The Interrupt Status Register (CINTSR) must be
* read to clear the interrupt and will return
* read to clear the interrupt and will return
* the source of the interrupt.
* the source of the interrupt.
*
*
* 1/Month      Bit 7
* 1/Month      Bit 7
* 1/Week       Bit 6
* 1/Week       Bit 6
* 1/Day        Bit 5
* 1/Day        Bit 5
* 1/Hour       Bit 4
* 1/Hour       Bit 4
* 1/Minuite    Bit 3
* 1/Minuite    Bit 3
* 1/Second     Bit 2
* 1/Second     Bit 2
* 10/Second    Bit 1
* 10/Second    Bit 1
* Comparitor   Bit 0
* Comparitor   Bit 0
*
*
CINTSR  EQU CLOCK+16 INTERRUPT STATUS REGISTER
CINTSR  EQU CLOCK+16 INTERRUPT STATUS REGISTER
CINTCR  EQU CLOCK+17 INTERRUPT CONTROL REGISTER
CINTCR  EQU CLOCK+17 INTERRUPT CONTROL REGISTER
*
*
* COUNTER AND RAM RESETS; GO COMMAND.
* COUNTER AND RAM RESETS; GO COMMAND.
*
*
* The counter and comparitor may be reset
* The counter and comparitor may be reset
* by writing $FF into CTRRES and CMPRES
* by writing $FF into CTRRES and CMPRES
* respectivly.
* respectivly.
* A write to the Go command register (GOCMND)
* A write to the Go command register (GOCMND)
* will reset the 1/1000ths, 1/100ths and 1/10ths
* will reset the 1/1000ths, 1/100ths and 1/10ths
* of a second counter.
* of a second counter.
*
*
CTRRES EQU CLOCK+18 COUNTER RESET
CTRRES EQU CLOCK+18 COUNTER RESET
CMPRES EQU CLOCK+19 COMPARITOR RAM RESET
CMPRES EQU CLOCK+19 COMPARITOR RAM RESET
GOCMND EQU CLOCK+21 GO COMMAND
GOCMND EQU CLOCK+21 GO COMMAND
*
*
* CLOCK STATUS REGISTER.
* CLOCK STATUS REGISTER.
*
*
* The counter takes 61 usec. to rollover for
* The counter takes 61 usec. to rollover for
* every 1KHz clock pulse. If the Status bit is
* every 1KHz clock pulse. If the Status bit is
* set after reading the counter, the counter
* set after reading the counter, the counter
* should be re-read to ensure the time is correct.
* should be re-read to ensure the time is correct.
*
*
CLKSTA EQU CLOCK+20 STATUS BIT
CLKSTA EQU CLOCK+20 STATUS BIT
SBYINT EQU CLOCK+22 STANDBY INTERRUPT
SBYINT EQU CLOCK+22 STANDBY INTERRUPT
TSTMOD EQU CLOCK+31 TEST MODE REGISTER
TSTMOD EQU CLOCK+31 TEST MODE REGISTER
       ENDIF RTCOPT
       ENDIF RTCOPT
*
*
       IFD TRAOPT
       IFD TRAOPT
*
*
**************************************************
**************************************************
* PIA INTERRUPT TIMER
* PIA INTERRUPT TIMER
**************************************************
**************************************************
*
*
** PIA INTERRUPT TIMER SITS ON PORT 7
** PIA INTERRUPT TIMER SITS ON PORT 7
*
*
** PIA TIMER FOR SINGLE STEP / TRACE
** PIA TIMER FOR SINGLE STEP / TRACE
*
*
* TADATA = Output = Timer preset register
* TADATA = Output = Timer preset register
* TACTRL - CA1 = input = rising edge = NMI
* TACTRL - CA1 = input = rising edge = NMI
*        - CA2 = Output = Timer Reset (Active High)
*        - CA2 = Output = Timer Reset (Active High)
* TBDATA = Input = Timer read back register
* TBDATA = Input = Timer read back register
* TBCTRL - CB1 = input = rising edge = FIRQ
* TBCTRL - CB1 = input = rising edge = FIRQ
*        - CB2 = output = strobe low on write to TBDATA = Timer Preset
*        - CB2 = output = strobe low on write to TBDATA = Timer Preset
*
*
* CRA0 = 0 CA1 IRQ DISAB, CRA0 = 1 CA1 IRQ ENAB
* CRA0 = 0 CA1 IRQ DISAB, CRA0 = 1 CA1 IRQ ENAB
* CRA1 = 1 CA1 Rising edge IRQ
* CRA1 = 1 CA1 Rising edge IRQ
* CRA2 = 0 TADATA = Data Direction, CRA2 = 1 TADATA = I/O Register
* CRA2 = 0 TADATA = Data Direction, CRA2 = 1 TADATA = I/O Register
* CRA3 = 0 CA2 = 0 output, CRA3 = 1 CA2 = 1
* CRA3 = 0 CA2 = 0 output, CRA3 = 1 CA2 = 1
* CRA4 = 1 ] CA2 = Set/Reset output
* CRA4 = 1 ] CA2 = Set/Reset output
* CRA5 = 1 ]
* CRA5 = 1 ]
* CRA6 = X CA2 Input Interrupt Flag
* CRA6 = X CA2 Input Interrupt Flag
* CRA7 = X CA1 Interrupt Flag
* CRA7 = X CA1 Interrupt Flag
*
*
* CRB0 = 0 CB1 IRQ DISAB, CRB0 = 1 CA1 IRQ ENAB
* CRB0 = 0 CB1 IRQ DISAB, CRB0 = 1 CA1 IRQ ENAB
* CRB1 = 1 CB1 Rising edge IRQ
* CRB1 = 1 CB1 Rising edge IRQ
* CRB2 = 0 TBDATA = Data Direction, CRB2 = 1 TBDATA = I/O Register
* CRB2 = 0 TBDATA = Data Direction, CRB2 = 1 TBDATA = I/O Register
* CRB3 = 0 CB2 = 0 output, CRB3 = 1 CB2 = 1
* CRB3 = 0 CB2 = 0 output, CRB3 = 1 CB2 = 1
* CRB4 = 1 ] CB2 = Set/Reset output
* CRB4 = 1 ] CB2 = Set/Reset output
* CRB5 = 1 ]
* CRB5 = 1 ]
* CRB6 = X CB2 Input Interrupt Flag
* CRB6 = X CB2 Input Interrupt Flag
* CRB7 = X CB1 Interrupt Flag
* CRB7 = X CB1 Interrupt Flag
*
*
* DDRA = 0 TADATA = Input, DDRA = 1 TADATA = Output
* DDRA = 0 TADATA = Input, DDRA = 1 TADATA = Output
* DDRB = 0 TBDATA = Input, DDRB = 1 TBDATA = Output
* DDRB = 0 TBDATA = Input, DDRB = 1 TBDATA = Output
*
*
TADATA EQU MONIO+$70 Timer preset port
TADATA EQU MONIO+$70 Timer preset port
TACTRL EQU MONIO+$71
TACTRL EQU MONIO+$71
TBDATA EQU MONIO+$72 Timer read back port
TBDATA EQU MONIO+$72 Timer read back port
TBCTRL EQU MONIO+$73
TBCTRL EQU MONIO+$73
*
*
TRADEL EQU 13  Number of E cycles for RTI (May need to be fudged)
TRADEL EQU 13  Number of E cycles for RTI (May need to be fudged)
*
*
       ENDIF TRAOPT
       ENDIF TRAOPT
       IFD ADSOPT
       IFD ADSOPT
*
*
***************************************************
***************************************************
*   SERIAL PORT FOR DG640                         *
*   SERIAL PORT FOR DG640                         *
***************************************************
***************************************************
*
*
** SET UP FOR ACKERMAN DIGITAL ADS6809
** SET UP FOR ACKERMAN DIGITAL ADS6809
** THE ADS6809 S100 BOAD HAS AN ON BOARD ACIA
** THE ADS6809 S100 BOAD HAS AN ON BOARD ACIA
*
*
ACIAS   EQU   MONIO+$400   CONTROL PORT
ACIAS   EQU   MONIO+$400   CONTROL PORT
*
*
        ENDIF ADSOPT
        ENDIF ADSOPT
        IFD PRTOPT
        IFD PRTOPT
*
*
***************************************************
***************************************************
* PRINTER INTERFACE                               *
* PRINTER INTERFACE                               *
***************************************************
***************************************************
*
*
PADATA EQU MONIO+$404
PADATA EQU MONIO+$404
PACTRL EQU MONIO+$405
PACTRL EQU MONIO+$405
PBDATA EQU MONIO+$406
PBDATA EQU MONIO+$406
PBCTRL EQU MONIO+$407
PBCTRL EQU MONIO+$407
*
*
** CB1  ACK.  I/P
** CB1  ACK.  I/P
** CB2  STB.  O/P
** CB2  STB.  O/P
** PB0 - PB7   DATA 1 - 8   O/P
** PB0 - PB7   DATA 1 - 8   O/P
** PORT A BIT ASSIGNMENT
** PORT A BIT ASSIGNMENT
*
*
PBUSY  EQU $80 I/P
PBUSY  EQU $80 I/P
PEMPTY EQU $40 I/P
PEMPTY EQU $40 I/P
SELECT EQU $20 I/P
SELECT EQU $20 I/P
PERROR EQU $10 I/P
PERROR EQU $10 I/P
PRESET EQU %00000100 O/P PA3 = 0
PRESET EQU %00000100 O/P PA3 = 0
AUTOFD EQU %00001000 O/P PA2 = 0
AUTOFD EQU %00001000 O/P PA2 = 0
DIRMSK EQU %00001100
DIRMSK EQU %00001100
       ENDIF PRTOPT
       ENDIF PRTOPT
       IFD DG640OPT
       IFD DG640OPT
*
*
***************************************************
***************************************************
*   DG640 MEMORY MAPPED DISPLAY DRIVER VARIABLES  *
*   DG640 MEMORY MAPPED DISPLAY DRIVER VARIABLES  *
***************************************************
***************************************************
*
*
** VIDEO DISPLAY DEFINITIONS
** VIDEO DISPLAY DEFINITIONS
*
*
SCREEN  EQU   MONIO+$0800 START OF SCREEN MEMORY
SCREEN  EQU   MONIO+$0800 START OF SCREEN MEMORY
LINLEN  EQU   64          LENGTH OF A LINE
LINLEN  EQU   64          LENGTH OF A LINE
NUMLIN  EQU   16          NUMBER OF LINES
NUMLIN  EQU   16          NUMBER OF LINES
SCNLEN  EQU   $400        LENGTH OF SCREEN
SCNLEN  EQU   $400        LENGTH OF SCREEN
        ENDIF DG640OPT
        ENDIF DG640OPT
*
*
        IFD   DMAFOPT
        IFD   DMAFOPT
*
*
***************************************************
***************************************************
*   DMAF2 8" DRIVE                                *
*   DMAF2 8" DRIVE                                *
***************************************************
***************************************************
*
*
ADDREG  EQU   $F000  ADDRESS REGISTER
ADDREG  EQU   $F000  ADDRESS REGISTER
CNTREG  EQU   $F002  COUNT REGISTER
CNTREG  EQU   $F002  COUNT REGISTER
CCREG   EQU   $F010  CHANNEL CONTROL REGISTER
CCREG   EQU   $F010  CHANNEL CONTROL REGISTER
PRIREG  EQU   $F014  DMA PRIORITY REGISTER
PRIREG  EQU   $F014  DMA PRIORITY REGISTER
AAAREG  EQU   $F015  ???
AAAREG  EQU   $F015  ???
BBBREG  EQU   $F016  ???
BBBREG  EQU   $F016  ???
COMREG  EQU   $F020  1791 COMMAND REGISTER
COMREG  EQU   $F020  1791 COMMAND REGISTER
SECREG  EQU   $F022  SECTOR REGISTER
SECREG  EQU   $F022  SECTOR REGISTER
DRVREG  EQU   $F024  DRIVE SELECT LATCH
DRVREG  EQU   $F024  DRIVE SELECT LATCH
CCCREG  EQU   $F040  ???
CCCREG  EQU   $F040  ???
        ENDIF DMAFOPT
        ENDIF DMAFOPT
        IFD DATOPT
        IFD DATOPT
**************************************************
**************************************************
* DYNAMIC ADDRESS TRANSLATION REGISTERS          *
* DYNAMIC ADDRESS TRANSLATION REGISTERS          *
**************************************************
**************************************************
*
*
IC11    EQU  $FFF0  DAT RAM CHIP
IC11    EQU  $FFF0  DAT RAM CHIP
TSTPAT  EQU  $55AA  TEST PATTERN
TSTPAT  EQU  $55AA  TEST PATTERN
        ENDIF DATOPT
        ENDIF DATOPT
*
*
        END
        END
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2022 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.