[Coco] Houston, we have a problem...

Gene Heskett gheskett at shentel.net
Thu Jul 4 03:25:07 EDT 2019


On Thursday 04 July 2019 02:18:47 Joel Rees wrote:

> So I've never used drivewire. What exactly does it do?

Basicly, its a serial port that creates 32 or more devices on the coco 
for what is effectively a virtual forest of devices that actually are 
running on the pc. Here the pc would be running linux.  One of those 
data channels is the /p device for the coco, and it actually stores what 
the coco sends to /p as a file on the pc in either a raw format or 
converted to an image that is effectively that of the old x80 pin 
pounder printer, allowing you to view it as if viewing a printout done 
on the fx80.  Or you can send the raw data thru cups, to any printer 
connected to the pc, so I wrote a couple scripts that feed it thru cups 
to a brother HL-2140 B&W laser at 19 pages a minute. Beautiful output.

It also features a mount like option on the system that allows you to use 
a file on the pc's hard drive as a disk drive of virtually unlimited 
size as if it was a floppy disk hooked to the coco by normal means, one 
of my virtual disks is a 100 meg file on this pc. Toolshed has 
facilities to read/write to these virtual disks, so you can move data 
back and forth.

Another channel is dedicated to midi, which I can feed to timidity, which 
between drivewire's translations and those possessed by timidity to 
pretty well duplicate any midi mapping scheme ever invented.

It can use the data of a group of channels, each feeding a 32 column 
green screen thats sharper than the monitor on the coco.

And it gets all this done in close to real time by running the bitbanger 
at 56k on a coco1-2, or 115k on a coco3. But that speed, in a feedback 
loop, will overheat and kill the salt chip in the coco. Most functions 
can be supported at a slower, less than 100% duty cycle that gives the 
salt chip plenty of time to cool. Coco's in the old grey case will need 
the op-amp that drives the bitbanger replaced with a faster op-amp to 
get that 56k. 741's simply are not fast enough.

Its major flaw is that the data drivers are both rbf and scf aware, 
preventing the isolation required to make level 3 nitros9 work.

That also involves a page of memory from the system map for the buffers 
per virtual device, which soon runs one out of system ram.

Theres more yet, but thats an outline.  And now that the jre has 
committed suicide by version incompatabilities, a rough edges rewrite is 
being done in a different language, with test copies available but I 
haven't yet bookmarked that link, but the lists archives should have it.

> 2019年6月7日(金) 3:59 William Astle <lost at l-w.ca>:
> > The Java DW4 server does quite a few things that are questionable
> > and generally not particularly portable. For instance, it relies on
> > a native code library for serial I/O. It also seems to exercise
> > pretty much the entire JVM in one way or another.
> >
> > Interestingly, the version prior to the major GUI change was very
> > stable. But after the GUI change, it was only ever really stable on
> > Windows. I can't remember which version number introduced the
> > current GUI and it's not certain that that older version would be
> > any more functional on current systems.
> >
> > On 2019-06-06 12:07 p.m., Gene Heskett wrote:
> > > On Thursday 06 June 2019 09:29:34 am Rich Carreiro wrote:
> > >> Out of curiosity, what is it about newer JVMs that breaks DW?
> > >
> > > Quite a lengthy and many times repeated list of java errors, and
> > > when it does settle down to looking almost normal guiwise, its
> > > still not talking to the coco.
> > > java.net.SocketException: Address already in use (Listen failed)
> > >          at java.net.PlainSocketImpl.socketListen(Native Method)
> > >          at
> > > java.net
> >
> > .AbstractPlainSocketImpl.listen(AbstractPlainSocketImpl.java:399)
> >
> > >          at java.net.ServerSocket.bind(ServerSocket.java:376)
> > >          at java.net.ServerSocket.<init>(ServerSocket.java:237)
> > >          at java.net.ServerSocket.<init>(ServerSocket.java:128)
> > >          at
> > > com.groupunix.drivewireui.nineserver.NineServer.run(NineServer.jav
> > >a:25) at java.lang.Thread.run(Thread.java:748)
> > >
> > > (DriveWire:5987): libsoup-CRITICAL **:
> > > soup_session_feature_detach: assertion 'SOUP_IS_SESSION_FEATURE
> > > (feature)' failed
> > >
> > > (DriveWire:5987): libsoup-CRITICAL **:
> > > soup_session_feature_attach: assertion 'SOUP_IS_SESSION_FEATURE
> > > (feature)' failed
> > >
> > > (DriveWire:5987): GLib-GObject-CRITICAL **:
> > > g_closure_add_invalidate_notifier: assertion
> > > 'closure->n_inotifiers < CLOSURE_MAX_N_INOTIFIERS' failed
> > >
> > > (DriveWire:5987): GLib-GObject-CRITICAL **:
> > > g_closure_add_invalidate_notifier: assertion
> > > 'closure->n_inotifiers < CLOSURE_MAX_N_INOTIFIERS' failed
> > >
> > > And it goes on for at least another 20k, changing the message
> > > occasionally.
> >
> > --
> > Coco mailing list
> > Coco at maltedmedia.com
> > https://pairlist5.pair.net/mailman/listinfo/coco


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page <http://geneslinuxbox.net:6309/gene>


More information about the Coco mailing list