import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import net.mograsim.logic.core.types.BitVector;
import net.mograsim.machine.MainMemory;
*/
public static void parseMemory(final MainMemory memory, InputStream input) throws IOException
{
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(input)))
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)))
{
MainMemoryDefinition def = memory.getDefinition();
{
for (; i <= maxAddr && reader.ready() && !"".equals((line = reader.readLine())); i++)
{
- memory.setCell(i, BitVector.parse(line));
+ memory.setCell(i, BitVector.parseBitstring(line));
}
}
catch (IOException e)
int val = instStream.read();
if (val == -1 && instIndex <= maxAddress)
{
- instStream = new ByteArrayInputStream((memory.getCell(instIndex++).toString() + lineSeparator).getBytes());
+ instStream = new ByteArrayInputStream(
+ (memory.getCell(instIndex++).toBitstring() + lineSeparator).getBytes(StandardCharsets.UTF_8));
val = instStream.read();
}
return val;