How hard is to build a processor?

On Fri, 26 Feb 2010 14:18:14 -0700, Bill Cooke
<bcooke@cookedata.com> wrote:

Joe Pfeiffer wrote:
Bill Cooke <bcooke@cookedata.com> writes:

Walter Banks wrote:
Don McKenzie wrote:

It seems that “Google” engineer Bill Buzbee isn’t interested in
microprocessors that can be purchased in marked. There is more fun to
build own. Several years ago he built first “Magic-1” processors
, but now he makes its documentations widely available in his project
website.

http://www.embedds.com/how-hard-is-to-build-a-processor/
It is a lost art. In the 70's I taught a course that students built
a small computer out of lab modules of TTL chip's. My first
personal computer was micro coded PDP-8 hand built.

Ram was 1K (bits) parts on a wirewrap board.

Walter..


In 1961 a colleague told me of a machine in a lab at Cornell named
CADET, which reputedly stood for "can't add, doesn't even try". But
it was a universal (Turing) machine. Most everyone has stood on the
shoulders of software to extend behavior. In another sense, cpu
development has also stood on the shoulders of software arts, for
needs drive real engineering, not possibilities, and software
disciplines provide the languages for expressing these needs.

IBM 1620. See http://en.wikipedia.org/wiki/IBM_1620

Hah! My leg's been pulled. and to think I'd just finished a year on
1401, 705 code! I'd thought 'cadet' was a lab project, not a for-real
machine. I've even read a 1620 manual, but never got to write for one.

-- Bill
snip
I can remember hearing that phrase from time to time when I
worked on the 1620. It was a fun machine. I used to swap
out the colored bezels on the control panel just to tease.

Jon
 
Jon Kirwan wrote:
On Fri, 26 Feb 2010 14:18:14 -0700, Bill Cooke
bcooke@cookedata.com> wrote:

Joe Pfeiffer wrote:
Bill Cooke <bcooke@cookedata.com> writes:
In 1961 a colleague told me of a machine in a lab at Cornell named
CADET, which reputedly stood for "can't add, doesn't even try".

IBM 1620. See http://en.wikipedia.org/wiki/IBM_1620
Hah! My leg's been pulled. and to think I'd just finished a year on
1401, 705 code! I'd thought 'cadet' was a lab project, not a for-real
machine. I've even read a 1620 manual, but never got to write for one.

I can remember hearing that phrase from time to time when I
worked on the 1620. It was a fun machine. I used to swap
out the colored bezels on the control panel just to tease.
I was working at a small shop that had a hand-me-down 1620. They had a simple
Fortran compiler, "PDQ Fortran", but it lacked some features they wanted. On my
own, I wrote a disassembler for the 1620, disassembled the compiler, studied the
code, figured out how to save some code space (memory was limited), then add
some features, basically enhanced write commands and formatting, all with no
external documentation. When the code was almost ready I was so excited I
couldn't sleep, so went into work at 4 AM or such and got it working. Fun days!

--
Thad
 
D Yuniskis <not.going.to.be@seen.com> writes:
In the early 80's it was common to build "custom" processors
out of 2900 bit-slice components. There was an excellent text
(and some good AMD appnotes) devoted entirely to this (Mick 'n'
Brick? yellow dust jacket).
Yes, Mick and Brick. An absolutely outstanding book on datapaths. and
microprogramming; it was all based on 2900-series, but the concepts
mapped to everything.
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)
 
On Feb 26, 3:22 pm, D Yuniskis <not.going.to...@seen.com> wrote:
In the early 80's it was common to build "custom" processors
out of 2900 bit-slice components.  There was an excellent text
(and some good AMD appnotes) devoted entirely to this (Mick 'n'
Brick? yellow dust jacket).
Yup! I read Mick and Brick cover to cover and learned a lot from it.
I never built anything with bit slice other than on paper. But I have
a lot of respect for those who did. I even used a "high end"
workstation once that was a suped up 68000 made out of bit slice. I
think it had a marketing window of 15 minutes before Moto came out
with a 680xx or something much faster than the 68000.


