84 lines
1.6 KiB
PHP
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
|