do not disable screen while computing, wait h-blank before reading to vram. Simple implementation, awfully slow, at least doesn't blink :)

This commit is contained in:
2018-12-26 16:18:52 +01:00
parent 1bd335dd56
commit a92f2dfd17

View File

@@ -94,13 +94,9 @@ Start:
ld bc, 32 * 32
call MemoryCopy
; enable screen with background
;ld a, LCDCF_ON | LCDCF_BGON
;ld [rLCDC], a
; disable v-blank interrupt, enable lcd stat interrupt
;ld a, IEF_LCDC
;ld [rIE], a
; display bg 9800
ld a, LCDCF_ON | LCDCF_BGON | LCDCF_BG9800
ld [rLCDC], a
; enable h-blank interrupt in lcd stat
ld a, STATF_MODE00
@@ -121,9 +117,11 @@ Start:
.mainloop
; disable screen
xor a
ld [rLCDC], a
; disable v-blank interrupt, enable lcd stat interrupt
di
ld a, IEF_LCDC
ld [rIE], a
ei
; handle top left corner
ld bc, TopLeftCorner
@@ -285,23 +283,13 @@ Start:
ld [NewPointer], a
ld [OldPointer], a
.waitPressA
; enable v-blank interrupt, disable lcd stat interrupt
di
ld a, IEF_VBLANK
ld [rIE], a
ei
halt
halt
halt
;halt
;halt
;halt
;halt
;ld a, P1F_4
;ld [rP1], a
;ld a, [rP1]
;ld a, [rP1]
;ld a, [rP1]
;ld a, [rP1]
;cpl
;and a, 1
;jr z, .waitPressA
jp .mainloop
@@ -340,6 +328,7 @@ Conway:
add hl, de
; load neighbor
halt
ld a, [hl]
; check neighbor is alive
@@ -361,6 +350,7 @@ Conway:
ld l, a
; load status
halt
ld a, [hl]
; check if alive