]> git.sur5r.net Git - cc65/blob - asminc/cbm_kernal.inc
Merge pull request #849 from polluks/patch-4
[cc65] / asminc / cbm_kernal.inc
1 ;
2 ; Olli Savia <ops@iki.fi>
3 ;
4 ; Commodore kernal functions
5 ;
6
7 .if .def(__C128__)
8   ; C128 Extended jump table
9   C64MODE      := $FF4D
10   SWAPPER      := $FF5F
11   SETBNK       := $FF68
12 .endif
13
14 .if .def(__C64__) || .def(__C128__) || .def(__C16__)
15   CINT         := $FF81
16   IOINIT       := $FF84
17   RAMTAS       := $FF87
18 .elseif .def(__VIC20__)
19   CINT         := $E518         ; No entries are in the kernal jump table of the Vic20 for these three (3) functions.
20   IOINIT       := $FDF9         ; The entries for these functions have been set to point directly to the functions
21   RAMTAS       := $FD8D         ; in the kernal to maintain compatibility with the other Commodore platforms.
22 .elseif .def(__CBM510__) || .def(__CBM610__)
23   IOINIT       := $FF7B
24   CINT         := $FF7E
25 .endif
26
27 .if .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__)
28   RESTOR       := $FF8A
29   VECTOR       := $FF8D
30 .elseif .def(__CBM510__) || .def(__CBM610__)
31   VECTOR       := $FF84
32   RESTOR       := $FF87
33 .endif
34
35 .if .def(__CBM510__) || .def(__CBM610__) || .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__)
36   SETMSG       := $FF90
37   SECOND       := $FF93
38   TKSA         := $FF96
39   MEMTOP       := $FF99
40   MEMBOT       := $FF9C
41   SCNKEY       := $FF9F
42   SETTMO       := $FFA2
43   ACPTR        := $FFA5
44   CIOUT        := $FFA8
45   UNTLK        := $FFAB
46   UNLSN        := $FFAE
47   LISTEN       := $FFB1
48   TALK         := $FFB4
49   READST       := $FFB7
50   SETLFS       := $FFBA
51   SETNAM       := $FFBD
52   OPEN         := $FFC0
53   CLOSE        := $FFC3
54 .endif
55
56 ; Available on all platforms including PET
57 CHKIN          := $FFC6
58 CKOUT          := $FFC9
59 CHKOUT         := $FFC9
60 CLRCH          := $FFCC
61 CLRCHN         := $FFCC
62 BASIN          := $FFCF
63 CHRIN          := $FFCF
64 BSOUT          := $FFD2
65 CHROUT         := $FFD2
66
67 .if .def(__CBM510__) || .def(__CBM610__) || .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__)
68   LOAD         := $FFD5
69   SAVE         := $FFD8
70   SETTIM       := $FFDB
71   RDTIM        := $FFDE
72 .endif
73
74 ; Available on all platforms including PET
75 STOP           := $FFE1
76 GETIN          := $FFE4
77 CLALL          := $FFE7
78 UDTIM          := $FFEA
79
80 .if .def(__CBM510__) || .def(__CBM610__) || .def(__VIC20__) || .def(__C64__) || .def(__C128__) || .def(__C16__)
81   SCREEN       := $FFED
82   PLOT         := $FFF0
83   IOBASE       := $FFF3
84 .endif
85
86 ; ---------------------------------------------------------------------------
87 ; Kernal routines, direct entries
88
89 .if .def(__VIC20__)
90   CLRSCR       := $E55F
91   KBDREAD      := $E5CF
92 .elseif .def(__C64__)
93   CLRSCR       := $E544
94   KBDREAD      := $E5B4
95   NMIEXIT      := $FEBC
96 .elseif .def(__C128__)
97   CLRSCR       := $C142
98   KBDREAD      := $C006
99   NMIEXIT      := $FF33
100   NEWLINE      := $C363
101   PRINT        := $C322
102   CURS_SET     := $CD57
103   CURS_ON      := $CD6F
104   CURS_OFF     := $CD9F
105   INDFET       := $FF74
106 .elseif .def(__C16__)
107   CLRSCR       := $D88B
108   KBDREAD      := $D8C1
109 .endif