Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; 2018-2018
- INCLUDE "hardware.inc" ; easy register garb
- SECTION "rstvect", ROM0[$0000]
- jp waitvBlank
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- jp memcpy
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- jp strcpy
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- ret
- nop
- nop
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- ret
- nop
- nop
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- ret
- nop
- nop
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- ret
- nop
- nop
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- ret
- nop
- nop
- SECTION "waitvBlank", ROM0[$0080]
- waitvBlank:
- ld a, [rLY]
- cp 144 ; huh, didn't know you could do that--
- jr c, waitvBlank
- ret
- SECTION "memcpy", ROM0[$0090]
- memcpy:
- ld a, [de]
- ld [hli], a
- inc de
- dec bc
- ld a, b
- or c
- jr nz, memcpy
- ret
- SECTION "strcpy", ROM0[$00a0]
- strcpy: ; str end: $ff
- ld a, [de]
- cp $ff
- ret z
- ld [hli], a
- inc de
- and a
- jr strcpy ; check until reached a $ff (fixed length)
- SECTION "start", ROM0[$0100]
- jp $0150
- nop
- SECTION "init", ROM0[$0150]
- clearram:
- rst $00 ; call waitvBlank
- xor a
- ld [rLCDC], a ; shut that darn LCD off
- ld hl, $9000
- ld de, TestTiles
- ld bc, TestTilesEnd - TestTiles
- rst $08 ; call memcpy
- ld hl, $9800 ; screen display
- ld de, TestStr
- rst $10 ; call strcpy
- semiinit: ; don't know what to call this
- ld a, %11100100
- ld [rBGP], a ; setting this to 00 would blackout, ff for whiteout, etc
- xor a
- ld [rSCY], a
- ld [rSCX], a
- ld [rNR52], a
- ld a, %10000001 ; some sort of switches
- ld [rLCDC], a ;it's on!
- lock:
- jr lock
- ; sect misc
- TestTiles: ; POSSIBLE SHORTCUT: take every two bites since this is a monochrome font
- DB $7C,$7C,$C6,$C6,$CE,$CE,$D6,$D6,$E6,$E6,$C6,$C6,$7C,$7C,$00,$00
- DB $18,$18,$78,$78,$18,$18,$18,$18,$18,$18,$18,$18,$FE,$FE,$00,$00
- DB $7C,$7C,$C6,$C6,$C6,$C6,$0C,$0C,$38,$38,$60,$60,$FE,$FE,$00,$00
- DB $7C,$7C,$C6,$C6,$06,$06,$3C,$3C,$06,$06,$C6,$C6,$7C,$7C,$00,$00
- DB $1C,$1C,$3C,$3C,$6C,$6C,$CC,$CC,$FE,$FE,$0C,$0C,$0C,$0C,$00,$00
- DB $FE,$FE,$C0,$C0,$C0,$C0,$FC,$FC,$06,$06,$C6,$C6,$7C,$7C,$00,$00
- DB $7C,$7C,$C6,$C6,$C0,$C0,$FC,$FC,$C6,$C6,$C6,$C6,$7C,$7C,$00,$00
- DB $FE,$FE,$06,$06,$0C,$0C,$18,$18,$18,$18,$30,$30,$30,$30,$00,$00
- DB $7C,$7C,$C6,$C6,$C6,$C6,$7C,$7C,$C6,$C6,$C6,$C6,$7C,$7C,$00,$00
- DB $7C,$7C,$C6,$C6,$C6,$C6,$7E,$7E,$06,$06,$C6,$C6,$7C,$7C,$00,$00
- DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
- TestTilesEnd:
- TestStr:
- db $01,$02,$03,$04,$05,$06,$07,$08,$09,$ff
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement