Advertisement
Guest User

ugghh

a guest
Jul 9th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; 2018-2018
  2.  
  3. INCLUDE "hardware.inc" ; easy register garb
  4. SECTION "rstvect", ROM0[$0000]
  5.     jp waitvBlank
  6.     rst $38
  7.     rst $38
  8.     rst $38
  9.     rst $38
  10.     rst $38
  11.     jp memcpy
  12.     rst $38
  13.     rst $38
  14.     rst $38
  15.     rst $38
  16.     rst $38
  17.     jp strcpy
  18.     rst $38
  19.     rst $38
  20.     rst $38
  21.     rst $38
  22.     rst $38
  23.     ret
  24.     nop
  25.     nop
  26.     rst $38
  27.     rst $38
  28.     rst $38
  29.     rst $38
  30.     rst $38
  31.     ret
  32.     nop
  33.     nop
  34.     rst $38
  35.     rst $38
  36.     rst $38
  37.     rst $38
  38.     rst $38
  39.     ret
  40.     nop
  41.     nop
  42.     rst $38
  43.     rst $38
  44.     rst $38
  45.     rst $38
  46.     rst $38
  47.     ret
  48.     nop
  49.     nop
  50.     rst $38
  51.     rst $38
  52.     rst $38
  53.     rst $38
  54.     rst $38
  55.     ret
  56.     nop
  57.     nop
  58. SECTION "waitvBlank", ROM0[$0080]
  59. waitvBlank:
  60.     ld a, [rLY]
  61.     cp 144 ; huh, didn't know you could do that--
  62.     jr c, waitvBlank
  63.     ret
  64. SECTION "memcpy", ROM0[$0090]
  65. memcpy:
  66.     ld a, [de]
  67.     ld [hli], a
  68.     inc de
  69.     dec bc
  70.     ld a, b
  71.     or c
  72.     jr nz, memcpy
  73.     ret
  74. SECTION "strcpy", ROM0[$00a0]
  75. strcpy: ; str end: $ff
  76.     ld a, [de]
  77.     cp $ff
  78.     ret z
  79.     ld [hli], a
  80.     inc de
  81.     and a
  82.     jr strcpy ; check until reached a $ff (fixed length)
  83. SECTION "start", ROM0[$0100]
  84.     jp $0150
  85.     nop
  86. SECTION "init", ROM0[$0150]
  87. clearram:
  88.     rst $00 ; call waitvBlank
  89.     xor a
  90.     ld [rLCDC], a ; shut that darn LCD off
  91.     ld hl, $9000
  92.     ld de, TestTiles
  93.     ld bc, TestTilesEnd - TestTiles
  94.     rst $08 ; call memcpy
  95.     ld hl, $9800 ; screen display
  96.     ld de, TestStr
  97.     rst $10 ; call strcpy
  98. semiinit: ; don't know what to call this
  99.     ld a, %11100100
  100.     ld [rBGP], a ; setting this to 00 would blackout, ff for whiteout, etc
  101.     xor a
  102.     ld [rSCY], a
  103.     ld [rSCX], a
  104.     ld [rNR52], a
  105.     ld a, %10000001 ; some sort of switches
  106.     ld [rLCDC], a ;it's on!
  107. lock:
  108.     jr lock
  109. ; sect misc
  110. TestTiles: ; POSSIBLE SHORTCUT: take every two bites since this is a monochrome font
  111.     DB $7C,$7C,$C6,$C6,$CE,$CE,$D6,$D6,$E6,$E6,$C6,$C6,$7C,$7C,$00,$00
  112.     DB $18,$18,$78,$78,$18,$18,$18,$18,$18,$18,$18,$18,$FE,$FE,$00,$00
  113.     DB $7C,$7C,$C6,$C6,$C6,$C6,$0C,$0C,$38,$38,$60,$60,$FE,$FE,$00,$00
  114.     DB $7C,$7C,$C6,$C6,$06,$06,$3C,$3C,$06,$06,$C6,$C6,$7C,$7C,$00,$00
  115.     DB $1C,$1C,$3C,$3C,$6C,$6C,$CC,$CC,$FE,$FE,$0C,$0C,$0C,$0C,$00,$00
  116.     DB $FE,$FE,$C0,$C0,$C0,$C0,$FC,$FC,$06,$06,$C6,$C6,$7C,$7C,$00,$00
  117.     DB $7C,$7C,$C6,$C6,$C0,$C0,$FC,$FC,$C6,$C6,$C6,$C6,$7C,$7C,$00,$00
  118.     DB $FE,$FE,$06,$06,$0C,$0C,$18,$18,$18,$18,$30,$30,$30,$30,$00,$00
  119.     DB $7C,$7C,$C6,$C6,$C6,$C6,$7C,$7C,$C6,$C6,$C6,$C6,$7C,$7C,$00,$00
  120.     DB $7C,$7C,$C6,$C6,$C6,$C6,$7E,$7E,$06,$06,$C6,$C6,$7C,$7C,$00,$00
  121.     DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  122. TestTilesEnd:
  123. TestStr:
  124.     db $01,$02,$03,$04,$05,$06,$07,$08,$09,$ff
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement