Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

apple iie overheat question

49 views
Skip to first unread message

Steven Read

unread,
May 6, 2005, 1:10:23 PM5/6/05
to
Hi. I would like to run an apple iie program that I wrote, for weeks on
end, maybe months. The question is, can I leave it turned on and
running, day and night for this long? Are these prone to overheating?

Steven Read

aiia...@gmail.com

unread,
May 6, 2005, 1:22:41 PM5/6/05
to
Depends on what hardware you have installed.

Since you plan on leaving it on for long periods,
I suggest a cooling fan. Get a 12v PC fan and
put it in the case to move air around inside.

Rich

Laine Houghton

unread,
May 6, 2005, 2:02:51 PM5/6/05
to

"Steven Read" <steveread---...@mindspring.com> wrote in message
news:3yNee.7639$BE3...@newsread2.news.pas.earthlink.net...

Consider how many BBS's were run 24/7/365 on their apple 2's

Martin Doherty

unread,
May 6, 2005, 2:25:58 PM5/6/05
to
Apart from installing an electric fan and reducing the plug-in cards to
the minimum, you could take a few other simple precautions: take off
anything sitting on top of the apple, remove the lid, make sure there is
no direct sunlight and the room itself is not too warm, etc.

The thing you are trying to avoid is trapped air inside that will just
keep getting hotter.

Martin

Steven Read

unread,
May 6, 2005, 2:54:01 PM5/6/05
to
Awesome! Apple-ii BBS! I forgot all about those. I have NO cards
installed other than a disk controller, and the disk will not be running
during this period. How would I attach a fan? I looked at the board
and didn't see any power connections possible. But it sounds like, if I
keep this in a cool basement, with the lid off, I might be OK, eh?
Sweet! But I am still curious about attaching a 12v pc fan...

Steven Read

Silicon Sam