Now, I am much more fascinated by electro-mechanical *mechanisms*.
I have been working on a kinetic "sculpture" to act as a timepiece
in the back yard.  A tribute to Rube Goldberg -- with the exception
that it must run *continuously* (most of his contraptions were
"one-shot" devices).  But, in order to keep *good* time, I need
to "close the loop".  Doing so without being noticed means
using some "non-discrete" device that you can control.  I.e.,
something like a liquid whose rate of flow can be varied without
a critical observer being able to *easily* determine that this
is happening.  Living in the DSw poses a problem using water as
it evaporates too fast (replenishing it from the domestic water
supply would be "cheating"  :< ).  I also need to locate some
larger solar panels so the device has no connection to the electric
utility.
I have thought about how to make a time piece that is actually
regulated by the flow of water. It would be hard to get this to be
accurate, but I havae some ideas on how to make it fairly good. I am
in the mid-east US, so we normally have lots of rain. I have thought
about ways to make it "self-winding". One is to simply catch rain
from the roof and keep the top reservoir full. Another would be to
use wind power to pump water from the lower reservoir to the top.
That would be doubly cool. It might even allow the clock hands to be
in front of the windmill blades!

But this project is way off in the distance. I have many other things
to do first.

Rick
 
The clock/calendar I hope to build over the next year or so will be
solar. The shadow of a post uniquely determines both date and time, if
you look at both angle and length....
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)
 
Hi Rick,

rickman wrote:
On Feb 26, 3:22 pm, D Yuniskis <not.going.to...@seen.com> wrote:
In the early 80's it was common to build "custom" processors
out of 2900 bit-slice components. There was an excellent text
(and some good AMD appnotes) devoted entirely to this (Mick 'n'
Brick? yellow dust jacket).

Yup! I read Mick and Brick cover to cover and learned a lot from it.
I never built anything with bit slice other than on paper. But I have
a lot of respect for those who did. I even used a "high end"
workstation once that was a suped up 68000 made out of bit slice. I
think it had a marketing window of 15 minutes before Moto came out
with a 680xx or something much faster than the 68000.
AMD published a lot of app notes and manuals that really catered
to the 2900 family of devices. In my Great Databook Purge, they
are among the few items that I kept! (along with Mick 'n' Brick,
of course!)

Now, I am much more fascinated by electro-mechanical *mechanisms*.
I have been working on a kinetic "sculpture" to act as a timepiece
in the back yard. A tribute to Rube Goldberg -- with the exception
that it must run *continuously* (most of his contraptions were
"one-shot" devices). But, in order to keep *good* time, I need
to "close the loop". Doing so without being noticed means
using some "non-discrete" device that you can control. I.e.,
something like a liquid whose rate of flow can be varied without
a critical observer being able to *easily* determine that this
is happening. Living in the DSw poses a problem using water as
it evaporates too fast (replenishing it from the domestic water
supply would be "cheating" :< ). I also need to locate some
larger solar panels so the device has no connection to the electric
utility.

I have thought about how to make a time piece that is actually
regulated by the flow of water. It would be hard to get this to be
accurate, but I havae some ideas on how to make it fairly good. I am
I plan on cheating: detecting the "displayed time" and using
that in a feedback loop to control the pump speed. It would
probably need to be a terribly overdamped control system
given all the other "cruft" between the pump and the
"display".

in the mid-east US, so we normally have lots of rain. I have thought
about ways to make it "self-winding". One is to simply catch rain
from the roof and keep the top reservoir full. Another would be to
use wind power to pump water from the lower reservoir to the top.
Yes, that's my approach. We don't have enough rainfall to
"self wind". I suspect it would be very difficult to keep
enough water in the system to span the gaps between rains!
(or, if you could keep enough water, trying to keep that water
"clean" of algae, etc. over that long of a time period).

We get *lots* of sun so PV seems to be an essential part
of any solution.

