X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fcbm610.h;h=d523552097642cfd037b652b2baadb180419cb52;hb=4e18dad55a21955e811ecca92aa4e39323f64a6b;hp=416bcfa4bdce12cb2f0b7662b99ae18ef76963b9;hpb=3dc0fb59bc1b5a80202fd2d03c3e39ebebfc0773;p=cc65 diff --git a/include/cbm610.h b/include/cbm610.h index 416bcfa4b..d52355209 100644 --- a/include/cbm610.h +++ b/include/cbm610.h @@ -1,15 +1,15 @@ /*****************************************************************************/ /* */ -/* cbm610.h */ +/* cbm610.h */ /* */ -/* CBM610 system specific definitions */ +/* CBM610 system specific definitions */ /* */ /* */ /* */ -/* (C) 1998-2001 Ullrich von Bassewitz */ -/* Wacholderweg 14 */ -/* D-70597 Stuttgart */ -/* EMail: uz@musoftware.de */ +/* (C) 1998-2009, Ullrich von Bassewitz */ +/* Roemerstrasse 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ /* */ /* */ /* This software is provided 'as-is', without any expressed or implied */ @@ -45,60 +45,93 @@ -/* Additional key defines */ -#define CH_F1 224 -#define CH_F2 225 -#define CH_F3 226 -#define CH_F4 227 -#define CH_F5 228 -#define CH_F6 229 -#define CH_F7 230 -#define CH_F8 231 -#define CH_F9 232 -#define CH_F10 233 -#define CH_F11 234 -#define CH_F12 235 -#define CH_F13 236 -#define CH_F14 237 -#define CH_F15 238 -#define CH_F16 239 -#define CH_F17 240 -#define CH_F18 241 -#define CH_F19 242 -#define CH_F20 243 - - - -/* Color defines */ -#define COLOR_BLACK 0x00 -#define COLOR_WHITE 0x01 - +/*****************************************************************************/ +/* Data */ +/*****************************************************************************/ -/* Special routines to 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); +/* Additional key defines */ +#define CH_F1 224 +#define CH_F2 225 +#define CH_F3 226 +#define CH_F4 227 +#define CH_F5 228 +#define CH_F6 229 +#define CH_F7 230 +#define CH_F8 231 +#define CH_F9 232 +#define CH_F10 233 +#define CH_F11 234 +#define CH_F12 235 +#define CH_F13 236 +#define CH_F14 237 +#define CH_F15 238 +#define CH_F16 239 +#define CH_F17 240 +#define CH_F18 241 +#define CH_F19 242 +#define CH_F20 243 +/* Color defines */ +#define COLOR_BLACK 0x00 +#define COLOR_WHITE 0x01 /* Define hardware */ #include <_6545.h> -#define CRTC (*(struct __6545)0xD800) +#define CRTC (*(struct __6545)0xD800) #include <_sid.h> -#define SID (*(struct __sid*)0xDA00) +#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) +#define ACIA (*(struct __6551*)0xDD00) #include <_6525.h> -#define TPI1 (*(struct __6525*)0xDE00) -#define TPI2 (*(struct __6525*)0xDF00) +#define TPI1 (*(struct __6525*)0xDE00) +#define TPI2 (*(struct __6525*)0xDF00) + + + +/*****************************************************************************/ +/* 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 + + + +/* The following #defines will cause the matching functions calls in conio.h + * to be overlaid by macros with the same names, saving the function call + * overhead. + */ +#define _textcolor(color) COLOR_WHITE +#define _bgcolor(color) COLOR_BLACK +#define _bordercolor(color) COLOR_BLACK