]> git.sur5r.net Git - cc65/blobdiff - include/cbm510.h
Merge pull request #3 from greg-king5/ctype
[cc65] / include / cbm510.h
index 3755ade92ebc485d24ed9eb7b6335b1789c9f0bf..1ced386b71b499ec8378574331e1009c732927b6 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2001-2002 Ullrich von Bassewitz                                       */
-/*               Wacholderweg 14                                             */
-/*               D-70597 Stuttgart                                           */
-/* EMail:        uz@musoftware.de                                            */
+/* (C) 2001-2009, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 
+/*****************************************************************************/
+/*                                   Data                                   */
+/*****************************************************************************/
+
+
+
 /* Additional key defines */
 #define CH_F1                  224
 #define CH_F2                  225
@@ -67,8 +73,6 @@
 #define CH_F19                 242
 #define CH_F20                 243
 
-
-
 /* Color defines */
 #define COLOR_BLACK            0x00
 #define COLOR_WHITE            0x01
 #define COLOR_LIGHTBLUE        0x0E
 #define COLOR_GRAY3            0x0F
 
-
-
-/* Special routines to read/write bytes and words in the system bank */
-unsigned char __fastcall__ peekbsys (unsigned addr);
-unsigned __fastcall__ peekwsys (unsigned addr);
-void __fastcall__ pokebsys (unsigned addr, unsigned char val);
-void __fastcall__ pokewsys (unsigned addr, unsigned val);
-
-#if defined(__OPT_i__) && defined(__OPT_s__)
-#define peekbsys(addr)          \
-        __AX__ = (addr),        \
-        asm ("sta ptr1"),       \
-        asm ("stx ptr1+1"),     \
-        asm ("ldx $01"),        \
-        asm ("lda #$0F"),       \
-        asm ("sta $01"),        \
-        asm ("ldy #$00"),       \
-        asm ("lda (ptr1),y"),   \
-        asm ("stx $01"),        \
-        asm ("ldx #$00"),       \
-        __AX__
-#endif
-
-
-
 /* Define hardware */
 #include <_vic2.h>
 #define VIC            (*(struct __vic2*)0xD800)
@@ -121,7 +100,7 @@ void __fastcall__ pokewsys (unsigned addr, unsigned val);
 #define        SID     (*(struct __sid*)0xDA00)
 
 #include <_6526.h>
-#define CIA    (*(struct __cia*)0xDC00)
+#define CIA    (*(struct __6526*)0xDC00)
 
 #include <_6551.h>
 #define ACIA   (*(struct __6551*)0xDD00)
@@ -132,6 +111,48 @@ void __fastcall__ pokewsys (unsigned addr, unsigned val);
 
 
 
+/*****************************************************************************/
+/*                                 Variables                                 */
+/*****************************************************************************/
+
+
+
+/* The addresses of the static drivers */
+extern void cbm510_ram[];
+extern void cbm510_stdjoy[];   /* Referred to by joy_static_stddrv[] */
+extern void cbm510_stdser[];
+
+
+
+/*****************************************************************************/
+/*                                   Code                                   */
+/*****************************************************************************/
+
+
+
+/* Special routines to read/write bytes and words in the system bank */
+unsigned char __fastcall__ peekbsys (unsigned addr);
+unsigned __fastcall__ peekwsys (unsigned addr);
+void __fastcall__ pokebsys (unsigned addr, unsigned char val);
+void __fastcall__ pokewsys (unsigned addr, unsigned val);
+
+#if defined(__OPT_i__) && (__OPT_i__ >= 600)
+#define peekbsys(addr)                  \
+        __AX__ = (addr),                \
+        __asm__ ("sta ptr1"),           \
+        __asm__ ("stx ptr1+1"),         \
+        __asm__ ("ldx $01"),            \
+        __asm__ ("lda #$0F"),           \
+        __asm__ ("sta $01"),            \
+        __asm__ ("ldy #$00"),           \
+        __asm__ ("lda (ptr1),y"),       \
+        __asm__ ("stx $01"),            \
+        __asm__ ("ldx #$00"),           \
+        __AX__
+#endif
+
+
+
 /* End of cbm510.h */
 #endif