first commit
This commit is contained in:
95
main.asm
Normal file
95
main.asm
Normal file
@@ -0,0 +1,95 @@
|
||||
include "hardware.inc"
|
||||
|
||||
section "Start",rom0[$100] ; hier startet der Gameboy
|
||||
di ; Interrupts ausschalten
|
||||
jp Program ; Springe zum eigentlichen Programm
|
||||
|
||||
section "Programm",rom0[$150] ; hier läuft das Programm
|
||||
|
||||
Program:
|
||||
call LCDOff
|
||||
|
||||
ld a, %11111100 ; Hintergrund Farbpallette definieren
|
||||
ld [rBGP], a ; Hintergrund Farbpallette laden
|
||||
|
||||
;;; Font in VRAM kopieren
|
||||
ld de, font ; Font Quelle
|
||||
ld bc, font_end-font ; Font Länge
|
||||
ld hl, _VRAM+$200 ; Ziel
|
||||
call TileCopy
|
||||
|
||||
;;; Text schreiben
|
||||
ld a, $3
|
||||
ld [$C000], a
|
||||
ld a, $99
|
||||
ld [$C001], a
|
||||
ld hl, _SCRN0
|
||||
.bgfill
|
||||
ld de, text
|
||||
ld bc, text_end-text
|
||||
.charcopy
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
inc de
|
||||
dec bc
|
||||
ld a, b
|
||||
or a, c
|
||||
jr nz, .skip
|
||||
ld de, text
|
||||
ld bc, text_end-text
|
||||
.skip
|
||||
ld a, [$C001]
|
||||
dec a
|
||||
ld [$C001], a
|
||||
or a, 0
|
||||
jr nz, .charcopy
|
||||
ld a, $FF
|
||||
ld [$C001], a
|
||||
ld a, [$C000]
|
||||
dec a
|
||||
ld [$C000], a
|
||||
or a, 0
|
||||
jr nz, .bgfill
|
||||
|
||||
;;; LCD einschalten
|
||||
ld a, 0
|
||||
ld [rSCX], a
|
||||
ld [rSCY], a
|
||||
ld a, LCDCF_ON ; LCD Einschaltbit nach a Laden
|
||||
or a, LCDCF_BG8000
|
||||
or a, LCDCF_BGON
|
||||
ld [rLCDC], a ; LCD einschalten
|
||||
|
||||
.loop
|
||||
halt
|
||||
jr .loop
|
||||
|
||||
|
||||
LCDOff:
|
||||
.turn_of_LCD ; Bildschirm auschalten
|
||||
ld a, [rLY] ; Y Koordinate vom LCD nach a
|
||||
cp a, $90 ; Vergleich ob LCD in Zeile 144
|
||||
jr nz, .turn_of_LCD ; Wiederholen bis LCD in Zeile 144 ist
|
||||
ld a, LCDCF_OFF ; LCD Ausschaltbit nach a Laden
|
||||
ld [rLCDC], a ; LCD ausschalten
|
||||
ret
|
||||
|
||||
TileCopy:
|
||||
.copy
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a
|
||||
dec bc
|
||||
ld a, b
|
||||
or a, c
|
||||
jr nz, .copy
|
||||
ret
|
||||
|
||||
section "assets",rom0[$300]
|
||||
|
||||
text: db "Hello World! "
|
||||
text_end:
|
||||
|
||||
font: incbin "font_8x8.chr"
|
||||
font_end:
|
||||
|
||||
Reference in New Issue
Block a user