]> git.sur5r.net Git - cc65/blob - asminc/cbm610.inc
Merge branch 'master' into c1p
[cc65] / asminc / cbm610.inc
1 ;
2 ; Zero page variables and I/O definitions for the CBM 610
3 ;
4 ; Taken from a kernal disassembly done by myself in 1987.
5 ;
6 ; 1998-09-28, Ullrich von Bassewitz
7 ; 2013-08-26, Greg King
8
9
10 ; ---------------------------------------------------------------------------
11 ; Zeropage stuff
12
13 ExecReg         := $00          ; Controls execution memory bank
14 IndReg          := $01          ; Controls indirect indexed load-store bank
15
16 TXTPTR          := $85          ; Far pointer into BASIC source code
17
18 ; ---------------------------------------------------------------------------
19 ; Screen size
20
21 XSIZE           = 80
22 YSIZE           = 25
23
24 ; ---------------------------------------------------------------------------
25 ; I/O definitions
26
27
28 ; I/O  $d800: CRTC 6545
29
30 .struct CRTC
31         ADDR    .byte
32         DATA    .byte
33 .endstruct
34
35
36 ; I/O  $db00: CIA 6526, Inter Process Communication
37 ;
38 ;       IPCcia          =       $db00
39
40 .struct CIA
41         PRA     .byte
42         PRB     .byte
43         DDRA    .byte
44         DDRB    .byte
45         .union
46             .struct
47                 TALO    .byte
48                 TAHI    .byte
49             .endstruct
50             TA          .word
51         .endunion
52         .union
53             .struct
54                 TBLO    .byte
55                 TBHI    .byte
56             .endstruct
57             TB          .word
58         .endunion
59         TOD10   .byte
60         TODSEC  .byte
61         TODMIN  .byte
62         TODHR   .byte
63         SDR     .byte
64         ICR     .byte
65         CRA     .byte
66         CRB     .byte
67 .endstruct
68
69
70 ; I/O  $dc00: CIA 6526
71 ;
72 ;       cia             =       $dc00
73
74
75 ; I/O  $dd00: ACIA 6551
76 ;
77 ;       acia            =       $dd00
78
79 .struct ACIA
80         DATA    .byte
81         STATUS  .byte
82         CMD     .byte
83         CTRL    .BYTE
84 .endstruct
85
86
87 ; I/O  $de00: Triport #1 6525
88 ;
89 ;       tpi1            =       $de00
90
91 .struct TPI
92         PRA     .byte
93         PRB     .byte
94         .union
95                 PRC     .byte
96                 INT     .byte
97         .endunion
98         DDRA    .byte
99         DDRB    .byte
100         .union
101                 DDRC    .byte
102                 IMR     .byte
103         .endunion
104         CR      .byte
105         AIR     .byte
106 .endstruct
107
108
109 ; I/O  $df00: Triport #2 6525
110
111 ;       tpi2            =       $df00
112
113
114 ;-----------------------------------------------------------------------------
115
116 BASIC_BUF       := $FA5E        ; Bank 1 location of command-line
117 BASIC_BUF_LEN   = 162           ; Maximum length of command-line