pong-more-or-less/c64.inc

84 lines
1.6 KiB
PHP

;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
PROGSTART = $080D ; just after BASIC header
;; Misc
CINV = $0314 ; Hardware IRQ vector
;; CIA registers
PRA = $DC00
PRB = $DC01
DDRA = $DC02
DDRB = $DC03
CIA_ICR = $DC0D
PRA2 = $DD00
;; VIC-II registers
VICBASE = $D000
SPRITE_0X = VICBASE+0
SPRITE_0Y = VICBASE+1
SPRITE_1X = VICBASE+2
SPRITE_1Y = VICBASE+3
SPRITE_2X = VICBASE+4
SPRITE_2Y = VICBASE+5
SPRITE_3X = VICBASE+6
SPRITE_3Y = VICBASE+7
SPRITE_4X = VICBASE+8
SPRITE_4Y = VICBASE+9
SPRITE_5X = VICBASE+10
SPRITE_5Y = VICBASE+11
SPRITE_6X = VICBASE+12
SPRITE_6Y = VICBASE+13
SPRITE_7X = VICBASE+14
SPRITE_7Y = VICBASE+15
SPRITE_X_MSB = VICBASE+16
YSCROLL_MODE = VICBASE+17
RASTER = VICBASE+18
;; ...
SPRITE_ENABLE = VICBASE+21
XSCROLL_MODE = VICBASE+22
SPRITE_XPAND_Y = VICBASE+23
;; ...
MEMPTR = VICBASE+24
VICINT = VICBASE+25
VICINTMASK = VICBASE+26
SPRITE_BG_PRIO = VICBASE+27
;; ...
SPRITE_XPAND_X = VICBASE+29
SSCOL = VICBASE+30
;; ...
BORDER = VICBASE+32
BGCOL0 = VICBASE+33
BGCOL1 = VICBASE+34
BGCOL2 = VICBASE+35
BGCOL3 = VICBASE+36
;; ...
SPRITE_0C = VICBASE+39
SPRITE_1C = VICBASE+40
SPRITE_2C = VICBASE+41
SPRITE_3C = VICBASE+42
SPRITE_4C = VICBASE+43
SPRITE_5C = VICBASE+44
SPRITE_6C = VICBASE+45
SPRITE_7C = VICBASE+46
COLORMEM = $D800
;; SID registers
SIDBASE = $D400
SIDF1H = SIDBASE+1
SIDF1L = SIDBASE+2
SIDCR1 = SIDBASE+4
SIDAD1 = SIDBASE+5
SIDSR1 = SIDBASE+6
SIDFMV = SIDBASE+24
;; Macros
.macro padto addr
.repeat (addr - *)
.byte 0
.endrep
.endmacro