Some coding style fixes
[jpcrr.git] / org / jpc / emulator / memory / codeblock / ByteSourceWrappedMemory.java
blob8d49de19823005d0a5abba19e9d38c8466e34c3c
1 /*
2 JPC-RR: A x86 PC Hardware Emulator
3 Release 1
5 Copyright (C) 2007-2009 Isis Innovation Limited
6 Copyright (C) 2009 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.emulator.memory.codeblock;
32 import org.jpc.emulator.memory.Memory;
34 /**
36 * @author Chris Dennis
38 class ByteSourceWrappedMemory implements ByteSource
40 private Memory source;
41 private int offset, startingPosition;
43 public void set(Memory source, int offset)
45 this.source = source;
46 this.offset = offset;
47 startingPosition = offset;
50 public int getOffset()
52 return offset;
55 public byte getByte()
57 return source.getByte(offset++);
60 public void skip(int count)
62 if(offset + count >= source.getSize())
63 throw new IndexOutOfBoundsException();
64 offset += count;
67 public void reset()
69 offset = startingPosition;
72 public String toString()
74 return "ByteSourceWrappedMemory: [" + source + "] @ 0x" + Integer.toHexString(startingPosition);