-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbackground.asm
82 lines (68 loc) · 1.66 KB
/
background.asm
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
;***********************************************
; restore background according to dirt map
;***********************************************
restore_background
ld a,(current_dirtmap)
ld h,a : ld l,16 : ld de,#F000
jp .loop
.restore_tile
ld (hl),e : ld a,l : exx
ld h,hi(bufadr) : ld l,a : ld e,(hl) : inc h : ld d,(hl) ; DE=destination
ld h,hi(zeback) : ld a,(hl) ; tower
add a : ld hl,compiled_tiles : add l : ld l,a : ld a,(hl) : inc l : ld h,(hl) : ld l,a : jp (hl)
.loopback
exx
inc l : ret z
.loop
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : ret z
ld a,(hl) : or a : jr nz,.restore_tile : inc l : jr nz,.loop
ret
align 256
bufadr
repeat 16,py
repeat 16,px
adr=#4000+(px-1)*4+(py-1)*128
defb adr&255
rend
rend
repeat 16,py
repeat 16,px
adr=#4000+(px-1)*4+(py-1)*128
defb hi(adr)
rend
rend
scradr
adr=#4000
repeat 32
repeat 8
defb adr & 255
adr=adr+#800
rend
adr=adr-#4000+64
rend
adr=#4000
repeat 32
repeat 8
defb hi(adr)
adr=adr+#800
rend
adr=adr-#4000+64
rend
confine 46
compiled_tiles
repeat 23,x
tile_idx=x-1
defw compiled_tile_{tile_idx}
rend
;include 'compiled_tiles.asm'
;print "compiled tiles size =",$-compiled_tile_0