Untitled
public
Jun 18, 2025
Never
48
1 2 3 LD SP,$fffe ; Stack 4 5 XOR A 6 LD HL,$9fff 7 .zero_vram: 8 LD (HL-),A 9 BIT 7,H 10 JR NZ,.zero_vram 11 12 LD HL,$ff26 ; Audio 13 LD C,$11 14 LD A,$80 15 LD (HL-),A 16 LD ($FF00+C),A 17 INC C 18 LD A,$f3 19 LD ($FF00+C),A 20 LD (HL-),A 21 LD A,$77 22 LD (HL),A 23 24 LD A,$fc ; BG palette 25 LD ($FF00+$47),A 26 27 LD DE,$0104 ; Logo 28 LD HL,$8010 29 .load_logo: 30 LD A,(DE) 31 CALL $0095 32 CALL $0096 33 INC DE 34 LD A,E 35 CP $34 36 JR NZ,.load_logo 37 38 LD DE,$00d8 ; ® tile 39 LD B,$08 40 .load_extra: 41 LD A,(DE) 42 INC DE 43 LD (HL+),A 44 INC HL 45 DEC B 46 JR NZ,.load_extra 47 48 LD A,$19 ; Tilemap 49 LD ($9910),A 50 LD HL,$992f 51 .tilemap_loop: 52 LD C,$0c 53 .fill_tile: 54 DEC A 55 JR Z,.scroll_start 56 LD (HL-),A 57 DEC C 58 JR NZ,.fill_tile 59 LD L,$0f 60 JR .tilemap_loop 61 62 .scroll_start: 63 LD H,A 64 LD A,$64 65 LD D,A 66 LD ($FF00+$42),A 67 LD A,$91 68 LD ($FF00+$40),A 69 INC B 70 .scroll_loop: 71 LD E,$02 72 .frame_wait1: 73 LD C,$0c 74 .frame_wait2: 75 LD A,($FF00+$44) 76 CP $90 77 JR NZ,.frame_wait2 78 DEC C 79 JR NZ,.frame_wait2 80 DEC E 81 JR NZ,.frame_wait1 82 83 LD C,$13 84 INC H 85 LD A,H 86 LD E,$83 87 CP $62 88 JR Z,.sound1 89 LD E,$c1 90 CP $64 91 JR NZ,.nosound 92 .sound1: 93 LD A,E 94 LD ($FF00+C),A 95 INC C 96 LD A,$87 97 LD ($FF00+C),A 98 .nosound: 99 LD A,($FF00+$42) 100 SUB B 101 LD ($FF00+$42),A 102 DEC D 103 JR NZ,.scroll_loop 104 105 DEC B 106 JR NZ,.logo_check 107 108 LD D,$20 109 JR .scroll_loop 110 111 ; === Logo gfx routine === 112 LD C,A ; $0095 113 LD B,$04 ; $0096 114 .gfx_loop: 115 PUSH BC 116 RL C 117 RLA 118 POP BC 119 RL C 120 RLA 121 DEC B 122 JR NZ,.gfx_loop 123 LD (HL+),A 124 INC HL 125 LD (HL+),A 126 INC HL 127 RET 128 129 ; === Nintendo Logo === 130 Addr_00A8: 131 .DB $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D 132 .DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99 133 .DB $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E 134 135 Addr_00D8: 136 .DB $3C,$42,$B9,$A5,$B9,$A5,$42,$3C 137 138 ; === Logo check === 139 .logo_check: 140 LD HL,$0104 141 LD DE,$00a8 142 .compare_loop: 143 LD A,(DE) 144 INC DE 145 CP (HL) 146 JR NZ,$fe 147 INC HL 148 LD A,L 149 CP $34 150 JR NZ,.compare_loop 151 152 LD B,$19 153 LD A,B 154 .sum_loop: 155 ADD (HL) 156 INC HL 157 DEC B 158 JR NZ,.sum_loop 159 ADD (HL) 160 JR NZ,$fe 161 162 LD A,$01 163 LD ($FF00+$50),A