Day 6

See Screen, See Pic On Screen

	Today we'll put a picture on the screen.


Make a 320x240 bitmap in MSPaint, save in C:\n64asm\ as pic.bmp. Next, goto Dextrose and download the patch to the GroundZero Devkit, what we want is the BMP2N64 program. Copy BMP2N64.exe to your n64 assembly folder. Open a DOS Prompt and type: cd your assembly folder path bmp2n64 -in:pic.bmp -out:pic -label:pic -16 Two files should be created, you can delete the .H file, but keep the .S file. The .S File may work as is, but I recommend you delete the lines before the label and replace all ".half"s with "dh" (no quotes).

The Code

The code for this isn't that much different than we've seen before or that you could have come up with on your own. So here we go (the whole thing): ;;---CODE START---;; org $80000400 ; starting point li t1,8 ; crash protection lui t0,$bfc0 ; I still don't know what this specifically does. sw t1,$07fc(t0) la t0,$A4400000 ; start of VI regs. ; this block initializes Video li t1, $103002 sw t1,0(t0) la t1,$a0200000 ; the frame buffer address sw t1,4(t0) li t1,320 sw t1,8(t0) li t1,$2 sw t1,12(t0) li t1,$0 sw t1,16(t0) li t1,$3e52239 sw t1,20(t0) li t1,$0000020d sw t1,24(t0) li t1,$00000c15 sw t1,28(t0) li t1,$0c150c15 sw t1,32(t0) li t1,$006c02ec sw t1,36(t0) li t1,$002501ff sw t1,40(t0) li t1,$000e0204 sw t1,44(t0) li t1,$200 sw t1,48(t0) li t1,$400 sw t1,52(t0) li t0,0xa0200000 li t3,2 la t2,MKImage ; MKImage should be the label in your .S file li t1,320*240*2-2 drawImage: lh t4,0(t2) sh t4,0(t0) ; there's probably a better way, but oh well :) add t2,t2,t3 add t0,t0,t3 sub t1,t1,t3 ; there's a better place for this that'll be discussed later bnez t1,drawImage infin: nop j infin include MKImage.S ; MKImage.S should be the filename of your .S File ;;---CODE STOP---;;

This Day In Review

I hope you take the time to understand code and not just rip it :)! Until Next Time!, - Mike H a.k.a GbaGuy
Intro - Day 7

Patater GBAGuy Mirror