From d52af69d6914b66966cf35e65639537117b9eb76 Mon Sep 17 00:00:00 2001 From: Bill Kendrick Date: Mon, 14 Jan 2019 20:47:05 -0800 Subject: [PATCH] Adjustments per most feedback on cc65 PR 831 (I appreciate the feedback!) --- include/_antic.h | 10 ++++------ include/_pia.h | 37 +++++++++++++++++++++---------------- include/_pokey.h | 12 ++++++------ include/atari.h | 2 +- 4 files changed, 32 insertions(+), 29 deletions(-) diff --git a/include/_antic.h b/include/_antic.h index 291a3e57c..8fd99694e 100644 --- a/include/_antic.h +++ b/include/_antic.h @@ -66,10 +66,12 @@ struct __antic { /* Inverted (upside-down) characters */ #define CHACTL_CHAR_NORMAL 0x00 #define CHACTL_CHAR_INVERTED 0x04 + /* Inverse (reverse-video) characters */ #define CHACTL_INV_TRANS 0x00 /* chars with high-bit shown */ #define CHACTL_INV_OPAQUE 0x01 /* chars with high-bit appear as space */ #define CHACTL_INV_PRESENT 0x02 /* chars with high-bit are reverse-video */ + /* N.B. Default is "CHACTL_CHAR_NORMAL | CHACTL_INV_PRESENT", aka decimal 2 */ @@ -161,15 +163,11 @@ struct __antic { /* Modifiers to mode lines */ #define DL_HSCROL(x) ((unsigned char)((x) | 16)) /* enable smooth horizontal scrolling on this line; see HSCROL */ #define DL_VSCROL(x) ((unsigned char)((x) | 32)) /* enable smooth vertical scrolling on this line; see VSCROL */ -#define DL_LMS(x) ((unsigned char)((x) | 64)) /* Load Memory Scan (next two bytes must be the LSB/MSB of the data to load */ +#define DL_LMS(x) ((unsigned char)((x) | 64)) /* Load Memory Scan (next two bytes must be the LSB/MSB of the data to load) */ /* General modifier */ -#define DL_DLI(x) ((unsigned char)((x) | 128)) /* enable Display List Interrupt on this mode line; requires NMIEN set to enable DLIs */ - +#define DL_DLI(x) ((unsigned char)((x) | 128)) /* enable Display List Interrupt on this mode line; requires NMIEN be set to enable DLIs */ -/* Macros for the beginning and end of functions used as Display List Interrupts */ -#define DLI_START asm("pha"); asm("txa"); asm("pha"); asm("tya"); asm("pha"); -#define DLI_END asm("pla"); asm("tay"); asm("pla"); asm("tax"); asm("pla"); asm("rti"); /* End of _antic.h */ #endif /* #ifndef __ANTIC_H */ diff --git a/include/_pia.h b/include/_pia.h index bd4f7c8ba..22016f3a5 100644 --- a/include/_pia.h +++ b/include/_pia.h @@ -42,6 +42,7 @@ /* Define a structure with the PIA register offsets */ struct __pia { unsigned char porta; /* port A data r/w */ + /* Paddle 0-3 triggers (per PORTA bits) */ #define PORTA_PTRIG3 0x80 #define PORTA_PTRIG2 0x40 @@ -50,34 +51,38 @@ struct __pia { unsigned char portb; /* port B data r/w */ + /* Paddle 4-7 triggers (per PORTB bits); only 400/800 had four controller ports */ #define PORTB_PTRIG7 0x80 #define PORTB_PTRIG6 0x40 #define PORTB_PTRIG5 0x08 #define PORTB_PTRIG4 0x04 - /* See also: "JOY_xxx_MASK" in "atari.h" */ +/* See also: "JOY_xxx_MASK" in "atari.h" */ + unsigned char pactl; /* port A control */ unsigned char pbctl; /* port B control */ -#define PxCTL_IRQ_ENABLE 0x01 /* (W) Peripheral A interrupt (IRQ) enable. */ - /* One equals enable. Set by the OS but available to the user; - reset on powerup. */ -#define PxCTL_BIT1 0x02 /* "Set to zero" */ -#define PxCTL_ADDRESSING 0x04 /* (W) Controls PORTA addressing */ - /* One equals PORTA register; zero equals direction control register */ -#define PACTL_MOTOR_CONTROL 0x08 /* (W) Peripheral motor control line (turn the cassette on - or off; zero equals on) */ -#define PBCTL_PERIPH_CMD_IDENT 0x08 /* Peripheral command identification (serial bus command) */ -#define PxCTL_BIT4 0x10 /* "Set to one" */ -#define PxCTL_BIT5 0x20 /* "Set to one" */ -#define PxCTL_BIT6 0x40 /* "Set to zero" */ -#define PxCTL_IRQ_STATUS 0x80 /* Peripheral interrupt (IRQ) status bit. */ - /* Set by Peripherals (PORTA / PORTB). Reset by reading PORTA / PORTB*/ -}; +#define PxCTL_IRQ_ENABLE 0x01 /* (W) Peripheral A interrupt (IRQ) enable. */ +/* One equals enable. Set by the OS but available to the user; reset on powerup. */ +#define PxCTL_BIT1 0x02 /* "Set to zero" */ +#define PxCTL_ADDRESSING 0x04 /* (W) Controls PORTA addressing */ +/* One equals PORTA register; zero equals direction control register */ + +#define PACTL_MOTOR_CONTROL 0x08 /* (W) Peripheral motor control line */ +/* Turn the cassette on or off; zero equals on) */ + +#define PBCTL_PERIPH_CMD_IDENT 0x08 /* Peripheral command identification (serial bus command) */ + +#define PxCTL_BIT4 0x10 /* "Set to one" */ +#define PxCTL_BIT5 0x20 /* "Set to one" */ +#define PxCTL_BIT6 0x40 /* "Set to zero" */ +#define PxCTL_IRQ_STATUS 0x80 /* Peripheral interrupt (IRQ) status bit. */ +/* Set by Peripherals (PORTA / PORTB). Reset by reading PORTA / PORTB. */ +}; /* End of _pia.h */ #endif diff --git a/include/_pokey.h b/include/_pokey.h index 5cbf11f68..4a7643eb5 100644 --- a/include/_pokey.h +++ b/include/_pokey.h @@ -70,14 +70,14 @@ struct __pokey_write { unsigned char audctl; /* audio control */ -#define AUDCTL_CLOCKBASE_15HZ 0x01 /* Switch main clock base from 64 KHz to 15 KHz */ -#define AUDCTL_HIGHPASS_CHAN2 0x02 /* Insert high pass filter into channel two, clocked by channel four */ -#define AUDCTL_HIGHPASS_CHAN1 0x04 /* Insert high pass filter into channel one, clocked by channel two */ -#define AUDCTL_JOIN_CHAN34 0x08 /* Join channels four and three (16 bit) */ -#define AUDCTL_JOIN_CHAN12 0x10 /* Join channels two and one (16 bit) */ +#define AUDCTL_CLOCKBASE_15HZ 0x01 /* Switch main clock base from 64 KHz to 15 KHz */ +#define AUDCTL_HIGHPASS_CHAN2 0x02 /* Insert high pass filter into channel two, clocked by channel four */ +#define AUDCTL_HIGHPASS_CHAN1 0x04 /* Insert high pass filter into channel one, clocked by channel two */ +#define AUDCTL_JOIN_CHAN34 0x08 /* Join channels four and three (16 bit) */ +#define AUDCTL_JOIN_CHAN12 0x10 /* Join channels two and one (16 bit) */ #define AUDCTL_CLOCK_CHAN3_179MHZ 0x20 /* Clock channel three with 1.79 MHz */ #define AUDCTL_CLOCK_CHAN1_179MHZ 0x40 /* Clock channel one with 1.79 MHz */ -#define AUDCTL_9BIT_POLY 0x80 /* Makes the 17 bit poly counter into nine bit poly (see also: RANDOM) */ +#define AUDCTL_9BIT_POLY 0x80 /* Makes the 17 bit poly counter into nine bit poly (see also: RANDOM) */ unsigned char stimer; /* start pokey timers */ diff --git a/include/atari.h b/include/atari.h index 25dcfa092..f9c78be0c 100644 --- a/include/atari.h +++ b/include/atari.h @@ -93,7 +93,7 @@ /* luminance values go from 0 (black) to 7 (white) */ -/* hue values (these can vary depending on TV standard (NTSC vs PAL), tint potentiometer settings, TV tint settings, emulator palette, etc. */ +/* hue values (these can vary depending on TV standard (NTSC vs PAL), tint potentiometer settings, TV tint settings, emulator palette, etc.) */ #define HUE_GREY 0 #define HUE_GOLD 1 #define HUE_GOLDORANGE 2 -- 2.39.5