summaryrefslogtreecommitdiff
path: root/macros.inc
blob: 3ef5db750787ae39eae3ea8194ead5cbd134e0bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
;    TLL - A version of the Spectrum game TLL for the Super Nintendo
;
;    Copyright (C) 2018  Ian Cowburn (ianc@noddybox.co.uk)
;
;    This program is free software: you can redistribute it and/or modify
;    it under the terms of the GNU General Public License as published by
;    the Free Software Foundation, either version 3 of the License, or
;    (at your option) any later version.
;
;    This program is distributed in the hope that it will be useful,
;    but WITHOUT ANY WARRANTY; without even the implied warranty of
;    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;    GNU General Public License for more details.
;
;    You should have received a copy of the GNU General Public License
;    along with this program.  If not, see <http://www.gnu.org/licenses/>.
;
;    -------------------------------------------------------------------------
;
;    Macros
;

DMA:	macro	mode,source,dest,len

	pha

	lda	#@mode
	sta	DMAP0
	lda	#@dest
	sta	BBAD0
	lda	#@source & $ff
	sta	A1T0L
	lda	#{@source >> 8} & $ff
	sta	A1T0H
	lda	#{@source >> 16} & $ff
	sta	A1B0
	lda	#@len & $ff
	sta	DAS0L
	lda	#{@len >> 8} & $ff
	sta	DAS0H
	lda	#1
	sta	MDMAEN

	pla

	endm

ACC16:	macro
	.m16
	rep	#$20
	endm

ACC8:	macro
	.m8
	sep	#$20
	endm

INDEX16:macro
	.x16
	rep	#$10
	endm

INDEX8:	macro
	.x8
	sep	#$10
	endm