X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Ffleet%2Ftwo%2FFleetTwoFleet.java;h=05590650b1520d14c2d616782ec1827d052e6c8e;hb=50f1b1bfa3ed70e77f64c14b62c44baec6e1eea9;hp=19d5e9b072626e6684e0da5d8e3e84df028c4367;hpb=02ad2744dcb59f88c860b4985dee48053af4ecf2;p=fleet.git diff --git a/src/edu/berkeley/fleet/two/FleetTwoFleet.java b/src/edu/berkeley/fleet/two/FleetTwoFleet.java index 19d5e9b..0559065 100644 --- a/src/edu/berkeley/fleet/two/FleetTwoFleet.java +++ b/src/edu/berkeley/fleet/two/FleetTwoFleet.java @@ -25,6 +25,7 @@ public abstract class FleetTwoFleet extends Fleet { public final Mask DISPATCH_PATH; public final Mask DISPATCH_INSTR; public final Mask NOT_INTERRUPTIBLE; + public final Mask IS_INTERRUPTIBLE; public final Mask P; public final Mask P_NOT_A; public final Mask P_A; @@ -88,8 +89,8 @@ public abstract class FleetTwoFleet extends Fleet { PACKET_SIGNAL = new Mask("......................................v..........."); PACKET_DEST = new Mask(".......................................vvvvvvvvvvv"); - CBD_SIZE = new Mask("...............................vvvvvv"); - CBD_OFFSET = new Mask("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv......"); + CBD_SIZE = new Mask("............................vvvvvvvvv"); + CBD_OFFSET = new Mask("vvvvvvvvvvvvvvvvvvvvvvvvvvvv........."); WHOLE_WORD = new Mask("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"); @@ -98,23 +99,22 @@ public abstract class FleetTwoFleet extends Fleet { DISPATCH_PATH = new Mask("v...................................."); DISPATCH_INSTR = new Mask(".vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"); P = new Mask(".vvvvvv.............................."); - P_NOT_A = new Mask(".011110.............................."); - P_A = new Mask(".011101.............................."); - P_NOT_B = new Mask(".011011.............................."); - P_B = new Mask(".010111.............................."); - P_UNUSED = new Mask(".000000.............................."); - P_OLC_ZERO = new Mask(".101111.............................."); - P_OLC_NONZERO = new Mask(".011111.............................."); - P_ALWAYS = new Mask(".111111.............................."); + P_NOT_A = new Mask(".010001.............................."); + P_A = new Mask(".010010.............................."); + P_NOT_B = new Mask(".010100.............................."); + P_B = new Mask(".011000.............................."); + P_UNUSED = new Mask(".111111.............................."); + P_OLC_ZERO = new Mask(".100000.............................."); + P_OLC_NONZERO = new Mask(".010000.............................."); + P_ALWAYS = new Mask(".000000.............................."); - - // use these when Marina gets updated to 07-Jan-2009 version of internal encoding HEAD = new Mask(".......1............................."); - ABORT = new Mask("........1............................"); + ABORT = new Mask("........1......1.........000100000001"); TAIL = new Mask(".........1..........................."); // actually "is interruptible" - NOT_INTERRUPTIBLE = new Mask("...........1....1...................."); + NOT_INTERRUPTIBLE = new Mask("...........0....0...................."); + IS_INTERRUPTIBLE = new Mask("...........1....1...................."); SHIFT = new Mask("..........1......1vvvvvvvvvvvvvvvvvvv"); SET_IMMEDIATE = new Mask("..........1......0.....vvvvvvvvvvvvvv"); @@ -130,13 +130,13 @@ public abstract class FleetTwoFleet extends Fleet { PATH_DATA = new Mask("............1..........00............"); PATH_NOCHANGE = new Mask("............1..........01............"); + SET_OLC_FROM_OLC_MINUS_ONE = new Mask(".............1..1...................."); + SET_OLC_FROM_DATA_LATCH = new Mask("..............1.11..................."); SET_OLC_FROM_IMMEDIATE = new Mask("..............1.10.............vvvvvv"); - SET_OLC_FROM_DATA_LATCH = new Mask("...............1.11.................."); - SET_OLC_FROM_OLC_MINUS_ONE = new Mask("...............1.10.................."); - SET_ILC_FROM_IMMEDIATE = new Mask("...............1.00..........0.vvvvvv"); - SET_ILC_FROM_INFINITY = new Mask("...............1.0...........1......."); - SET_ILC_FROM_DATA_LATCH = new Mask("...............1.01.................."); + SET_ILC_FROM_DATA_LATCH = new Mask("..............1.01..................."); + SET_ILC_FROM_IMMEDIATE = new Mask("..............1.00...........0.vvvvvv"); + SET_ILC_FROM_INFINITY = new Mask("..............1.0............1......."); SET_FLAGS = new Mask("...............1....................."); SET_FLAGS_A = new Mask("...............1...............vvvvvv"); @@ -153,6 +153,7 @@ public abstract class FleetTwoFleet extends Fleet { DISPATCH_PATH = new Mask("vvvvvvvvvvv.........................."); DISPATCH_INSTR = new Mask("...........vvvvvvvvvvvvvvvvvvvvvvvvvv"); NOT_INTERRUPTIBLE = new Mask("...........1........................."); + IS_INTERRUPTIBLE = new Mask("...........0........................."); P = new Mask(".............vvv....................."); P_NOT_A = new Mask(".............000....................."); P_A = new Mask(".............001....................."); @@ -260,6 +261,19 @@ public abstract class FleetTwoFleet extends Fleet { public int getShiftWidth() { return SHIFT.valmaskwidth; } public int getSetWidth() { return SET_IMMEDIATE.valmaskwidth+1; } + + public int getMaxCodeBagSize() { + return (1<