2003-04-14 21:28:51 +00:00
|
|
|
;
|
|
|
|
; NES definitions. By Groepaz/Hitmem.
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
;; FIXME: optimize zeropage usage
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
SCREEN_PTR = $62 ;2
|
2003-04-14 21:28:51 +00:00
|
|
|
CRAM_PTR = $64 ;2
|
2013-05-09 11:56:54 +00:00
|
|
|
CHARCOLOR = $66
|
|
|
|
BGCOLOR = $67
|
|
|
|
RVS = $68
|
|
|
|
CURS_X = $69
|
|
|
|
CURS_Y = $6a
|
2003-04-14 21:28:51 +00:00
|
|
|
|
2003-05-02 13:40:01 +00:00
|
|
|
tickcount = $6b ;2
|
2003-04-14 21:28:51 +00:00
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
VBLANK_FLAG = $70
|
2003-04-14 21:28:51 +00:00
|
|
|
|
|
|
|
ringbuff = $0200
|
|
|
|
ringwrite = $71
|
|
|
|
ringread = $72
|
|
|
|
ringcount = $73
|
|
|
|
|
|
|
|
ppuhi = $74
|
|
|
|
ppulo = $75
|
|
|
|
ppuval = $76
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
screenrows = (30-1)
|
2003-04-14 21:28:51 +00:00
|
|
|
charsperline = 32
|
|
|
|
xsize = charsperline
|
|
|
|
|
|
|
|
;; PPU defines
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
PPU_CTRL1 = $2000
|
|
|
|
PPU_CTRL2 = $2001
|
|
|
|
PPU_STATUS = $2002
|
|
|
|
PPU_SPR_ADDR = $2003
|
|
|
|
PPU_SPR_IO = $2004
|
|
|
|
PPU_VRAM_ADDR1 = $2005
|
|
|
|
PPU_VRAM_ADDR2 = $2006
|
|
|
|
PPU_VRAM_IO = $2007
|
2003-04-14 21:28:51 +00:00
|
|
|
|
|
|
|
;; APU defines
|
|
|
|
|
|
|
|
APU_PULSE1CTRL = $4000 ; Pulse #1 Control Register (W)
|
|
|
|
APU_PULSE1RAMP = $4001 ; Pulse #1 Ramp Control Register (W)
|
|
|
|
APU_PULSE1FTUNE = $4002 ; Pulse #1 Fine Tune (FT) Register (W)
|
|
|
|
APU_PULSE1CTUNE = $4003 ; Pulse #1 Coarse Tune (CT) Register (W)
|
|
|
|
APU_PULSE2CTRL = $4004 ; Pulse #2 Control Register (W)
|
|
|
|
APU_PULSE2RAMP = $4005 ; Pulse #2 Ramp Control Register (W)
|
|
|
|
APU_PULSE2FTUNE = $4006 ; Pulse #2 Fine Tune Register (W)
|
|
|
|
APU_PULSE2STUNE = $4007 ; Pulse #2 Coarse Tune Register (W)
|
|
|
|
APU_TRICTRL1 = $4008 ; Triangle Control Register #1 (W)
|
|
|
|
APU_TRICTRL2 = $4009 ; Triangle Control Register #2 (?)
|
|
|
|
APU_TRIFREQ1 = $400A ; Triangle Frequency Register #1 (W)
|
|
|
|
APU_TRIFREQ2 = $400B ; Triangle Frequency Register #2 (W)
|
|
|
|
APU_NOISECTRL = $400C ; Noise Control Register #1 (W)
|
|
|
|
;;APU_ = $400D ; Unused (???)
|
|
|
|
APU_NOISEFREQ1 = $400E ; Noise Frequency Register #1 (W)
|
|
|
|
APU_NOISEFREQ2 = $400F ; Noise Frequency Register #2 (W)
|
|
|
|
APU_MODCTRL = $4010 ; Delta Modulation Control Register (W)
|
|
|
|
APU_MODDA = $4011 ; Delta Modulation D/A Register (W)
|
|
|
|
APU_MODADDR = $4012 ; Delta Modulation Address Register (W)
|
|
|
|
APU_MODLEN = $4013 ; Delta Modulation Data Length Register (W)
|
2013-05-09 11:56:54 +00:00
|
|
|
APU_SPR_DMA = $4014 ; Sprite DMA Register (W)
|
|
|
|
APU_CHANCTRL = $4015 ; Sound/Vertical Clock Signal Register (R)
|
|
|
|
APU_PAD1 = $4016 ; Joypad #1 (RW)
|
|
|
|
APU_PAD2 = $4017 ; Joypad #2/SOFTCLK (RW)
|
2003-04-14 21:28:51 +00:00
|
|
|
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
CH_HLINE = 11
|
|
|
|
CH_VLINE = 14
|
|
|
|
CH_ULCORNER = 176
|
|
|
|
CH_URCORNER = 174
|
|
|
|
CH_LLCORNER = 173
|
|
|
|
CH_LRCORNER = 189
|
|
|
|
CH_TTEE = 178
|
|
|
|
CH_RTEE = 179
|
|
|
|
CH_BTEE = 177
|
|
|
|
CH_LTEE = 171
|
|
|
|
CH_CROSS = 123
|
|
|
|
CH_CURS_UP = 145
|
|
|
|
CH_CURS_DOWN = 17
|
|
|
|
CH_CURS_LEFT = 157
|
|
|
|
CH_CURS_RIGHT = 29
|
|
|
|
CH_PI = 126
|
|
|
|
CH_DEL = 20
|
|
|
|
CH_INS = 148
|
2003-04-14 21:28:51 +00:00
|
|
|
CH_ENTER = 10
|
|
|
|
CH_STOP = 3
|
|
|
|
CH_ESC = 27
|
|
|
|
|