unread,
May 6, 2005, 3:09:10 PM5/6/05
to
We had a Networks BBS running for several years on a ][+ after hours
at our shop in the late 70's early 80's. The machine ran our POS
during the day, and BBS at night. Only time it ever cratered is when
of the guys pulled out a disk controller without powering the machine
down first. Ouch!

Raymond

Martin Doherty

unread,
May 6, 2005, 3:08:27 PM5/6/05
to
Steven Read wrote:

In 1983 I wrote an Apple Pascal program to read a list of words and try
to construct crosswords, scoring the results on how many words were
included (the longer the better). It was an interesting exercise in
recursive programming, but I was horrified at how slowly the results
trickled out. I did leave it running for a week once, to little effect.
I had the Apple sitting in my bedroom, with its Monitor III sitting on
the monitor stand in the usual position, with no fan, and everything
worked beautifully (albeit at snail's pace).

I'm curious about the nature of your application. Nobody today would
seriously propose using an Apple II simply for its raw power to compute
a result, if that's what you want then you could run it in an emulator
at full speed and get the answer before the coffee pot stops perking.

It's not a BBS.

It's not a home control system (no cards except disk).

What is it?

Scott Alfter

unread,
May 6, 2005, 3:11:49 PM5/6/05
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In article <3yNee.7639$BE3...@newsread2.news.pas.earthlink.net>,

Back in the day, I ran a BBS on a IIe. Nowadays, a IIe and a IIGS keep my
beer cold with some custom software I wrote and some hardware I built. The
power consumption of these machines is minimal, compared to more modern
hardware. The typical IIe config (128K, a serial card, and a floppy
controller) will barely get above room temperature.

_/_
/ v \ Scott Alfter (remove the obvious to send mail)
(IIGS( http://alfter.us/ Top-posting!
\_^_/ rm -rf /bin/laden >What's the most annoying thing on Usenet?

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCe8KnVgTKos01OwkRArLzAJ4pHwAfvsMahazlcQC+bNUwhGMbvgCfSn6Z
3p6ZMo/kNKnwgVKHC/dpkBo=
=maKO
-----END PGP SIGNATURE-----

Scott Alfter

unread,
May 6, 2005, 3:49:49 PM5/6/05
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In article <cvPee.38$r04...@news.oracle.com>,


Martin Doherty <martin....@undisclosed.com> wrote:
>In 1983 I wrote an Apple Pascal program to read a list of words and try
>to construct crosswords, scoring the results on how many words were
>included (the longer the better). It was an interesting exercise in
>recursive programming, but I was horrified at how slowly the results
>trickled out.

One assignment I was given in an introductory computer-science course was to
write a program to generate the Fibonacci sequence. Since each number in
the sequence is the sum of the previous two numbers (with the first two
being defined as 1), I had a brain-fart that said a recursive function F(n)
to find the nth number in the sequence would be cool:

double F(int n)
{
if (n<3)
return 1;
else
return F(n-1)+F(n-2);
}

(F() returns double instead of int because the Fibonacci sequence rapidly
causes int to overflow on 32-bit hardware. I think the course was long
enough ago that it would've used Pascal instead of C, but that's an
implementation detail.)

This proved to be a demonstration of the principle that a little bit of
knowledge can be dangerous. :-)

For small values of n, it worked well enough. For values up above 100 or
so, it quickly ground to a crawl. Whether I ran it on a Sun SPARCstation 1,
a NeXTcube, or the Convex supercomputer across the hall from the lab that
they let us play with, it'd hit a wall in performance somewhere.

Not having any experience at the time with runtime analysis or any real
knowledge of how things get done under the hood, I hadn't figured on the
exponential growth of the stack space (and also of runtime) required to
evaluate F(n) for even moderately large values of n.

The instructor dropped a hint that an iterative approach would be better:

double F(int n)
{
double n1=0;
double n2=0;
double r=0
int i;

for (i=1; i<=n; i++)
{
r=n1+n2;
if (r==0)
r=1;
n2=n1;
n1=r;
}
return r;
}

It doesn't look as nice, but it ran much faster.

_/_
/ v \ Scott Alfter (remove the obvious to send mail)
(IIGS( http://alfter.us/ Top-posting!
\_^_/ rm -rf /bin/laden >What's the most annoying thing on Usenet?

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCe8nvVgTKos01OwkRAnAeAKCLAvV6IdAz3NpVVjWS5gWfmizxIgCfck6T
eXnkj/eqfxxyoxN5JyUBSPY=
=ZO3X
-----END PGP SIGNATURE-----

Laine Houghton

unread,
May 6, 2005, 4:11:26 PM5/6/05
to

"Steven Read" <steveread---...@mindspring.com> wrote in message
news:d3Pee.7768$BE3....@newsread2.news.pas.earthlink.net...


You could pop a bare board in a slot to tap 12 volt power. There are plenty
of places on the MB you could solder to for the power.

Easiest would be to keep your eyes open for a system saver in the junk yards
and second hand shops.

http://www.microsaver.com/html/2182.html


Steven Read

unread,
May 6, 2005, 4:26:00 PM5/6/05
to
Ahhhh, but that's a secret! Can you imagine - apple ii software
development secrets in 2005?!? Emulators will not do - I need the real
hardware, the materiality of it. Actually, this is an art project -
there is no valid business logic for this mayhem. And right now, I
can't give up my secrets! :)

Steven Read

Sean Fahey

unread,
May 6, 2005, 5:05:32 PM5/6/05
to
"Martin Doherty" <martin....@undisclosed.com> wrote in message
news:nTOee.37$r04...@news.oracle.com...

> The thing you are trying to avoid is trapped air inside that will just
> keep getting hotter.

Physics Police! Physics Police!


Sean Fahey

unread,
May 6, 2005, 5:18:30 PM5/6/05
to
"Martin Doherty" <martin....@undisclosed.com> wrote in message
news:cvPee.38$r04...@news.oracle.com...

> I'm curious about the nature of your application. Nobody today would
> seriously propose using an Apple II simply for its raw power to compute
> a result, if that's what you want then you could run it in an emulator
> at full speed and get the answer before the coffee pot stops perking.

10 years ago, I worked at a State of Kansas facility that was constantly
strapped for cash - before I left, the School was pitching a bunch of Apple
IIe and GS computers and unfortunately, I couldn't save them personally
unless I had an application for them.

Well, all the network engineers were whining about taking their laptops into
the tight LAN closets to interface with Cisco routers and (at the time)
Cabletron network gear - barely enough room to stand, let alone work and the
laptops back then we more LUGTOP and laptop.

Presto, install a rack shelf and a IIe with a SSC and custom wird cable and
viola, instant dedicated terminal - no extra cooling was ever needed, and
the Apple II's ran for years without so much as a problem - they were only
rebooted when we switched out the "modern" equipment.


Scott Hemphill

unread,
May 6, 2005, 5:20:45 PM5/6/05
to
sal...@salfter.diespammersdie.dyndns.org (Scott Alfter) writes:

You could still use recursion, but tame it a little bit by not recalculating
a value that has already been calculated:

#define MAXTABLE 2000 // or whatever
double F(int n)
{
static double fibtable[MAXTABLE] = {0, 1};
static int maxfib = 1;
if (n < 0 || n >= MAXTABLE) return 0; // catch error
if (n > maxfib) {
fibtable[n] = F(n-1) + F(n-2);
maxfib = n;
}
return fibtable[n];
}

Or, you could compute the answer directly, without recursion or iteration:

#include <math.h>
double F(int n)
{
const double c1 = 0.48121182505960344749775891342437; // magic constants
const double c2 = 0.80471895621705018730037966661309; // :-)
// let n < 0 fall through. function will return zero
return floor(0.5 + exp(n*c1-c2));
}

Scott
--
Scott Hemphill hemp...@alumni.caltech.edu
"This isn't flying. This is falling, with style." -- Buzz Lightyear

Steven Read

unread,
May 6, 2005, 5:55:57 PM5/6/05
to
I just love all these apple ii workhorse stories! A true machine. The
last time I messed with a vintage computer, was a couple years ago, it
was a c64. That piece of garbage was blowing sid chips and overheating
and breaking power bricks ever frickin hour. I even tried about 3 or 4
different c64s - they all blew hard! Thanks for all the help everyone.
And of course more workhorse stories please...

Steven Read

Don Bruder

unread,
May 6, 2005, 6:09:56 PM5/6/05
to
In article <d3Pee.7768$BE3....@newsread2.news.pas.earthlink.net>,
Steven Read <steveread---...@mindspring.com> wrote:

Run it. You've got nothing to worry abotu uless it's sealed up somehow,
or the room hits 120+F.

If you happen to stumble across a Kensington System Saver at a thrift
store, I wouldn't hesitate to pick it up and hang it on the side of the
beast if it was cheap (I liked having a power switch up front and an
extra socket on the back that it controlled that would cut everything
with one clearly audible "CLICK" in the event of a lightning storm), but
I definitely wouldn't be sweating over trying to find one in your
position.

When I was running, though... Well, a Kensington was pretty much
mandatory. My rig was crammed with a Disk II card in slot 4, a UniDisk
3.5 card in slot 5, and a controller for a pair of the newer "push in on
the dingus on the front to make the disk pop out" type floppy drive that
replaced the Disk II (UniDrive?) in slot 6, an Aux slot 4 meg RAM card,
SSC for the Immy 2 in slot 1, Another SSC for the modem (A blazing fast
- for its day - 1200 baud "Zoom HS") in slot 2, Transwarp IIe in slot 3,
and my pride and joy in slot 7: An Apple SCSI card talking to a 20 meg
Apple HDSC external hard drive and an Apple CD-SC caddy-style CD-ROM
drive, both of which were $200 toys that had been used as display units
on a Mac at the local computer store.

Nowdays, if a HD costs 200 clams, it better-by-god be at least half a
terrabyte, eh? And 200 bucks for a straight-up, single speed CD-ROM
drive??? ARE YOU STONED?!?!? Or just stupid? Offer him an Abe, and
you're STILL getting robbed! How times change, huh? :)

--
Don Bruder - dak...@sonic.net - New Email policy in effect as of Feb. 21, 2004.
Short form: I'm trashing EVERY E-mail that doesn't contain a password in the
subject unless it comes from a "whitelisted" (pre-approved by me) address.
See <http://www.sonic.net/~dakidd/main/contact.html> for full details.

Gregory Weston

unread,
May 6, 2005, 8:20:21 PM5/6/05
to
In article <UWRee.888$T3....@typhoon.sonic.net>,
Don Bruder <dak...@sonic.net> wrote:

> Nowdays, if a HD costs 200 clams, it better-by-god be at least half a
> terrabyte, eh? And 200 bucks for a straight-up, single speed CD-ROM
> drive???

$500 for my CDSC, and that was a _HUGE_ discount because Apple really
wanted all their developers to get them. I believe list was about $1200.

> ARE YOU STONED?!?!? Or just stupid? Offer him an Abe, and
> you're STILL getting robbed! How times change, huh? :)

--
There's nothing quite like the joy of first hearing an Alvin & the Chipmunks
cover of Pink Floyd's "The Final Cut." "Not Now John" is especially sublime.

PZ

unread,
May 7, 2005, 2:10:40 AM5/7/05
to
My //e (originally beige, but custom painted platinum to match all of
my platinum peripherals) was/is loaded.

S1:Serial Pro - Printer & Clock
S2:SSC w/Turbo ASB board - Modem
S3:Needham's Eprom Programmer
S4:Apple Mouse card
S5:Apple Superdrive Controller
S6:Laser UDC
S7:Ramfast Rev c Scsi.

Ram: Ramworks III w/1.5megs installed & RGB option
Also: 8mhz Zip Chip

I kept the lid closed. I used a kensington system saver, but I don't
know if the thing ever generated any heat in the first place. Never
had a problem and I left the thing on most of the time for about an 8
year period during the late 80's and early 90's.

For your setup, I wouldn't worry, enjoy the silence!!!

-Paul

Hidehiko Ogata

unread,
May 7, 2005, 1:59:31 PM5/7/05
to
Scott Hemphill wrote:

> You could still use recursion, but tame it a little bit by not recalculating
> a value that has already been calculated:
>
> #define MAXTABLE 2000 // or whatever
> double F(int n)
> {
> static double fibtable[MAXTABLE] = {0, 1};
> static int maxfib = 1;
> if (n < 0 || n >= MAXTABLE) return 0; // catch error
> if (n > maxfib) {
> fibtable[n] = F(n-1) + F(n-2);
> maxfib = n;
> }
> return fibtable[n];
> }

Hmm, shouldn't today's compilers be smart enough to detect and
optimize tail-recursion? As in:

double fib(int n)
{
return fib_iter(1, 0, n);
}

double fib_iter(double old, double older, int count)
{
return count ? fib_iter(old + older, old, --count) : older;
}

(Excuse me for butting in... it's an irresistible subject for
a scheme fan ;)
--
// }{idehiko ()gata "I hope I didn't hurt you too much
\X/ Amiga since '86 when I killed you..." - Elmer Fudd

bekkoame is a classic Japanese candybar.

Scott Hemphill

unread,
May 7, 2005, 5:12:30 PM5/7/05
to
"Hidehiko Ogata" <h...@aqu.candybar.ne.jp> writes:

> Scott Hemphill wrote:
>
> > You could still use recursion, but tame it a little bit by not recalculating
> > a value that has already been calculated:
> >
> > #define MAXTABLE 2000 // or whatever
> > double F(int n)
> > {
> > static double fibtable[MAXTABLE] = {0, 1};
> > static int maxfib = 1;
> > if (n < 0 || n >= MAXTABLE) return 0; // catch error
> > if (n > maxfib) {
> > fibtable[n] = F(n-1) + F(n-2);
> > maxfib = n;
> > }
> > return fibtable[n];
> > }
>
> Hmm, shouldn't today's compilers be smart enough to detect and
> optimize tail-recursion? As in:
>
> double fib(int n)
> {
> return fib_iter(1, 0, n);
> }
>
> double fib_iter(double old, double older, int count)
> {
> return count ? fib_iter(old + older, old, --count) : older;
> }
>
> (Excuse me for butting in... it's an irresistible subject for
> a scheme fan ;)

I don't mind at all. The topic was already straying from the Apple ][.
GNU cc doesn't do this optimization. I'll leave the topic of whether it
should to others.

I was hoping that somebody would bite on my direct calculation for the
Fibonacci sequence, wondering where my "magic constants" came from, and
why it works. I guess most people either already know, or don't care.

ano...@netscape.net

unread,
May 7, 2005, 8:50:02 PM5/7/05
to

Scott Hemphill wrote:
<snip>

>
> I was hoping that somebody would bite on my direct calculation for
the
> Fibonacci sequence, wondering where my "magic constants" came from,
and
> why it works. I guess most people either already know, or don't
care.
>

Hmm. Well, I care! :)
Please, elaborate? I haven't had a chance to even try it, yet!

Ben

mspangler

unread,
May 7, 2005, 11:51:33 PM5/7/05
to

As has been posted before, no problem, unless you have some high-power
cards in there. My data logger has been running for a year and three
months, with three outages for resetting the clock at DST on/off (also
resetting the clock due to drift at the same time). The only cards in
it are super serial, floppy controller, and the no-slot clock. Since
it's out in the unheated garage, I've been more worried about the cold
causing problems, but it keeps running.

The data aquisition is running through the paddle ports, and a voltage
to frequency converter that uses the cassette port. It works pretty
well, but I wish I'd bought some real ADC cards back when Applied
Engineering was still around. An IO 32 would be nice too.

Mike S.

Kirk Mitchell

unread,
May 8, 2005, 2:42:01 AM5/8/05
to
Sean Fahey <a2...@hotmail.com> wrote:

: Presto, install a rack shelf and a IIe with a SSC and custom wird cable and


: viola, instant dedicated terminal - no extra cooling was ever needed, and
: the Apple II's ran for years without so much as a problem - they were only
: rebooted when we switched out the "modern" equipment.

You rock, dude!

--
Kirk

Kirk Mitchell

unread,
May 8, 2005, 2:47:14 AM5/8/05
to
Sean Fahey <a2...@hotmail.com> wrote:

: Presto, install a rack shelf and a IIe with a SSC and custom wird cable and

Oh... and note that I didn't make fun of YOUR spelling errors .... wird
cable indeed...

Damn! OK, forget that note, and we can duke it out at KFest... B-{)

--
Kirk

Hidehiko Ogata

unread,
May 8, 2005, 1:37:06 PM5/8/05
to
Scott Hemphill wrote:

> > (Excuse me for butting in... it's an irresistible subject for
> > a scheme fan ;)
>
> I don't mind at all. The topic was already straying from the Apple ][.
> GNU cc doesn't do this optimization. I'll leave the topic of whether it
> should to others.

Might as well... at least the growth is linear, so it shouldn't suck
as bad :).

> I was hoping that somebody would bite on my direct calculation for the
> Fibonacci sequence, wondering where my "magic constants" came from, and
> why it works. I guess most people either already know, or don't care.

Or scared of the scantiest smell of hard math? 8)

ObOT: is there any minor revision among ROM3? I have two ROM3 IIgs'es
which put up different control panels.

Scott Hemphill

unread,
May 8, 2005, 5:35:54 PM5/8/05
to
"ano...@netscape.net" <ano...@netscape.net> writes:

The first step is to find a closed form for the Fibonacci sequence. Let's
call any sequence starts with two numbers a0 and a1 and then is further
defined by a2=a1+a0, a3=a2+a1, etc. an "additive sequence". If you
multiply an additive sequence {a0,a1,a2,...} by a constant, then the
result is an additive sequence. If you add two different additive
sequences {a0,a1,a2,...} and {b0,b2,b2,...} together, the result is also
an additive sequence. Suppose we know a closed form for calculating two
different additive sequences. Then we can "mix" them by multiplying the
first sequence by one constant, the second sequence by another constant,
and adding that together. If we are careful about choosing the constants,
we can arrange that the first number of the resulting additive sequence is
zero and the second number is one, and the sequence will therefore be the
Fibonacci sequence.

Here's how this works:

Look at the sequence {1,g,g^2,g^3,...}. If g^2=g+1, then the sequence
is additive because (multiplying both sides of the equation by g) g^3=g^2+g.
If you keep multiplying both sides of the equation by you wind up with
g^4=g^3+g^2, etc.

So what does "g" have to be to make this sequence additive? The quadratic
equation g^2-g-1=0 has two roots, (1+sqrt(5))/2 and (1-sqrt(5))/2.
The first solution is the "golden ratio", 1.618... and the second is
-0.618.... From this point on, I'll use "g" to refer to the golden ratio,
and "1-g" to refer to the other solution of g^2-g-1=0.

So we have just come up with closed forms for two additive sequences:

{1,g,g^2,...} and {1,1-g,(1-g)^2,...}.

We want to mix these by multiplying each by a constant and adding that
together in such a way as to form the Fibonacci sequence.

c {1,g,g^2,...} + d {1,1-g,(1-g)^2,...} = {0,1,1,2,...}

If the first number of the sequence is going to be zero, then c + d = 0,
or d = -c. Then we have:

c {1,g,g^2,...} - c {1,1-g,(1-g)^2,...} = {0,1,1,2,...}

If the second number of the sequence is going to be one, then c*g-c*(1-g)=1,
or c=1/(2*g-1)=1/sqrt(5).

So we now have a closed form for the nth term of the Fibonacci sequence:

(g^n-(1-g)^n)/sqrt(5)

Now look at what happens as n gets bigger and bigger. "g" is bigger than
one, so g^n keeps growing. However (1-g) has absolute value less than one,
so (1-g)^n keeps getting closer and closer to zero. If n is large enough,
we can forget about the (1-g)^n term completely. So lets look at the
sequence defined by g^n/sqrt(5):

{0.447214, 0.723607, 1.17082, 1.89443, 3.06525, 4.95967, 8.02492,
12.9846, 21.0095, 33.9941, 55.0036, ...}

We can see that it gets closer and closer to the Fibonacci sequence. The
contribution of the (1-g)^n is small enough that we can ignore it completely
for all n>=0. All we have to do is to round the sequence to the nearest
integer, and it will be correct for all n.

{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...}

So the equation implementing the closed form solution looks something like:

round(pow(g,n)/sqrt(5)), where g = 1.6180339887498948482045868343656
and sqrt(5) = 2.2360679774997896964091736687313

round is not a standard C function, but can be implemented as floor(0.5+ ...)

Since pow(g,n) might overflow in cases where pow(g,n)/sqrt(5) is still
within the representable range of numbers, and who knows, exp might be
faster than pow, I transformed pow(g,n)/sqrt(5):

pow(g,n)/sqrt(5) = exp(log(pow(g,n)/sqrt(5))
= exp(n*log(g)-log(sqrt(5))

This is nice because the two logarithms are both constants.

log(g) = 0.48121182505960344749775891342437
log(sqrt(5)) = 0.80471895621705018730037966661309

So that should pretty much how I came up with this implementation

> #include <math.h>
> double F(int n)
> {
> const double c1 = 0.48121182505960344749775891342437; // magic constants
> const double c2 = 0.80471895621705018730037966661309; // :-)
> // let n < 0 fall through. function will return zero
> return floor(0.5 + exp(n*c1-c2));
> }

Scott

Michael J. Mahon

unread,
Jun 4, 2005, 3:04:55 AM6/4/05
to
Steven Read wrote:
> Awesome! Apple-ii BBS! I forgot all about those. I have NO cards
> installed other than a disk controller, and the disk will not be running
> during this period. How would I attach a fan? I looked at the board
> and didn't see any power connections possible. But it sounds like, if I
> keep this in a cool basement, with the lid off, I might be OK, eh?
> Sweet! But I am still curious about attaching a 12v pc fan...

Just turn it on--you will have no overheating problem.

Any fan made would be less reliable than your Apple, as-is.

-michael

8-voice music synthesizer using NadaNet networking!
Home page: http://members.aol.com/MJMahon/

0 new messages