That would be doubly cool. It might even allow the clock hands to be
in front of the windmill blades!
Ah, I don't plan on displaying the time in such a "traditional"
format. :> I don't want folks to recognize it as a timepiece
unless they *know* how to "read" it. Instead, it will just
look like a kinematic sculpture...

But this project is way off in the distance. I have many other things
to do first.
<grin> Yup. In my case, the problem is figuring out what
*will* work "on paper" before investing lots of time building
something that just turns out to be a nonfunctional eyesore.
 
Hi Joe,

Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar. The shadow of a post uniquely determines both date and time, if
you look at both angle and length....
Hmmm... is that (really) true? Or, don't you end up with
*two* date,times for each angle,length? E.g., won't the
angle,length be the same for HH:MM on the day before and
after the Summer Solstice? Or, close enough to make it
near impossible to differentiate? (dunno, I find thinking
in 3D on astronomical scales difficult :> )

Like me, at least you'll have plenty of Sun to play with! (NM)
 
D Yuniskis <not.going.to.be@seen.com> writes:

Hi Joe,

Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar. The shadow of a post uniquely determines both date and time, if
you look at both angle and length....

Hmmm... is that (really) true? Or, don't you end up with
*two* date,times for each angle,length? E.g., won't the
angle,length be the same for HH:MM on the day before and
after the Summer Solstice? Or, close enough to make it
near impossible to differentiate? (dunno, I find thinking
in 3D on astronomical scales difficult :> )
Yes, I should have said "just about unique." I wouldn't be at all
surprised to find out the variation with date won't be possible to
distinguish more accurately than a couple of days, too.

Like me, at least you'll have plenty of Sun to play with! (NM)
I like living down here!
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)
 
On Sat, 27 Feb 2010 12:11:32 -0800
John Nagle <nagle@animats.com> wrote:

(Changed title, trimmed irrelevant groups.)

D Yuniskis wrote:

Now, I am much more fascinated by electro-mechanical *mechanisms*.
I have been working on a kinetic "sculpture" to act as a timepiece
in the back yard. A tribute to Rube Goldberg -- with the exception
that it must run *continuously* (most of his contraptions were
"one-shot" devices). But, in order to keep *good* time, I need
to "close the loop". Doing so without being noticed means
using some "non-discrete" device that you can control. I.e.,
something like a liquid whose rate of flow can be varied without
a critical observer being able to *easily* determine that this
is happening. Living in the DSw poses a problem using water as
it evaporates too fast (replenishing it from the domestic water
supply would be "cheating" :< ). I also need to locate some
larger solar panels so the device has no connection to the electric
utility.

Look into shape-memory alloy wire. See

"http://www.amazon.com/gp/product/B000FMUEGI"

Run a current through that, and it contracts slightly. Not much.
Then obtain or build a pendulum clock, and use the shape-memory
wire to change the supported length of the pendulum. You'll
only get 1-2% change, but that's all you need to fine-tune
the thing.

John Nagle
Muscle wire's a pain to work with. In free air you wind up needing to
run a pretty decent amount of current to replace the heat you lose to
natural convection. Even more so if you've got a breeze.

How about the pendulum drives a small DC motor/generator? That lets
you both monitor the frequency and give it little kicks to keep it
on course. With good bearings it shouldn't take much energy to
overcome the losses.

--
Rob Gaddi, Highland Technology
Email address is currently out of order
 
(Changed title, trimmed irrelevant groups.)

D Yuniskis wrote:

Now, I am much more fascinated by electro-mechanical *mechanisms*.
I have been working on a kinetic "sculpture" to act as a timepiece
in the back yard. A tribute to Rube Goldberg -- with the exception
that it must run *continuously* (most of his contraptions were
"one-shot" devices). But, in order to keep *good* time, I need
to "close the loop". Doing so without being noticed means
using some "non-discrete" device that you can control. I.e.,
something like a liquid whose rate of flow can be varied without
a critical observer being able to *easily* determine that this
is happening. Living in the DSw poses a problem using water as
it evaporates too fast (replenishing it from the domestic water
supply would be "cheating" :< ). I also need to locate some
larger solar panels so the device has no connection to the electric
utility.
Look into shape-memory alloy wire. See

