Question:
How
do I download an image and test it?
Answer:
To
download without debugging: use the file server's Uploader command on the Tools
menu, and specify that you want to download your game image to 0xB0000000. Make
sure the N64 is turned off at this point. Once the image is downloaded (the
activity LED on the SN64 will go out) then turn on the N64 and your image
should boot.
or
Answer:
To
download and debug: set up a project in the debugger and add the binary image
file to it. Specify in its Properties dialog that you want to download it when
the project is opened and that the target address is 0xB0000000. Turn the N64’s
power off and reopen the project, then turn the N64 back on and your image
should boot.
Question:
I
can download my game image just fine, but nothing happens when I turn it on.
Answer:
Make
sure you have an appropriate game cartridge plugged into the SN64. You need to
use a PAL game if you have a PAL N64, and an NTSC game if you have an NTSC N64.
Also make sure your monitor is connected properly and switched on!
Question:
My
image looks like it’s running, but the debugger won’t connect to it.
Answer:
Did
you remember to call init_debug() after osInitialize()? If so,
you should be able to stop the target and press Ctrl-U, and your debugger panes
will light up with information.
Question:
My
game worked fine with the SG hardware but it won’t work with the SN64, it just
locks up at various points.
Answer:
Are
you using any calls to osSyncPrintf() for debugging purposes, or any
other host communications? This could account for the freeze. Our target
communications are handled differently and we don’t currently support osSyncPrintf().
Question:
It’s
annoying having to reload the Windows debugger every time I download a new
image.
Answer:
You
don’t have to do this; just select Reopen from the Project menu and the
debugger will download your image and reload the symbols for you. You can even
use the Windows 95 start command to run or reactivate the debugger
directly from your makefile.
Question:
My
symbol file takes ages to load.
Answer:
Try
using SYMMUNGE to compress it.
Question:
What
does PCinit() do?
Answer:
This
is necessary if you want to use the file server output window, or perform file
access with the PC. You should call it after you’ve called osInitialize()
and init_debug().
Question:
I
download an image and it’s running, but whenever I stop the target, the
debugger displays the source for my idle thread.
Answer:
The
debugger doesn’t yet completely support the N64’s multithreading. If you want
to stop the CPU at any point other than the idle thread, you need to set a
breakpoint.
Question:
I
keep on placing breakpoints and forgetting about them later and getting
unexpected halts. Is there a centralised list of all the breakpoints?
Answer:
Yes;
you can open the Breakpoint Manager as a modal dialog, or in a pane so you can
always see the list. In either case you can see the complete list of
breakpoints currently in effect. You can also disable breakpoints without
actually deleting them, so you can reactivate them later.
Question:
It
would be handy to see the C source and disassembly interwoven while I’m
stepping my code.
Answer:
You
can’t do this at the moment, but you can have two panes side-by-side showing
the source and assembly, locked to keep the PC in the centre of the screen.
They will both update correctly as you step. You can also set the stepping mode
to step either one source or one assembly line at a time regardless of the pane
you have active.