4a1089f522eb0257ce91549f53ae057eeff5aedc
[fpgaboy.git] / fpgaboot.asm
1         SECTION "boot", HOME[$0]
2 boot:   ld a, $AA
3         ld [$FF51], A   ; Poke the LEDs
4
5         ld sp, $FFFE
6         
7         ld hl, signon
8         call puts
9         
10         ; Write a little bit to the RAM
11         ld hl, $0104
12         xor a
13         ld [HLI], A
14         ld [HLI], A
15         ld [HLI], A
16         ld [HLI], A
17         ld [HLI], A
18         ld [HLI], A
19         ld [HLI], A
20         ld [HLI], A
21         
22         ld A, $FF
23         ld [HLI], A
24         ld [HLI], A
25         ld [HLI], A
26         ld [HLI], A
27         ld [HLI], A
28         ld [HLI], A
29         ld [HLI], A
30         ld [HLI], A
31         
32         ld c, $51
33         
34 .wait:  ld a, [c]
35         cp $00
36         jr nz, .wait
37
38         ld h, a
39         ld l, a
40         ld [hl], $01    ; Select the GB boot rom
41         
42         ld a, $55
43         ld [c], a
44         
45         ld hl, booting
46         call puts
47         
48         rst $00         ; Boot
49
50 putc:
51         ld c, $53
52         push af
53 .waitport:
54         ld a,[c]
55         cp $00
56         jr nz,.waitport
57         pop af
58         ld [$FF52],a
59         ret
60
61 puts:
62         ld a, [hli]
63         cp $00
64         ret z
65         call putc
66         jr puts
67
68 signon:
69         db $0D,$0A,$1B,"[1mFPGABoy Boot ROM",$1B,"[0m",$0D,$0A,0
70 booting:
71         db "Booting...",$0D,$0A,0
72
73
74         SECTION "a", HOME[$100]
75         nop     ; Make sure we don't overflow.
76         
This page took 0.014811 seconds and 2 git commands to generate.