"http://www.amazon.com/gp/product/B000FMUEGI"

Run a current through that, and it contracts slightly. Not much.
Then obtain or build a pendulum clock, and use the shape-memory
wire to change the supported length of the pendulum. You'll
only get 1-2% change, but that's all you need to fine-tune
the thing.

John Nagle
 
Hi John,

John Nagle wrote:
(Changed title, trimmed irrelevant groups.)

D Yuniskis wrote:

Now, I am much more fascinated by electro-mechanical *mechanisms*.
I have been working on a kinetic "sculpture" to act as a timepiece
in the back yard. A tribute to Rube Goldberg -- with the exception
that it must run *continuously* (most of his contraptions were
"one-shot" devices). But, in order to keep *good* time, I need
to "close the loop". Doing so without being noticed means
using some "non-discrete" device that you can control. I.e.,
something like a liquid whose rate of flow can be varied without
a critical observer being able to *easily* determine that this
is happening. Living in the DSw poses a problem using water as
it evaporates too fast (replenishing it from the domestic water
supply would be "cheating" :< ). I also need to locate some
larger solar panels so the device has no connection to the electric
utility.

Look into shape-memory alloy wire. See

"http://www.amazon.com/gp/product/B000FMUEGI"

Run a current through that, and it contracts slightly. Not much.
Then obtain or build a pendulum clock, and use the shape-memory
wire to change the supported length of the pendulum. You'll
only get 1-2% change, but that's all you need to fine-tune
the thing.
The appeal/beauty of using something like a water source
is that folks don't see "discrete motion" in it -- though
recognize that it *is* moving.

E.g., a gear turning is less "magical" than water flowing.
Especially as adjusting the flow rate can be virtually
imperceptible. Anything that moves quickly (perceptibly)
defeats the purpose. If, OTOH, you look at something...
then look at it again 5 minutes later and have to *work*
to figure out what has changed (and *how*), then you're
never quite sure that it actually *did* change.

I.e., someone would have to invest a fair bit of effort to
figure out:
1) that it does move
2) that it moves predictably
3) that it is a timepiece
4) *how* to tell the time based on that

It would be impossible (impractical) to hide the fact that there
is a pump recirculating the water. But, it's relatively easy to
hide the feedback loop so it appears (to mere mortals) to be
"magic" :>

For example, I use a pocketwatch as a compass and always
confuse the hell out of observers trying to deduce the "trick"
from the 10 second observation. Leave people with puzzles to solve
so it makes the experience more memorable. :>
 
"Don McKenzie" <5V@2.5A> wrote in message
news:7uoa2jF5dnU1@mid.individual.net...
It seems that “Google” engineer Bill Buzbee isn’t interested in
microprocessors that can be purchased in marked. There is more fun to
build own. Several years ago he built first “Magic-1” processors
, but now he makes its documentations widely available in his project
website.

http://www.embedds.com/how-hard-is-to-build-a-processor/


Cheers Don...

There's a heap of stuff on the Apollo 11 computer, including instructions to
actually build one, and large chunks of source code for the monitor. It's
fascinating to see such sophisticated code from an era when few of todays
accepted standards were in place.

According to the website, the Apollo 11 machine was made entirely with early
3-input Nor gate ICs, thousands of them, and core memory. The construction
technique was wirewrap, with the backplane encapsulated.
 
On Feb 27, 11:11 am, Joe Pfeiffer <pfeif...@cs.nmsu.edu> wrote:
D Yuniskis <not.going.to...@seen.com> writes:
Hi Joe,

Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar.  The shadow of a post uniquely determines both date and time, if
you look at both angle and length....

Hmmm... is that (really) true?  Or, don't you end up with
*two* date,times for each angle,length?  E.g., won't the
angle,length be the same for HH:MM on the day before and
after the Summer Solstice?  Or, close enough to make it
near impossible to differentiate? (dunno, I find thinking
in 3D on astronomical scales difficult  :> )

