Use BigInteger for rerecords
[jpcrr.git] / org / jpc / output / OutputFrameRerecords.java
blob617547989eedfff1424ce842f19c17d0da64b40f
1 /*
2 JPC-RR: A x86 PC Hardware Emulator
3 Release 1
5 Copyright (C) 2007-2009 Isis Innovation Limited
6 Copyright (C) 2009-2010 H. Ilari Liusvaara
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License version 2 as published by
10 the Free Software Foundation.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 Based on JPC x86 PC Hardware emulator,
22 A project from the Physics Dept, The University of Oxford
24 Details about original JPC can be found at:
26 www-jpc.physics.ox.ac.uk
30 package org.jpc.output;
31 import java.math.BigInteger;
33 public class OutputFrameRerecords extends OutputFrame
35 private BigInteger value;
37 public OutputFrameRerecords(long timeStamp, BigInteger _value)
39 super(timeStamp, (byte)82);
40 value = _value;
43 protected byte[] dumpInternal()
45 int bits = value.bitLength();
46 int bytes = 8;
47 if(bits > 64)
48 bytes = (bits + 7) / 8;
49 byte[] _name = new byte[bytes];
50 for(int j = 0; j < bytes; j++)
51 _name[j] = (byte)(value.shiftRight(8 * bytes - 8 - 8 * j).intValue());
52 return _name;