memory.inc
1: .include "../basic/basic-memory.inc"
2:
3:
4:
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:
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:
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

memory.inc.html; generated on Fri Sep 18 21:44:54 2015 by ca65html
uz@cc65.org