Yes, I should have said "just about unique."  I wouldn't be at all
surprised to find out the variation with date won't be possible to
distinguish more accurately than a couple of days, too.

Like me, at least you'll have plenty of Sun to play with! (NM)

I like living down here!
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)

I'm not sure where I got this image in my mind, but I seem to recall
that the motion of the end of the shadow at a given time each day
moves in a figure eight over the course of the year. Ok, I got over
my laziness and googled it. This is called the "analemma" and is
caused by the tilt of the Earth's axis and the elliptical orbit around
the sun. This still does not make the position at all times and days
unique, but it does help a bit (and hurt since it becomes a lot more
complex to label).

Rick
 
On Fri, 26 Feb 2010 23:06:50 -0700, D Yuniskis
<not.going.to.be@seen.com> wrote:

Hi Joe,

Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar. The shadow of a post uniquely determines both date and time, if
you look at both angle and length....

Hmmm... is that (really) true? Or, don't you end up with
*two* date,times for each angle,length? E.g., won't the
angle,length be the same for HH:MM on the day before and
after the Summer Solstice? Or, close enough to make it
near impossible to differentiate? (dunno, I find thinking
in 3D on astronomical scales difficult :> )

Like me, at least you'll have plenty of Sun to play with! (NM)
The elevation of the sun varies very little close to the solstice,
about the solar diameter (0.5 degrees) at +/-8 days from solstice and
only about 12 arc secs at +/- 1 day from the solstice.

Various tropospheric refractions can alter the apparent elevation. The
refraction is worst close to horizon, so the winter solstice will be
worse. Trying to determine sunrise and sun set times is even worse,
since average refraction is just slightly less than one degree and can
vary quite a bit from day to day (even mirages).

The solar elevation changes rapidly close to the equinoxes (about the
solar diameter/day), so this is the best time to determine the date.

Determining the local solar time is easy, just determine when the sun
transmits the meridian (i.e is directly in the South in Northern
hemisphere). Some local clocks are required to divide the time until
the next solar transit into 24 hours. The time between two transits is
not usually 86400 (atomic) seconds, but varies slightly according to
the equation of time (which is due to the elliptical orbit of the
Earth).

Averaging these variation over the year, you can calculate the mean
solar time, in which the day is exactly 86400 seconds long.

Waiting for a year to determine the mean solar time or using a
sufficient accurate local frequency standard, you can determine, if
the actual solar day is longer or shorter than 24 hours, which may
help some ambiguity problems in the elevation measurements.

Determining the date is much harder due to the refractions, but
averaging over a sufficient number of measurements (days), this should
give relative accurate results at the equinoxes.

Once you know the mean solar time and know your longitude, you know
the time at the zone meridian (0, 15, 30, 45 ... degrees E/W). Knowing
your latitude, you can determine in which country you are in and hence
which time zone is actually used at that area. Finally by knowing your
date, will allow you to calculate, if daylight saving time should be
used :).
 
Bill Cooke wrote:

Joe Pfeiffer wrote:

http://www.embedds.com/how-hard-is-to-build-a-processor/
It is a lost art. In the 70's I taught a course that students built
a small computer out of lab modules of TTL chip's. My first
personal computer was micro coded PDP-8 hand built.

Ram was 1K (bits) parts on a wirewrap board.

Walter..


In 1961 a colleague told me of a machine in a lab at Cornell named
CADET, which reputedly stood for "can't add, doesn't even try".

IBM 1620. See http://en.wikipedia.org/wiki/IBM_1620
The IBM 1620 was the first computer I used. It had
some interesting features, a BCD machine with variable length
data words.

I ran a fibonacci series on it to 2000 terms it took 18 hours.

A lot of neat things could be done with the math tables which
could be set at run time. The math tables were also the target
some elaborate pranks in IBM 1620 labs

It was also the first computer that I wrote a compiler for. I
have a lot of good memories of the 1620.

That was a long time ago.

Regards,

Walter..
--
Walter Banks
Byte Craft Limited
http://www.bytecraft.com











--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
 
