[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NadaNet 3.1 Released
madmax2069 wrote:
> mjmahon wrote:
> The latest version of NadaNet, version 3.1, is now released.
>
> This is a minor update, containing one new command, &PEEKPOKE,
> providing a reliable atomic primitive for acquiring a lock in a
> multiprocessor environment. It supplements the existing &PEEKINC
> command.
>
> In addition, the NadaNet 3.1 &BOOT protocol no longer supports the
> NadaNet 2.x AppleCrate boot ROM. Machines which must boot from
> NadaNet at power-up must now use the NadaNet 3.x boot ROM. This
> completes the migration of all protocols to 3.x level.
>
> Updated documentation, disk images, and source code for NadaNet 3.1
> is available on my website at:
>
> http://home.comcast.net/~mjmahon/
Very interesting
bit of software.
i got lost for a few hours reading on your site. very interesting
stuff you have. just watched the youtube video of the AppleCrate.
I've been thinking about making some more videos, showing some
parallel programs in operation.
It's probably hard for people to believe just how small the Applesoft
programs are that are running on top of NadaNet. It doesn't take much
code to create some very interesting things!
NadaNet was designed to require very little hardware to implement
(originally none, or "nada", but Apple changed the //e so that a
simple buffer is needed). My hope was that many Apple II enthusiasts,
having more than one Apple II anyway, would be enticed by the quantum
leap in functionality and the low barrier to entry to jump in and start
experimenting--with parallel computing, client-server computing, or
what-have-you, all in Applesoft.
Apparently, I was wrong. Whether it's because it's a "programmer's
platform" or because it requires some simple adapters for the game port
(or maybe because I'm no good at marketing ;-), very few people have
actually hooked up a NadaNet. (Or maybe they have, and are having
great fun with it in secret. ;-)
It also occurred to me that the AppleCrate made something of a
splash, and, since it is a bigger project, the simplicity of NadaNet
that made it possible is lost behind the apparent complexity of the
'Crate.
Or maybe very few are interested in experimenting with network parallel
programming and client-server computing on Apple II's--which seems
strange, since it's the modern computing paradigm (clouds, anyone?).
NadaNet provides a way to experiment with network computing using
Apple II's, in BASIC (or M/L, if you prefer), at a speed which is
both fast enough to be interesting and slow enough to be appreciated
by humans. All the interesting logical and performance issues of
parallelism are there to be learned and mastered, coupled with the
constrained resources that make programming more challenging and
fun.
I would love to see this done with IIgs computers and see what could
be done with the sound hardware then. the music that the AppleCrate
produced was quite amazing.
NadaNet runs on the IIgs in its "slow" mode, which shouldn't be any
problem for programs keeping it's Ensoniq chip fed.
I've never been a IIgs jockey, so I leave that "orchestral" exercise
to those who know it better. ;-) I agree that the effect could be
mind-boggling!
quite amazing indeed
Glad you liked it!
The underlying sound "engine" is DAC522, a player I developed in the
early 1990s just to show it was possible. ;-) It generates a PWM
waveform at 22kHz, with its duty cycle modulated by 11kHz sampled sound.
The effect is a 5-bit precision DAC with a 22kHz "carrier" that is very
easy to filter out--like by turning down the "treble" tone control.
(In fact, many people can't hear it even *without* filtering. ;-)
Since DAC522 is based upon lots of precisely cycle-counted code, I
wrote a BASIC program to generate it from a code "prototype". This
automatic generation allows me to experiment with various capabilities
without all the tedious and error-prone manual cycle-counting.
This player function has been leveraged in CRATE.SYNTH to transform each
Apple II board into a digital oscillator, with various voices, each with
its own waveform and envelope. The synthesizer code then resamples
each instrument waveform in real time to produce the desired note
frequency while applying the voice's envelope.
-michael
NadaNet 3.1 for Apple II parallel computing!
Home page: http://home.comcast.net/~mjmahon/
"The wastebasket is our most important design
tool--and it's seriously underused."