Francisco J Ballesteros | 21 May 2013 12:27
Favicon

9pi and upas/send question

To anyone with a pi out there,

can you try to do an upas send on the pi (just send a mail)
and let me know if it worked fine there?

thanks

Gregory Pavelak | 19 May 2013 14:22
Picon

9atom and USB Keyboard Problem


I installed 9atom downloaded from Erik's site on 5/12 on a
Gigabyte GA-D525TUD
(http://www.gigabyte.com/products/product-page.aspx?pid=3549#ov).

When I have *nomp=1 in plan9.ini, I am able to log in and
things work OK (except the mouse wheel scroll direction is
opposite to what I would expect), When I remove *nomp=1 from
plan9.ini, 9atom reports four processors, and every keystroke
produces 6 or 8 or more tokens of the character I am trying to
type. If I'm lucky and I tap a key lightly and quickly enough, I
can get a single character, but it's not easy.

I tried the only other usb keyboard I have and had the same
problem.

Any suggestions?

Thanks.

Greg

arisawa | 19 May 2013 06:32
Picon

atagenioretry: nondma

Hello,

yesterday day I had error messages below:

automatic dump Fri May 17 05:00:07 2013
automatic dump Sat May 18 05:00:08 2013
command 30
data f7aea8a0 limit f7aec0a0 dlen 16384 status 0 error 0
lba 163565804 -> 163565804, count 32 -> 32 (32)
atagenioretry: nondma w:163565804:32  <at> 163565804:32
wrenwrite: error on w"/dev/sdD0/fsworm"(2315949): i/o error 040804 163565804
mirrwrite: error at w"/dev/sdD0/fsworm" block 2315949
atagenioretry: nondma w:163565836:32  <at> 163565836:32
wrenwrite: error on w"/dev/sdD0/fsworm"(2315950): i/o error 040804 163565836
mirrwrite: error at w"/dev/sdD0/fsworm" block 2315950
atagenioretry: nondma w:163565900:32  <at> 163565900:32
wrenwrite: error on w"/dev/sdD0/fsworm"(2315952): i/o error 040804 163565900
mirrwrite: error at w"/dev/sdD0/fsworm" block 2315952
atagenioretry: nondma w:163565932:32  <at> 163565932:32
...
...

it seems that wrenwrite/mirrwrite errors from cwfs are induced by "atagenioretry: nondma"
which come from kernel (/sys/src/9/pc/sdide.c).

have you ever seen messages like this?

I suspected my sata drive (/dev/sdD0) has broken. but it seems the drive is alive.

Kenji Arisawa
(Continue reading)

lamg | 17 May 2013 17:51
Picon

Go for systems programming

 Can Go be used for replacing C in Plan9? Could be a kernel be written
in Go? If it is not possible, what about making a C-like Go? Where
C-like Go means having similar syntax, but not channels, garbage
collection, and other fancy 21st century runtime features; but with no
need for makefiles and fast compilation times. Could this be a sort of
plugable compiler, where we could select what features of the language
we would use for being included in the runtime?
 I think it will be nice for Plan9 having such language-compiler, Go
has proved to be an improvement over C in its own niche.

lamg | 17 May 2013 00:31
Picon

Installing Go

 Anyone has installed Go, the source code has Makefiles and bash
scripts for building, it doesn´t seem to be for plan9.

Jeff Sickel | 15 May 2013 19:42
Favicon

APE: lib/ap/gen/mbwc.c

Does anyone know why this one outlier mbwc.c is in libap.a?
It brings in libutf dependencies to ap.  Lib regexp does use
it, and stdlib.h does bring in the signatures w/o bringing
in utf.h to add the lib.

-jas

Costin Chirvasuta | 13 May 2013 19:33
Picon

Easily create/move window on left/right half of the screen

Hello,

I made this quick little hack to do what the subject says.
Sharing for anyone who might find it useful.

diff /n/sources/plan9/sys/src/cmd/rio/rio.c /sys/src/cmd/rio/rio.c
779a780,802
>         if(mouse->buttons == 0 && eqpt(mouse->xy, p)){
>             p = onscreen(mouse->xy);
>             if(p.x < screen->clipr.min.x + 10){
>                 p0.x = screen->clipr.min.x;
>                 p0.y = screen->clipr.min.y;
>                 p.x = (screen->clipr.max.x + screen->clipr.min.x) / 2;
>                 p.y = screen->clipr.max.y;
>             }else if(p.x > screen->clipr.max.x - 10){
>                 p0.x = (screen->clipr.max.x + screen->clipr.min.x) / 2;
>                 p0.y = screen->clipr.min.y;
>                 p.x = screen->clipr.max.x;
>                 p.y = screen->clipr.max.y;
>             }else
>                 break;
>             r = Rect(p0.x, p0.y, p.x, p.y);
>             i = allocwindow(wscreen, r, Refnone, 0xEEEEEEFF);
>             freeimage(oi);
>             if(i == nil)
>                 goto Rescue;
>             border(i, r, Selborder, red, ZP);
>             flushimage(display, 1);
>             break;
>         }
(Continue reading)

a | 10 May 2013 05:48
Gravatar

devdraw proxy

has anyone ever written (for lack of a better term) a
devdraw proxy? my application at hand would be to
"tee" the messages between multiple "real" draw
devices, but i can think of a number of useful things
such a proxy might do. i'd be interested in hearing
about any examples or experience before i get started.

anthony

Antonio Barrones | 9 May 2013 20:47
Picon

btcd: A Full Alternative Bitcoin Implementation, Written In Go

Hi,
I have read this article:
btcd: A Full Alternative Bitcoin Implementation, Written In Go
http://bitcoinmagazine.com/btcd-a-full-bitcoin-alternative-written-in-go

and I wonder if this could be a way to have Bitcoin in the Plan9 environment.
The project it is not yet released but some part are available:
https://github.com/conformal/btcwire/blob/master/README.md
The program is licensed under the liberal ISC License.
The blog: https://blog.conformal.com/

Antonio

cinap_lenrek | 8 May 2013 22:09
Picon
Picon
Gravatar

patch/5l-div-cond

the patch carries over the condition flags into all
the emulated instructions in the linker.

i dont think this will work as intended because after returning
from _div, the condition flags should have been modified no?

or does BL somehow preserve the flags?

i'm no arm expert...

--
cinap

Yaroslav | 7 May 2013 11:02
Picon
Gravatar

vncv sw cursor trail

When using vncv on a terminal with software cursor (vesa, rpi) the
mouse cursor leaves a trail.  This seem to be caused by the fact that
vncv loads picture updates with loadimage(2) directly to screen.
Loading to an offscreen image followed by a draw(2) to screen removes
the artifact:

/n/dump/2013/0507/sys/src/cmd/vnc/draw.c:106,111 -
/sys/src/cmd/vnc/draw.c:106,112
  static void
  updatescreen(Rectangle r)
  {
+ Image* img;
  int b, bb;

  lockdisplay(display);
/n/dump/2013/0507/sys/src/cmd/vnc/draw.c:120,129 -
/sys/src/cmd/vnc/draw.c:121,135
  /*
  * assume load image fails only because of resize
  */
+ img = allocimage(display, r, screen->chan, 0, DNofill);
+ if(img == nil)
+ sysfatal("updatescreen: %r");
  b = Dx(r) * pixb * Dy(r);
- bb = loadimage(screen, rectaddpt(r, screen->r.min), pixbuf, b);
+ bb = loadimage(img, r, pixbuf, b);
  if(bb != b && verbose)
  fprint(2, "loadimage %d on %R for %R returned %d: %r\n", b,
rectaddpt(r, screen->r.min), screen->r, bb);
+ draw(screen, rectaddpt(r, screen->r.min), img, nil, r.min);
(Continue reading)


Gmane