On 2010-02-27, D Yuniskis <not.going.to.be@seen.com> wrote:
Hi Joe,

Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar. The shadow of a post uniquely determines both date and time, if
you look at both angle and length....

Hmmm... is that (really) true?
yes.

Or, don't you end up with
*two* date,times for each angle,length?
that may happen for some dates of some years :)

--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
 
rickman wrote:
On Mar 6, 1:43 am, Jasen Betts <ja...@xnet.co.nz> wrote:
On 2010-02-27, D Yuniskis <not.going.to...@seen.com> wrote:

Hi Joe,
Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar. The shadow of a post uniquely determines both date and time, if
you look at both angle and length....
Hmmm... is that (really) true?
yes.

Or, don't you end up with
*two* date,times for each angle,length?
that may happen for some dates of some years :)

Actually, it happens for every day of every year other than the
solstices. The two solstices (actually a day or two on either side
depending of the season) has the lowest or highest path across the
sky, so no other day will have quite in that same path. But every
time of every other day (excluding a few seconds at the start and end
of the day when one day has sunshine and the other does not) will
match a time of two days, between spring to fall and one between fall
to spring. The path of the sun may not be the same on those two days,
but each point will map to two different times and days.
So (thinking in terms of a *truly* unique hack), if you *watched*
the motion over the course of a particular day (e.g., 'yesterday'),
could you *uniquely* determine that day?
 
On Mar 6, 1:43 am, Jasen Betts <ja...@xnet.co.nz> wrote:
On 2010-02-27, D Yuniskis <not.going.to...@seen.com> wrote:

Hi Joe,

Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar.  The shadow of a post uniquely determines both date and time, if
you look at both angle and length....

Hmmm... is that (really) true?

yes.

Or, don't you end up with
*two* date,times for each angle,length?  

that may happen for some dates of some years :)
Actually, it happens for every day of every year other than the
solstices. The two solstices (actually a day or two on either side
depending of the season) has the lowest or highest path across the
sky, so no other day will have quite in that same path. But every
time of every other day (excluding a few seconds at the start and end
of the day when one day has sunshine and the other does not) will
match a time of two days, between spring to fall and one between fall
to spring. The path of the sun may not be the same on those two days,
but each point will map to two different times and days.

Rick
 
rickman <gnuarm@gmail.com> writes:

On Mar 6, 1:43 am, Jasen Betts <ja...@xnet.co.nz> wrote:
On 2010-02-27, D Yuniskis <not.going.to...@seen.com> wrote:

Hi Joe,

Joe Pfeiffer wrote:
The clock/calendar I hope to build over the next year or so will be
solar.  The shadow of a post uniquely determines both date and time, if
you look at both angle and length....

Hmmm... is that (really) true?

yes.

Or, don't you end up with
*two* date,times for each angle,length?  

that may happen for some dates of some years :)

Actually, it happens for every day of every year other than the
solstices. The two solstices (actually a day or two on either side
depending of the season) has the lowest or highest path across the
sky, so no other day will have quite in that same path. But every
time of every other day (excluding a few seconds at the start and end
of the day when one day has sunshine and the other does not) will
match a time of two days, between spring to fall and one between fall
to spring. The path of the sun may not be the same on those two days,
but each point will map to two different times and days.
In terms of the project I've got in mind, people are really
over-thinking this..... I'll be very surprised if the shadow ends up
distinguishing the day with better than a couple-of-days precision
anyway.

That said, two days won't follow *exactly* the same path: a fall day's
shadow is going to be between two spring days' shadows, and so forth.
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)
 
Arrrgh -- I misread what you were saying, so my response didn't make
much sense.

But, I still don't expect a point to necessarily correspond to two
date/time pairs. Time is continuous, but days aren't. There will be a
gap between any two days' shadow tracks (probably smaller than the
fuzziness of the shadow caused by diffraction but there all the same).
Unless two tracks exactly overlay for some meaningful part of the
tracks, a given track can only intersect other days' tracks at a finite
number of points points.
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)
 

Welcome to EDABoard.com

Sponsor

Back
Top