Javanese

I) What is it ?

Javanese was a Java NES Emulator by Brice Fines and Arnon Goncalves Cardoso.
Javanese is also a pun : "La Javanaise" is a song by Serge Gainsbourg.
The project is now private and the source is not available.
I wrote it to learn Java, but an emulator is hard to program, if you want to
do so choose a language that you know very well.

II) Features

It supports:
mappers 0,1,2,3,4,7,11,15,34,66,71,76,79,88,89,93,122,225,226,227,230,231,233,255 
sprites 8x8
sprites 8x16
sprite 0 hit flag (quite good and accurate)
sprite maximum flag
nes files
first gamepad (with the keyboard)
palette by Kevin Horton
monochrome display
color emphasis (partial)
line renderer engine
...

III) Todo list (some of the following are dreams)

It lacks:
more mappers
sound
second gamepad
extensions and input devices (zapper, more pads, disk system, ....)
auto speed limitation
save / restore battery backed ram
more file types
support for network
trainer
...

IV) Usage

You will need a rom image. You can find freeware roms on Internet.
Rom request will be ignored.
In a dos box or in a terminal :

java -jar Javanese.jar yournesfile.zip
java -jar Javanese.jar yournesfile.nes
javaw -jar Javanese.jar yournesfile.zip

Caution with upper and lower case letters.
This suppose that java is in your path, and that you have a virtual machine
installed on your system. A JRE (Java Runtime Environment) is
sufficient. I strongly advise you to use Java 1.3 by SUN if you want a good
speed. 
Javanese is a Java application and an applet.
Javanese work on 1.1.x, 1.2.x, 1.3.x JVM.

Keys used during game:
s	A button on gamepad1
d	B button on gamepad1
f	SELECT button on gamepad1
g	START button on gamepad1
h	Show frame number

You must click into the emulator windows first.
You can see how many frames are drawned by pressing h key on keyboard, if you press it once,
the counter appears in white, if you press it again it appears in black, if you press it again,
it disappears.

V) Some quick answers

-Your emulator does not support feature X or game Y, why ?!?
Because feature X or game Y mapper is not implemented yet. Why don t you
implement it yourself since the code is GPL.

-Your emu is too slow for me, what can I do ?
There is a lot of other nes emulators out there that run a lot faster.
Javanese is written in Java, and virtual machines interpret code (slow).
Newer vitual machines from Sun (1.3) produce native code during execution (
fast). I will try to produce an executable if i found a compiler (very fast)
. Javanese works under windows 95 (JDK 1.3 by Sun).
Javanese has been tested with the following configurations (submissions are welcome):
k6-III+ @ 500 MHz on an ASUS P55T2P4
64 M RAM EDO
Windows ME
SUN JVM 1.3.0
result: very playable

PII @ 400 MHz Compak Deskpro
64 M SDRAM
Windows98
JVM 1.3
result: very playable

-I got an error message when i close your emu, or my display get messed up, why?
It seems that sometimes when you quit the emu produce strange error.

-Is there any other NES emulator in java?
Yes i know 3 other ones.
Jamicom, by Ninn. Left in 98, but Ninn demonstrated to the world that it was possible to do. On top of that,
Jamicom is amazing considering the information available at this time. Domo arigato Ninn.
Nescafe by David De Niese. Nescafe has a good interface and a debugger and supports sound. It is a good javanese
application.
O.N.E by Norbert Kehrer. It is an online applet with a loader, sound support, and a big screen. A good one too. 

VI) Greetings

Arnon for joining the project !! Thanks to him Javanese has a good speed and some cool features.

Matt Conte, Nyef, Marat, PrOxY, Delta, Juergen Buchmueller, Peter Trauner, Ninn, Kevin
Horton, T.N. Samara (the first person who contributed to javanese directly),
Lord Esnes for showing me the way, Pepe from Emulatronia and Zophar for
supporting Javanese from the beginning, Pike from vgc brazil,Chris Covell, rvu, Olivier
Aichelbaum, people from nesdev, people who make NES demos, Arnon, and all
the people i forget . (i will try to complete this list) 

Patricia, she knows why.
Franois, Frid, Olivier for making my life better.
