memory.inc
1: .include "../basic/basic-memory.inc"
2:
3: .segment "C6510_ZP": zeropage
4:
5: zD6510: .res 1
6: zR6510: .res 1
7:
8: lVICSCN := $0400
9: lSPNTRN := $07F8
10:
11: CARTRIDGE := $8000
12: CART_RESET := CARTRIDGE + 0
13: CART_NMI := CARTRIDGE + 2
14: CART_MAGIC := CARTRIDGE + 4
15:
16: .include "../vic-ii.inc"
17:
18: VIC := $D000
19:
20: .include "../sid.inc"
21:
22: SID := $D400
23:
24: COLORRAM := $D800
25:
26: .include "../cia.inc"
27:
28: CIA1 := $DC00
29:
30: CIA2 := $DD00
31:
32: CIA2_PA_B_VA14 := $01
33: CIA2_PA_B_VA15 := $02
34: CIA2_PA_B_RS232_TXD := $04
35: CIA2_PA_B_IEC_ATN_OUT := $08
36: CIA2_PA_B_IEC_CLK_OUT := $10
37: CIA2_PA_B_IEC_DATA_OUT := $20
38: CIA2_PA_B_IEC_CLK_IN := $40
39: CIA2_PA_B_IEC_DATA_IN := $80
40:
41: CIA2_PB_B_RS232_RXD := $01
42: CIA2_PB_B_RS232_RTS := $02
43: CIA2_PB_B_RS232_DTR := $04
44: CIA2_PB_B_RS232_RING := $08
45: CIA2_PB_B_RS232_DCD := $10
46: CIA2_PB_B_RS232_PB5 := $20
47: CIA2_PB_B_RS232_CTS := $40
48: CIA2_PB_B_RS232_DSR := $80
49:
50:
51: P6510_B_LORAM := $01
52: P6510_B_HIRAM := $02
53: P6510_B_CHAREN := $04
54: P6510_B_CASS_WRITE := $08
55: P6510_B_CASS_SENSE := $10
56: P6510_B_CASS_MOTOR := $20
57: P6510_B_UNUSED := $C0
58:
59: P6510_B_MASK := ~ P6510_B_UNUSED
60:
61: IOBASE := CIA1
62:
63: FILE_KEYBOARD := 0
64: FILE_TAPE := 1
65: FILE_RS232 := 2
66: FILE_SCREEN := 3
67: FILE_IEC := 4
68:
69: KEY_SHIFTRUN := $83
70:
71: IEC_REG := CIA2 + CIA_O_PA
72: IEC_DDR := CIA2 + CIA_O_DDRA
73:
74: IEC_B_ATN_OUT := CIA2_PA_B_IEC_ATN_OUT
75: IEC_B_CLK_OUT := CIA2_PA_B_IEC_CLK_OUT
76: IEC_B_DATA_OUT := CIA2_PA_B_IEC_DATA_OUT
77: IEC_B_CLK_IN := CIA2_PA_B_IEC_CLK_IN
78: IEC_B_DATA_IN := CIA2_PA_B_IEC_DATA_IN
79:
80: IEC_REG_ATN_OUT := CIA2 + CIA_O_PA
81: IEC_REG_DATA_CLK_OUT := CIA2 + CIA_O_PA
82: IEC_REG_DATA_CLK_IN := CIA2 + CIA_O_PA
83:
84: IEC_TIMER_LO := CIA1 + CIA_O_TBLO
85: IEC_TIMER_HI := CIA1 + CIA_O_TBHI
86:
87: IEC_TIMER_FLAG_REG := CIA1 + CIA_O_ICR
88: IEC_TIMER_FLAG_B := CIA_ICR_B_TB
89:
90: TAPE_REG := zR6510
91: TAPE_DDR := zD6510
92: TAPE_B_WRITE := P6510_B_CASS_WRITE
93: TAPE_B_SENSE := P6510_B_CASS_SENSE
94: TAPE_B_MOTOR_ON_ALL := P6510_B_CASS_MOTOR
95: TAPE_B_MOTOR_ON := P6510_B_CASS_MOTOR
96: TAPE_B_MOTOR_OFF_AND := ~ P6510_B_CASS_MOTOR & P6510_B_MASK
97:
98: TAPE_REG_WRITE := zR6510
99: TAPE_REG_SENSE := zR6510
100: TAPE_REG_MOTOR := zR6510
101: TAPE_REG_ICR := CIA1 + CIA_O_ICR
102: TAPE_REG_ICR_B_CLEARALL := CIA_ICR_BW_UNSET | $7F
103: TAPE_REG_ICR_B_CASSREAD := CIA_ICR_BW_SET | CIA_ICR_B_FLAG
104: TAPE_REG_ICR_B_WR_TIMER := CIA_ICR_BW_SET | CIA_ICR_B_TB
105: TAPE_REG_ICR_B_SET_3 := CIA_ICR_BW_SET | CIA_ICR_B_TA
106: TAPE_REG_ICR_B_UNSET_3 := CIA_ICR_BW_UNSET | CIA_ICR_B_TA
107:
108: TAPE_TIMER1_LO := CIA1 + CIA_O_TBLO
109: TAPE_TIMER1_HI := CIA1 + CIA_O_TBHI
110: TAPE_TIMER2_LO := CIA1 + CIA_O_TALO
111: TAPE_TIMER2_HI := CIA1 + CIA_O_TAHI
112: TAPE_TIMER1_CONST := $16
113:
114: KEYB_ROW := CIA1 + CIA_O_PA
115: KEYB_COL := CIA1 + CIA_O_PB
116: KEYB_COL_FOR_STOP := KEYB_COL
117:
118: KEYB_ROW_CTRL := $7F
119: KEYB_COL_CTRL := $FB
120: KEYB_ROW_STOP := $BD
121: KEYB_ROW_STANDARD := $7F
122: KEYB_CHECK_STOP := $7F
123:
124: RS232_TXD_REG := CIA2 + CIA_O_PA
125: RS232_TXD_BIT := CIA2_PA_B_RS232_TXD
126:
127: RS232_REG_1 := CIA2 + CIA_O_PB
128: RS232_REG_2 := CIA2 + CIA_O_PB
129: RS232_TIMER_LO := CIA2 + CIA_O_TALO
130: RS232_TIMER_HI := CIA2 + CIA_O_TAHI

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