projects
/
gbrg
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5dee2c4
)
video: working on loading tiles
author
Lukas Krickl
<lukas@krickl.dev>
Mon, 30 Sep 2024 17:37:06 +0000
(19:37 +0200)
committer
Lukas Krickl
<lukas@krickl.dev>
Mon, 30 Sep 2024 17:37:06 +0000
(19:37 +0200)
src/main.s
patch
|
blob
|
history
src/video.s
patch
|
blob
|
history
diff --git
a/src/main.s
b/src/main.s
index e36345293ac27e3ff480dceafff045682e1077f4..0f945bef2a90110ba3cf196655c3bb5bbf426c99 100644
(file)
--- a/
src/main.s
+++ b/
src/main.s
@@
-6,10
+6,10
@@
.fill 0, 0x100 - $
#include "header.inc"
-entry:
- ; *never* turn off LCD without waiting
- ; for vblank!
- call
vblank_wait
+entry:
+ call lcd_off
+ call copy_tiles
+ call
lcd_on
main:
@forever:
diff --git
a/src/video.s
b/src/video.s
index acbdf930d78bb63dd55840eae1a8736fbb9f1f19..515b1e527181792bcfeb86c2bfc285a0e37d4ff3 100644
(file)
--- a/
src/video.s
+++ b/
src/video.s
@@
-3,8
+3,35
@@
vblank_wait:
cp a, 144
jp c, vblank_wait
+lcd_off:
+ ; *never* turn off LCD without waiting
+ ; for vblank!
+ call vblank_wait
; turn off lcd
ld a, 0
ld [RLCD], a
ret
+
+lcd_on:
+ ld a, LCDCF_ON | LCDCF_BGON
+ ld [RLCD], a
+
+ ret
+
+copy_tiles:
+ ld de, tileset0
+ ld hl, VRAM9000
+ ld bc, tileset0_end - tileset0
+@loop:
+
+ ld a, [de]
+ ld [hl+], a
+
+ inc de
+ dec bc
+ ld a, b
+ or a, c
+ jp nz, @loop
+
+ ret