I am reading data from SNES ROM using Java. I open the stream and read the bytes into an array:
InputStream stream = open("foo.rom"); final int startingSize = stream.available(); byte[] data = new byte[startingSize]; final int numberRead = stream.read(data, 0, startingSize);
In ROM, I have this value:
E4 2B 00 02 03 00 FF 3A 00 83
228 43 0 2 3 0 255 58 0 131 (in decimal)
However, my code behaves strangely. After setting up some debug statements, I have this template when printing with String.valueOf (data [ref]):
-28 43 0 2 3 0 -1 58 0 -125
(This address in the ROM is the first where the data appears, but I noticed incorrect values โโelsewhere in the program.)
As far as I can tell, my Java byte array does not respect hexadecimal data. How can I set an array of bytes for this?
source share