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