mirror of
https://github.com/cc65/cc65.git
synced 2025-01-01 03:30:20 +00:00
Merge pull request #229 from greg-king5/nes-registers
Update the <nes.h> include file.
This commit is contained in:
commit
b6f429f934
@ -100,6 +100,63 @@
|
||||
#define KEY_LEFT 0x40
|
||||
#define KEY_RIGHT 0x80
|
||||
|
||||
/* Define hardware */
|
||||
|
||||
/* Picture Processing Unit */
|
||||
struct __ppu {
|
||||
unsigned char control;
|
||||
unsigned char mask; /* color; show sprites, background */
|
||||
signed char volatile const status;
|
||||
struct {
|
||||
unsigned char address;
|
||||
unsigned char data;
|
||||
} sprite;
|
||||
unsigned char scroll;
|
||||
struct {
|
||||
unsigned char address;
|
||||
unsigned char data;
|
||||
} vram;
|
||||
};
|
||||
#define PPU (*(struct __ppu*)0x2000)
|
||||
#define SPRITE_DMA (APU.sprite.dma)
|
||||
|
||||
/* Audio Processing Unit */
|
||||
struct __apu {
|
||||
struct {
|
||||
unsigned char control; /* duty, counter halt, volume/envelope */
|
||||
unsigned char ramp;
|
||||
unsigned char period_low; /* timing */
|
||||
unsigned char len_period_high; /* length, timing */
|
||||
} pulse[2];
|
||||
struct {
|
||||
unsigned char counter; /* counter halt, linear counter */
|
||||
unsigned char unused;
|
||||
unsigned char period_low; /* timing */
|
||||
unsigned char len_period_high; /* length, timing */
|
||||
} triangle;
|
||||
struct {
|
||||
unsigned char control; /* counter halt, volume/envelope */
|
||||
unsigned char unused;
|
||||
unsigned char period; /* loop, timing */
|
||||
unsigned char len; /* length */
|
||||
} noise;
|
||||
struct {
|
||||
unsigned char control; /* IRQ, loop, rate */
|
||||
unsigned char output; /* output value */
|
||||
unsigned char address;
|
||||
unsigned char length;
|
||||
} delta_mod; /* delta pulse-code modulation */
|
||||
struct {
|
||||
unsigned char dma;
|
||||
} sprite;
|
||||
signed char volatile status;
|
||||
unsigned char unused;
|
||||
unsigned char fcontrol;
|
||||
};
|
||||
#define APU (*(struct __apu*)0x4000)
|
||||
|
||||
#define JOYPAD ((unsigned char volatile const[2])0x4016)
|
||||
|
||||
/* The addresses of the static drivers */
|
||||
extern void nes_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */
|
||||
extern void nes_64_56_2_tgi[]; /* Referred to by tgi_static_stddrv[] */
|
||||
|
Loading…
Reference in New Issue
Block a user