From ce3e555b762e4c39e7eacbea061c114ce1f1bbc1 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 24 Sep 2006 07:52:22 +0100 Subject: [PATCH] added updated feedback-loop code to gui --- src/com/atmel/fpslic/Fpslic.java | 24 ++++++++++-------------- src/edu/berkeley/slipway/gui/Gui.java | 11 ++++++++++- src/edu/berkeley/slipway/gui/ZoomingPanel.java | 23 +++++++++++++++-------- 3 files changed, 35 insertions(+), 23 deletions(-) diff --git a/src/com/atmel/fpslic/Fpslic.java b/src/com/atmel/fpslic/Fpslic.java index 9cf1ff6..0daf377 100644 --- a/src/com/atmel/fpslic/Fpslic.java +++ b/src/com/atmel/fpslic/Fpslic.java @@ -309,14 +309,11 @@ public abstract class Fpslic { } public int t() { - System.err.println("found " + (mode4(1, row, col) & 0x34)); - switch(mode4(1, row, col) & 0x34) { - case 0x20: return TMUX_Z; - case 0x24: return TMUX_W_AND_Z; - case 0x34: return TMUX_FB; - case 0x14: return TMUX_W_AND_FB; + switch(mode4(1, row, col) & 0x30) { case 0x00: return TMUX_W; - //default: throw new RuntimeException("unknown!"); + case 0x10: return wi()==NONE ? TMUX_FB : TMUX_W_AND_FB; + case 0x20: return wi()==NONE ? TMUX_Z : TMUX_W_AND_Z; + case 0x30: throw new RuntimeException("illegal!"); default: return TMUX_W; } } @@ -324,15 +321,14 @@ public abstract class Fpslic { public void t(int code) { int result = 0; switch(code) { - case TMUX_W: result = 0x34; break; - case TMUX_Z: result = 0x20; break; // TOTALLYBOGUS throw new Error("not implemented, but should be possible"); - case TMUX_W_AND_Z: result = 0x00; break; - case TMUX_FB: result = 0x34; break; /* I think this is actually W_AND_FB, sadly */ - case TMUX_W_AND_FB: result = 0x14; break; - //default: throw new RuntimeException("unknown code! " + code); + case TMUX_W: result = 0x00; break; + case TMUX_Z: result = 0x20; break; + case TMUX_W_AND_Z: result = 0x20; break; + case TMUX_FB: result = 0x10; break; + case TMUX_W_AND_FB: result = 0x10; break; default: result = 0x00; break; } - mode4(1, row, col, result, 0x34); + mode4(1, row, col, result, 0x30); } /* private void fmux(int source) { diff --git a/src/edu/berkeley/slipway/gui/Gui.java b/src/edu/berkeley/slipway/gui/Gui.java index 1ab98ee..56953c5 100644 --- a/src/edu/berkeley/slipway/gui/Gui.java +++ b/src/edu/berkeley/slipway/gui/Gui.java @@ -630,7 +630,16 @@ public class Gui extends ZoomingPanel implements KeyListener, MouseMotionListene getWidth() - 200 + 10, (line += 15)); g.drawString("z-in mux: " + (newcell.cell.zi()==NONE ? "." : ("L"+(newcell.cell.zi()-L0))), getWidth() - 200 + 10, (line += 15)); - g.drawString("t-in mux: ", getWidth() - 200 + 10, (line += 15)); + + String tm = "??"; + switch(newcell.cell.t()) { + case TMUX_FB: tm = "fb"; break; + case TMUX_W_AND_FB: tm = "w&fb"; break; + case TMUX_Z: tm = "z"; break; + case TMUX_W_AND_Z: tm = "w&z"; break; + case TMUX_W: tm = "w"; break; + } + g.drawString("t-in mux: " + tm, getWidth() - 200 + 10, (line += 15)); g.drawString(" set/rst: " + (newcell.cell.ff_reset_value() ? "reset=SET" : "."), getWidth() - 200 + 10, (line += 15)); diff --git a/src/edu/berkeley/slipway/gui/ZoomingPanel.java b/src/edu/berkeley/slipway/gui/ZoomingPanel.java index 76f23c8..4468ffc 100644 --- a/src/edu/berkeley/slipway/gui/ZoomingPanel.java +++ b/src/edu/berkeley/slipway/gui/ZoomingPanel.java @@ -199,8 +199,8 @@ public abstract class ZoomingPanel extends JComponent implements KeyListener, Mo else switch(k.getKeyCode()) { case VK_ESCAPE: scale = 1.0; recenter = null; repaint(); return; - case VK_0: case VK_1: case VK_2: case VK_3: case VK_4: { - int i = L0 + (k.getKeyChar() - '0'); + case VK_BACK_QUOTE: case VK_0: case VK_1: case VK_2: case VK_3: case VK_4: { + int i = k.getKeyCode()==VK_BACK_QUOTE ? NONE : (L0 + (k.getKeyChar() - '0')); switch(lastChar) { case 'x': c.xi(i); break; case 'y': case 'q': c.yi(i); break; @@ -241,13 +241,20 @@ public abstract class ZoomingPanel extends JComponent implements KeyListener, Mo case VK_T: switch(c.t()) { - case TMUX_FB: c.t(TMUX_W_AND_FB); break; - case TMUX_W_AND_FB: c.t(TMUX_W); break; - case TMUX_W: c.t(TMUX_W_AND_Z); break; - case TMUX_W_AND_Z: c.t(TMUX_Z); break; - case TMUX_Z: c.t(TMUX_FB); break; + case TMUX_FB: + case TMUX_W_AND_FB: + c.t(TMUX_W_AND_Z); + break; + + case TMUX_Z: + case TMUX_W_AND_Z: + c.t(TMUX_W); + break; + + case TMUX_W: + c.t(TMUX_W_AND_FB); + break; } - System.err.println("set " + c.t()); repaint(); return; -- 1.7.10.4