1.1
log
@Initial revision
@
text
@About N64 NES emulator
ver. 021101
Copyright 1999-2002 Nintendo Co.,Ltd.
Programmers:
Tomohiro Kawase (CPU, Graphics)
Hideaki Shimizu (Sound)
Development environment, Making method
=======================================
[ot11]<~> versions | grep ultra
I ultra 07/11/100 Ultra 64 Development Environment, 2.0L
I ultra.dev 07/11/100 Ultra 64 Development Environment Software
I ultra.dev.base 07/11/100 Ultra 64 Base Development
I ultra.dev.demo 07/11/100 Ultra 64 Demonstration Software
[ot11]<~> uname -a
IRIX ot11 6.3 12161207 IP32
Please use "make" command, when you would like to make rom.
Several parts are provided as object files without source files.
Those are named *.o.keep, and restore *.o files if you do "make clean recover".
Button assignment
=======================================
<<< plus key, START, A, B button >>>
Those are in conformity to NES.
They are assigned by ks_nes.c: ks_nes_main() as
p -> serial4016d0 = game_p -> n64_buttons[0] << 16; // Controller Port 1P
<<< R button, Z button >>>
Those behave as NES SELECT button.
Z button is assigned as well as above by ks_nes.c: ks_nes_main().
On the other hand, R button is assigned by sequence.c: sq_main().
<<< L button >>>
Display menu(manual, quit command, and so on) over games.
It's assigned by sequence.c: sq_main().
Those are temporary assignment.
Please edit them for making usr-friendly.
Memory allocation
=======================================
Allocation is defined as below in ks_nes.c: ks_nes_init().
/* hard coded allocation of BSS for emulator (tentative) */
ks_emu_bss_start = 0x80400000;
ks_emu_bss_end = 0x80800000;
In this case, BSS is allocated to the expansion memory. You can also allocate it
to the main memory if the area can be kept on the main memory.
0x100000byte is kept as NES ROM buffer, that is defined in sequence.c: sq_init().
We decided this size according to a total size of actual NES ROM size, converted
data buffer for execution, and some margins.
Caution for PRENMI
=======================================
Without fail, code as coding in main.c: taskman(), when you'd like to do PRENMI.
while (osAfterPreNMI()) {
IO_WRITE(SP_STATUS_REG, SP_CLR_RSPSIGNAL); /* If you neglect to insert this, the program sometimes hang up after reset */
}
NES ROM image
=======================================
This emulator allow only signed NES ROM images to run in case that this program
is stolen.
Processing delay
=======================================
Sometimes processing delay happens probably because of the specificity of N64's
memory access. We consider that if memory access latency time can be made short by such
measure as distributing the memory across according to improvement of memory allocation,
processing delay becomes not happen. But we don't take measures to processing delay
now, so when it happen, game BGM sounds like having echo effect.
If all measures for resolving memory access will be failed, we'll plan to take measures
such as lowering the sound sampling rate, but please pardon these problem at least for
the present.
@