memory.inc

     1:  .include "../basic/basic-memory.inc"
     2:  
     3:  ;lVICSCN         := $0400
     4:  ;lSPNTRN         := $07F8
     5:  
     6:  CARTRIDGE       := $A000
     7:  CART_RESET      := CARTRIDGE + 0
     8:  CART_NMI        := CARTRIDGE + 2
     9:  CART_MAGIC      := CARTRIDGE + 4
    10:  
    11:  
    12:  .include "../vic-i.inc"
    13:  
    14:  VIC             := $9000
    15:  .if 0
    16:  VIC_00          := VIC +  0
    17:  VIC_01          := VIC +  1
    18:  VIC_02          := VIC +  2
    19:  VIC_03          := VIC +  3
    20:  VIC_04          := VIC +  4
    21:  VIC_05          := VIC +  5
    22:  VIC_06          := VIC +  6
    23:  VIC_07          := VIC +  7
    24:  VIC_08          := VIC +  8
    25:  VIC_09          := VIC +  9
    26:  VIC_0A          := VIC + 10
    27:  VIC_0B          := VIC + 11
    28:  VIC_0C          := VIC + 12
    29:  VIC_0D          := VIC + 13
    30:  VIC_0E          := VIC + 14
    31:  VIC_0F          := VIC + 15
    32:  .endif
    33:  
    34:  .include "../via.inc"
    35:  
    36:  VIA1            := $9110
    37:  VIA1_PB         := VIA1 +  0
    38:  VIA1_PA         := VIA1 +  1
    39:  VIA1_DDRB       := VIA1 +  2
    40:  VIA1_DDRA       := VIA1 +  3
    41:  VIA1_T1CL       := VIA1 +  4
    42:  VIA1_T1CH       := VIA1 +  5
    43:  VIA1_T1CLL      := VIA1 +  6
    44:  VIA1_T1CHL      := VIA1 +  7
    45:  VIA1_T2CL       := VIA1 +  8
    46:  VIA1_T2CH       := VIA1 +  9
    47:  VIA1_SR         := VIA1 + 10
    48:  VIA1_ACR        := VIA1 + 11
    49:  VIA1_PCR        := VIA1 + 12
    50:  VIA1_IFR        := VIA1 + 13
    51:  VIA1_IEC        := VIA1 + 14
    52:  VIA1_PA_NO_HS   := VIA1 + 15
    53:  
    54:  VIA2            := $9120
    55:  VIA2_PB         := VIA2 +  0
    56:  VIA2_PA         := VIA2 +  1
    57:  VIA2_DDRB       := VIA2 +  2
    58:  VIA2_DDRA       := VIA2 +  3
    59:  VIA2_T1CL       := VIA2 +  4
    60:  VIA2_T1CH       := VIA2 +  5
    61:  VIA2_T1CLL      := VIA2 +  6
    62:  VIA2_T1CHL      := VIA2 +  7
    63:  VIA2_T2CL       := VIA2 +  8
    64:  VIA2_T2CH       := VIA2 +  9
    65:  VIA2_SR         := VIA2 + 10
    66:  VIA2_ACR        := VIA2 + 11
    67:  VIA2_PCR        := VIA2 + 12
    68:  VIA2_IFR        := VIA2 + 13
    69:  VIA2_IEC        := VIA2 + 14
    70:  VIA2_PA_NO_HS   := VIA2 + 15
    71:  
    72:  VIA2_PB_B_CASS_WRITE  := $04
    73:  ; CASS READ on CA1
    74:  VIA2_PB_B_JOY3        := $80
    75:  
    76:  VIA1_PA_B_IEC_CLK_IN  := $01
    77:  VIA1_PA_B_IEC_DATA_IN := $02
    78:  VIA1_PA_B_JOY0        := $04
    79:  VIA1_PA_B_JOY1        := $08
    80:  VIA1_PA_B_JOY2        := $10
    81:  VIA1_PA_B_LIGHTPEN    := $20
    82:  VIA1_PA_B_CASS_SWITCH := $40
    83:  VIA1_PA_B_IEC_ATN_OUT := $80
    84:  
    85:  VIA1_PB_B_0           := $01
    86:  VIA1_PB_B_1           := $02
    87:  VIA1_PB_B_2           := $04
    88:  VIA1_PB_B_3           := $08
    89:  VIA1_PB_B_4           := $10
    90:  VIA1_PB_B_5           := $20
    91:  VIA1_PB_B_6           := $40
    92:  VIA1_PB_B_7           := $80
    93:  
    94:  COLORRAM        := $9400
    95:  
    96:  IOBASE          := VIA1
    97:  
    98:  FILE_KEYBOARD := 0
    99:  FILE_TAPE     := 1
   100:  FILE_RS232    := 2
   101:  FILE_SCREEN   := 3
   102:  FILE_IEC      := 4
   103:  
   104:  KEY_SHIFTRUN  := $83
   105:  
   106:  IEC_REG         := VIA1_PA_NO_HS
   107:  ;IEC_DDR         := VIA1_DDRA
   108:  
   109:  IEC_B_ATN_OUT    := VIA1_PA_B_IEC_ATN_OUT
   110:  IEC_B_CLK_OUT    := $02
   111:  IEC_B_DATA_OUT   := $20
   112:  IEC_B_CLK_IN     := VIA1_PA_B_IEC_CLK_IN
   113:  IEC_B_DATA_IN    := VIA1_PA_B_IEC_DATA_IN
   114:  
   115:  IEC_REG_ATN_OUT       := VIA1_PA_NO_HS
   116:  IEC_REG_DATA_CLK_OUT  := VIA2_PCR
   117:  IEC_REG_DATA_CLK_IN   := VIA1_PA_NO_HS
   118:  
   119:  IEC_TIMER_LO            := VIA2_T2CL
   120:  IEC_TIMER_HI            := VIA2_T2CH
   121:  
   122:  IEC_TIMER_FLAG_REG      := VIA2_IFR
   123:  IEC_TIMER_FLAG_B        := $20
   124:  
   125:  TAPE_REG                := VIA1_PA_NO_HS
   126:  TAPE_DDR                := VIA1_DDRA
   127:  TAPE_B_WRITE            := $08
   128:  TAPE_B_SENSE            := $40
   129:  TAPE_B_MOTOR_ON         := $02
   130:  TAPE_B_MOTOR_ON_ALL     := $0E
   131:  TAPE_B_MOTOR_OFF_AND    := $FD
   132:  TAPE_B_MOTOR_OFF_OR     := $0C
   133:  
   134:  TAPE_REG_WRITE          := VIA2_PB
   135:  TAPE_REG_SENSE          := VIA1_PA_NO_HS
   136:  TAPE_REG_MOTOR          := VIA1_PCR
   137:  TAPE_REG_ICR            := VIA2_IEC
   138:  TAPE_REG_ICR_B_CLEARALL := VIA_IER_BW_UNSET | $7F
   139:  TAPE_REG_ICR_B_CASSREAD := VIA_IER_BW_SET | VIA_IER_B_CA1
   140:  TAPE_REG_ICR_B_WR_TIMER := VIA_IER_BW_SET | VIA_IER_B_T2
   141:  TAPE_REG_ICR_B_SET_3    := VIA_IER_BW_SET | VIA_IER_B_T1
   142:  TAPE_REG_ICR_B_UNSET_3  := VIA_IER_BW_UNSET | VIA_IER_B_T1
   143:  
   144:  TAPE_TIMER1_LO          := VIA2_T2CL
   145:  TAPE_TIMER1_HI          := VIA2_T2CH
   146:  TAPE_TIMER2_LO          := VIA2_T1CL
   147:  TAPE_TIMER2_HI          := VIA2_T1CH
   148:  TAPE_TIMER1_CONST       := $15
   149:  
   150:  KEYB_ROW                := VIA2_PB
   151:  KEYB_COL                := VIA2_PA
   152:  KEYB_COL_FOR_STOP       := VIA2_PA_NO_HS
   153:  
   154:  KEYB_ROW_CTRL           := $FB
   155:  KEYB_COL_CTRL           := $FE
   156:  KEYB_ROW_STOP           := $F7
   157:  KEYB_ROW_STANDARD       := $F7
   158:  KEYB_CHECK_STOP         := $FE
   159:  
   160:  RS232_REG_1             := VIA1_PB
   161:  RS232_REG_2             := VIA2_PB
   162:  RS232_TIMER_LO          := VIA1_T1CL
   163:  RS232_TIMER_HI          := VIA1_T1CH
Valid XHTML 1.0 Strict
memory.inc.html; generated on Fri Sep 18 21:44:54 2015 by ca65html
uz@cc65.org