[comp.sys.atari.8bit] Linking two computers

NU109703@NDSUVM1.BITNET (02/14/88)

I would like to be able to hook up two atari computers for interactive games,
etc. that require that you do not see the screen of the other person.
     
My brother and I both have Atari 800XL's with parallel ports.  I was wondering
if I could buy a parallel-to-parallel cord to use for data transmissions,
(for a game of battleship, for example).
     
If I could, then I want to write an interrupt routine for data tranmissions.
This, as you probably can see, is not necessary for a game like battleship,
but it would be great for some type of space or fast moving game.
That way you would not have to write special programs for two displays,
you could write a program in which the inputs would be from:
    (1) You - your keyboard and joystick inputs.
    (2) Other person - parallel interface inputs.
     
A program could then give a "personal" feel. You would always be the
#1 player, the subject of all attention.  Also, a program would not
be written for awkward sharing of the keyboard.
     
It may be difficult to decode the interface inputs, but I'm ready to
sacrifice a little work to get some type of interactive but still two
separate user system.
     
Can I do it?
If I could, I would probably send in the results to a magazine like
Antic or Compute (I'd like to get some money for it) and then I would
write some programs for it.  I have knowledge of machine language,
VBI's and DLI's.  I have the technical reference manual, but I find it
hard to understand sometimes, especially I/O, since I really don't have
the time for it.  I am hoping for a Co-op job this spring and summer,
so I'll be in the position that I want to be: working with computers,
but still free enough to use my time as I want to (No finals).
     
If the magazine accepts my ideas, I would then write programs that use
the two computers hooked up and possibly send them in.
     
I have never used the parallel interface before, so I don't know if it
is bidirectional or not.  If it is not, I could use the status lines and
hope I could figure a way to decode and encode them. (I.E. signals for
data, quit data, start data, ready to read or write, etc.)
Using the printer lines would also make it possible to use the disk drive
normally and store program results.  It would consist of a mutual agreement
between the programs that no data will be transferred and when the disk
operation is done, data may be tranferred again, possibly accomplished
by some internal flag that the interrupt routine works on.  This
could provide some SPECTACULAR computer-vs-computer games with a very
fast interrupt routine and some randomization in the programs.
     
Sorry, if I have gotten on an arctangent, but I think this would be a
good idea, even if difficult to implement.  But I think after it is
implemented, this could be used simply by building on a basic framework
for a program to be written.
     
Steve Lent - (ask me and I'll tell you what they called me in HS)
North Dakota State University
     
"If it breaks, buy a new one."
"If it doesn't break, the engineer doesn't know what he's doing and gets
fired."
     
Born on November 1, 1966: it was kind of nice to have halloween candy
and birthday presents at the same time.

swklassen@trillium.waterloo.edu (Steven W. Klassen) (02/19/88)

> I would like to be able to hook up two atari computers for interactive games,
> etc. that require that you do not see the screen of the other person.
>
> My brother and I both have Atari 800XL's with parallel ports.  I was wondering
> if I could buy a parallel-to-parallel cord to use for data transmissions,
> (for a game of battleships, for example).

I sent a solution to a similar problem to someone on the bit-net quite
awhile ago.  This time I guess I will make it public (perhaps there are
others out there who are interested).

Although this solution isn't exactly what you asked for (I have no info
on Atari XL parallel ports [unless of course you're referring to the expansion
slot on the back]) it may be useful to you.

The joystick ports on the Atari 8-bits can be configured for output as well
as for input.  This will rule out joysticks (except on the old 400/800s) but
will allow you to communicate between your computers.

STEP #1 - THE HARDWARE
This is the easy part.  All you need are two joystick extension cords and two
nine-pin joystick plugs, all available at your local Radio Shack.  Cut the
cords at the end in which you would normally plug your joystick (not the end
which plugs into the computer) and strip the green, yellow, orange, red
and grey wires enough so you will be able to solder them onto the plugs.
The other wires are not needed so you might want to cut them a little shorter
just to keep them out of the way.   Solder both cords as shown below:

	PIN	JACK 1	    JACK 2	WIRE
	
	1	data 0	    data 4	Green
	2	data 1      data 5      Yellow
	3	data 2	    data 6	Orange
	4	data 3	    data 7	Red
	8	ground	    ground	Grey

To test the interface, plug it into both computers (the one in port 1 of one
computer should also be in port 1 of the other computer), turn them on and
try the following test:  On one computer type POKE 54018,56:POKE 54016,0:
POKE 54018,60:FOR N=0 TO 0 STEP 0:? PEEK(54016):NEXT N.  On the other
computer type POKE 54018,56:POKE 54016,255:POKE 54018,60.  Now, still on the 
second computer POKE 54016 with any value from 0 to 255 and the same value
should appear on the screen of the first computer.  If not, something has
been done wrong (check your wiring).

STEP #2 - THE SOFTWARE

In order to make practical use of the interface, you need to write a driver.
Following is one that I have written (WARNING! This is a BARE-BONES driver
with ALMOST NO error checking! You will want to spruce things up a bit
before you trust it with anything substantial.)

The program will install the driver in memory and then change LOMEM in order
to protect it.  This wastes all the memory between the initial position of
LOMEM and the start of the program so you will want to change things (ie.
make it relocatable and automatically loading above LOMEM) to overcome this.
[Note that my program was written a couple of years ago as an experiment -
it was never intended to be a comprehensive driver - still, it does
illustrate the basics of what is required in a driver.]

Once the driver is installed properly, you can communicate between the
two computers using the normal OPEN,CLOSE,PUT,GET,READ,etc. commands
specifying the 'X:' device.  I have tested this in BASIC but have not
had a chance to do so with C or Action! (I no longer have two Ataris).
It should, however, work with any program or language which sticks to
Ataris standard I/O procedures.

For more information see _Mapping_the_Atari_.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Using the "X:" device to
; communicate between two Ataris.
; by Steven W. Klassen
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ** Equates
	.OPT OBJ, NO EJECT
HATABS = $031A
START = $3000		; change to suit memory.
MEMLO = $02E7
ICAX1Z = $2A
PACTL = $D302
PORTA = $D300
	*= START
TEMP	*= *+2
;
; Installation routine
;
LOADIT
	LDX #0		; start of table
SEARCH
	LDA HATABS,X	; check symbol
	BEQ FOUNDONE	; found empty
	CMP #'X		; already there?
	BEQ ALREADYTHERE	; yes!
	INX		; skip 3 to point
	INX		; to the next
	INX		; entry
	BNE SEARCH	; keep looking!
	RTS		; something wrong!
; end of table--extend it
FOUNDONE
	LDA #'X		; put in name X:
	STA HATABS,X
	LDA # <DRIVER	; LSB of driver
	STA HATABS+1,X
	LDA # >DRIVER	; MSB of driver
	STA HATABS+2,X
	LDA #0		; new table end
	STA HATABS+3,X
; change LOMEM
CHNGLOMEM
	LDA # <DRIVEREND	; LSB of top
	STA MEMLO
	LDA # >DRIVEREND	; MSB of top
	STA MEMLO+1
	RTS		; all done!
;
; BASIC entry point
ALREADYTHERE
	JMP CHNGLOMEM
;
; and here is the driver!
;
DRIVER
	.WORD XOPEN-1	; driver...
	.WORD XCLOSE-1	; routine...
	.WORD XGET-1	; address...
	.WORD XPUT-1	; table.
	.WORD XSTATUS-1
	.WORD XXIO-1
SUCCESS
	LDY #1		; keep good status
	RTS		; bye!
ERROR
	LDY #$92	; func not allowed
	RTS		; bye!
;
XOPEN
	LDA ICAX1Z	; type of open
	CMP #8		; write?
	BEQ WRITE	; yes!
	CMP #4		; not write-read?
	BNE ERROR	; no--something wrong!
	LDA #$38	; set for read
	STA PACTL	
	LDA #$A0	; bin--1010 0000
	STA PORTA
	LDA #$3C
	STA PACTL
	LDA #$00	; set porta...
	STA PORTA	; to 0
	JMP SUCCESS	; done!
WRITE
	LDA #$38	; set for write
	STA PACTL
	LDA #$5F	; bin--0101 1111
	STA PORTA
	LDA #$3C
	STA PACTL
	LDA #$00	; set porta...
	STA PORTA	; to 0
	JMP SUCCESS	; done!
;
XCLOSE
	LDA #$38	; return port A
	STA PACTL	; to input for
	LDA #$00	; the joysticks
	STA PORTA
	LDA #$3C
	STA PACTL
	JMP SUCCESS	; done!
;
XGET
	LDA PORTA	; check for ready
	AND #16		; bin-0001 0000
	BEQ XGET	; not ready yet
	LDA PORTA	; get four bits
	AND #15		; bin-0000 1111
	STA TEMP	; store 4 bits
LOOP1
	LDA #32		; bin-0010 0000
	STA PORTA	; ask for more
	LDA PORTA	; check for ready
	AND #$40	; bin-0100 0000
	BEQ LOOP1	; not there yet
	LDA PORTA	; get 4 bits
	AND #15		; bin-0000 1111
	ASL A		; move right 4
	ASL A		; bits to the
	ASL A		; left 4
	ASL A
	AND #240	; just be sure!
	ORA TEMP	; put the two together!
	STA TEMP	; store in TEMP
	LDA #$80	; bin-1000 0000
	STA PORTA	; thank you!
	LDX #25		; slight pause
LOOP2
	DEX
	BNE LOOP2
	LDA #$00	; clear porta
	STA PORTA
	LDA TEMP	; put num in accumulator
	JMP SUCCESS	; all done
;
XPUT
	STA TEMP	; save byte
	AND #15		; bin-0000 1111
	ORA #16		; bin-0001 0000 (ready)
	STA PORTA	; send 1st 4 bits
LOOP3
	LDA PORTA	; acknowledge?
	AND #32		; bin-0010 0000
	BEQ LOOP3	; no!
	LDA TEMP	; yes-load original
	LSR A		; shift left 4
	LSR A		; bits to the 
	LSR A		; right
	LSR A
	AND #15		; bin-0000 1111 (just making sure)
	ORA #$40	; bin-0100 0000 (ready flag)
	STA PORTA	; send last 4 bits
LOOP4
	LDA PORTA	; acknowledge?
	AND #$80	; bin-1000 0000
	BEQ LOOP4	; no-try again
	LDA #$00	; yes! turn off ready flag
	STA PORTA	; turn off ready
	JMP SUCCESS	; we're done
;
XSTATUS			; unimplemented options
XXIO
	JMP ERROR
;
DRIVEREND = *+$FF&$FF00
	.END


I hope that all this helps.

> ...I would probably send in the results to a magazine like Antic or
> Compute...

Good luck!  When I sent it to ANALOG two years ago they sent it back to
me saying something about a lack of reader interest in the subject.
(I guess they think we're only interested in games :-)


S. W. Klassen
Computer Science Major
University of Waterloo

jhs@MITRE-BEDFORD.ARPA (02/20/88)

>   I would like to be able to hook up two atari computers for interactive
>   games, etc. that require that you do not see the screen of the other
>   person.
     
>   My brother and I both have Atari 800XL's with parallel ports.  I was
>   wondering if I could buy a parallel-to-parallel cord to use for data
>   transmissions, (for a game of battleship, for example).
Just what port are you referring to by "parallel port"?  Do you have an 850
interface with Centronics printer port or are you referring to the joystick
ports or to the 50-pin bus connector on the back of the 800XL?
Actually, in only one of these cases is there much hope of doing what you ask
with just a "cord".  That is the case of the joystick ports.  I think you
could in fact wire them up with a simple cord and then program them to talk
back and forth.  Of course then you would have no place to plug in the
joysticks, so you would wind up having to do something more complicated than
just a "cord".

I don't think there is any way to program the Centronics ports to accept
inputs, so the 850 approach would require using a serial port at each 850,
which actually is another possibility.

The 50-pin parallel bus connector on the back of the 800XL is hardly a
"parallel port".  If you tied two of these together, I think all that would
happen is both computers would crash because their address lines would
conflict.  You could do almost anything your heart desires with this "port"
but you would have to design an interface from the internal CPU bus (which is
what is on this connector) to the external gadget.  I.e. it's not a question
of a "cord".

>   I have knowledge of machine language, VBI's and DLI's.  I have the
>   technical reference manual, but I find it hard to understand sometimes,
>   especially I/O, since I really don't have the time for it.  I am hoping
>   for a Co-op job this spring and summer, so I'll be in the position that I
>   want to be: working with computers, but still free enough to use my time
>   as I want to (No finals).
I would hate to discourage you from undertaking your project, but from the
tone of your question I get the impression that you may not have much idea
of how much hardware design is involved.  Tackling the project would
undoubtedly teach you a lot about computers, but don't underestimate the
effort involved.

And, finally, a comment that I wish I could go back and tell myself when I
was your age:  Don't think you will have more time to do this project at
any future time in your life.  You almost certainly WILL NOT.  You will just
get busier and busier, at least until you retire at age 65.  The best thing
you could possibly do with your life is to BELIEVE THESE WORDS, think about
their implications, and then figure out how to take this awful news into
account in planning how to live your life right now.  More likely, you will
think I am being silly and will only realize the truth of what I have said
when you are about 40 or 50.  Good luck, either way.

-John Sangster, jhs@mitre-bedford.arpa

NU109703@NDSUVM1.BITNET (02/20/88)

By the way, this past week has been the busiest of my life.
Here's how it goes: Start working on my class project at 8:00 PM
Work on it for, say, 16 Hours, Go to class for another 3 hours,
Go to sleep for 5 hours (By the way, I have eaten supper at the normal
time only about once in the past week).  Yesterday, I ate nothing.
Then repeat this process for 6 days straight.  Keep in mind that
this was a horribly confusing process.  We (team of 2) were working
on a simulator of a M6800 Chip, with a simulator portion and a microcode
portion, which was supposed to take about 6 weeks.  He had the microcode
portion, and I had the fortran simulator to do.  His microcode project
was not written very well, so I took it over and wrote the entire
microcode in 4 days.  Well, you know that it's very hard to keep track
of, and I'll have to take the course over again next year, but at least
I'll know *exactly* what the course is about, and should get an A or B.
-- Consider my present situation first.

sullivan@marge.math.binghamton.edu (fred sullivan) (02/21/88)

In article <8802191655.AA26182@mitre-bedford.ARPA> jhs@MITRE-BEDFORD.ARPA writes:
>Actually, in only one of these cases is there much hope of doing what you ask
>with just a "cord".  That is the case of the joystick ports.  I think you
>could in fact wire them up with a simple cord and then program them to talk
>back and forth.  Of course then you would have no place to plug in the
>joysticks, so you would wind up having to do something more complicated than
>just a "cord".
>
So how many joystick ports are there?  My 800/Fossil has four.  Is there
only one on an XL?

Fred Sullivan
Department of Mathematical Sciences
State University of New York at Binghamton
Binghamton, New York  13903
Email: sullivan@marge.math.binghamton.edu

cfchiesa@bsu-cs.UUCP (Sir Xetwnk) (02/22/88)

In reference to Fred Sullivan's query, the 800XL has TWO joystick ports; the
discussion that claims "but then you wouldn't be able to plug in your joy-
stick" assumes (quite natrally) that one wishes to perform 8-bit I/O -- and
it happens that each joystick port accesses FOUR bits.  Therefore you need
TWO joystick ports to transmit ONE 8-bit data byte.

Or do you?

I would give some thought to the possibility of using only ONE joystick
port, and performing 4-bit I/O over the port-to-port line, reassembling the
original bytes after both halves ("nybbles") are received.  This may sound
awful, but remember something else: SERIAL data transmission uses a ONE-bit
data line, and that works just fine!  (You could conceivably use the four-
bit joystick-cord connection to send four simultaneous channels of serial
data, by the way....  It is entirely a matter of how complicated a handler 
you're willing to attempt to write!

Now you've got me wishing I had a second Atari to try all of this out on!

:-)

Chris Chiesa

-- 
<><><><><><><><><><><><><><><><><><><><><><><><><><><><> Chris Chiesa <><><><><>
<> {ihpn4|seismo}!{iuvax|pur-ee}!bsu-cs!cfchiesa                              <>
<> cfchiesa@bsu-cs.UUCP                                                       <>
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

hill@nicmad.UUCP (Ray Hill) (02/22/88)

In article <5240@watdragon.waterloo.edu> swklassen@trillium.waterloo.edu (Steven W. Klassen) writes:
>> I would like to be able to hook up two atari computers for interactive games,
>> etc. that require that you do not see the screen of the other person.
>> My brother and I both have Atari 800XL's with parallel ports.
>
>I sent a solution to a similar problem to someone on the bit-net quite
>awhile ago.  This time I guess I will make it public (perhaps there are
>others out there who are interested).
>
>Although this solution isn't exactly what you asked for (I have no info
>on Atari XL parallel ports [unless of course you're referring to the expansion
>slot on the back]) it may be useful to you.
>
>The joystick ports on the Atari 8-bits can be configured for output as well
>as for input.  This will rule out joysticks (except on the old 400/800s) but
>will allow you to communicate between your computers.
>
>I hope that all this helps.
>
>> ...I would probably send in the results to a magazine like Antic or
>> Compute...
>
>Good luck!  When I sent it to ANALOG two years ago they sent it back to
>me saying something about a lack of reader interest in the subject.
>(I guess they think we're only interested in games :-)

I did something similar about two years ago too. (However, it was Antic that
turned me down then)

I wrote a two player Adventure game in standard Atari Basic. The second player
was attached through a serial port to another Atari or terminal. It also
worked with the then popular MPP 300 baud modem drivers that talked at 300
baud through a single joystick port. I made a simple "null modem" cable that
allowed the two Atari's to talk at 300 baud without any modem hardware. (just
two Radio Shack replacement joystick cables)

The adventure game wasn't much. I wrote it to prove the concept worked, and 
work it did. The game generated a random 20 room maze and allowed the two
users to wander around the maze picking up treasure and talking to each other.

My favorite part was the descriptions about distance when someone talked. (ie.
You here a voice in the say:) Also playing a standard type boring adventure
game really changed when the description: "Another adventurer just entered the
room" appeared on your screen.

I wish Antic would have been interested. I kept dreaming about writing "REAL"
games in ACTION using the same hardware configuration.


						Ray Hill
						hill@nicmad

njd@ihlpm.ATT.COM (DiMasi) (02/23/88)

> 
> .....
> of how much hardware design is involved.  Tackling the project would
> undoubtedly teach you a lot about computers, but don't underestimate the
> effort involved.
> 
> And, finally, a comment that I wish I could go back and tell myself when I
> was your age:  Don't think you will have more time to do this project at
> any future time in your life.  You almost certainly WILL NOT.  You will just
> get busier and busier, at least until you retire at age 65.  The best thing
> you could possibly do with your life is to BELIEVE THESE WORDS, think about
> their implications, and then figure out how to take this awful news into
> account in planning how to live your life right now.  More likely, you will
> think I am being silly and will only realize the truth of what I have said
> when you are about 40 or 50.  Good luck, either way.
> 

I know what you mean about just getting busier and busier!  And  I  am
only 32!  I can think of many projects that I would LOVE to do with my
Atari(s) (800XL and 130XEO [O for Omniview]), but I  JUST  DON'T  HAVE
TIME ANYMORE!  There are too many other things that I also like to do,
and that are equally important to me; not the least of  which  include
social  activities, and keeping up with maintenance, repairs, and even
"enhancements" of/to my house.  (A house can consume time like nothing
else,  except  maybe  children;  the  latter  my wife and I had little
interest in before, and NO TIME now!)

Someone mentioned wanting to use the 8-bit Ataris to  control  various
"household" devices.  I have never tried this, but if I were going to,
I would study the columns,  articles,  etc.  in  ANALOG,  ANTIC,  etc.
magazines.   In particular, I like to read the "Nuts and Bolts" column
in ANALOG and dream.  In fact, before I found  a  used  Koala  pad  (I
REALLY  WANTED  one  BADLY!),  I  was  considering  building  a gadget
described in that column (issue #/month  escapes  me  just  now)  that
emulates  the  Koala Pad (but may need an extra button to do this with
MicroIllustrator).  The device was named the "Rodent" and  used  a  R-
Shack  type  joystick  pot  (a  joystick  "innards"  with  2  variable
resistors at right angles, for you "software only" types. :-) I should
talk... I fried a 130XE! ouch!).  I want to try to write my own flight
simulator someday, just for gliders  (sailplanes),  and  a  relatively
simple  one (little if any recognizable scenery, no fancy instruments,
etc.).  The "Rodent" would be a great stick for such a  "bird."   Now,
what to use for rudder pedals? ...

Remember, a mouse is just an upside-down trackball with a  tiny  ball,
where  the  mouse  pad  (table)  is your hand... (essentially).  Input
devices are fun to play with (even if only in your head).

As time goes by, I find myself USING my Atari(s) more, but having less
and less time  to "hack" (program for fun and learning how the Atari's
innards work; I have never even tried P/M graphics yet -  and  I  have
ACTION! and the Prog.  Aid [old version of Toolkit] disk, so I have no
excuse like "I don't want to bother to learn 6502 assembler...[which I
don't, at least for the time being!]).

So, I sincerely wish any and all "hobbyist hackers" the best of  luck,
fun,  and  so  on  with  their  Ataris.   (And  if this article is too
verbose/long  for  anyone,  please  accept  my    humble    apologies.
Sometimes  it  seems  to  me that I  was born with a hard-coded dash-v
option!)

Nick DiMasi
Uni'q Digital Technologies (Fox Valley Software subsidiary;
   ^          working as a contractor at AT&T Bell Labs in Naperville, IL)
(  | this is an accent mark, supposed to replace the dot over the 'i')

gil@icus.UUCP (Gil Kloepfer Jr.) (02/23/88)

In article <2178@bsu-cs.UUCP> cfchiesa@bsu-cs.UUCP (Sir Xetwnk) writes:
>Therefore you need
>TWO joystick ports to transmit ONE 8-bit data byte.
>
>Or do you?
>
>I would give some thought to the possibility of using only ONE joystick
>port, and performing 4-bit I/O over the port-to-port line, reassembling the
>original bytes after both halves ("nybbles") are received.
>Chris Chiesa

Here's a method I have used a lot and it works well:  Rather than trying to
assemble the nybbles (a hard thing to do really, if you sit down and think
about it) -- use an 8-bit shift register (serial-to-parallel).  You use one
line of the joystick port to clock the shift register and another line to
set the ones/zeros on the data input of the shift register.

Why do it this way?  Well, companies like MPP have developed nifty little
ways of generating a certain baud rate by timing loops and tying down the
CPU (more than it is already by the screen).  With the shift register, you
can clock the data out at any rate you feel like, whenever you can get it
out.

I used this on an old Commodore PET (the original 8K one with the chicklet
keyboard) to set-up a modem interface.  I used the shift-register idea to take
full advantage of the 8-bit parallel port that the PET had (the only one at
that!).  I sent data to an 8251 UART chip which had a baud-rate generator
IC built into it.  I was able to use the board successfully at 1200 baud with
no problem, and I'm sure I could do better if I had the opportunity.

+------------------------------------+----------------------------------------+
| Gil Kloepfer, Jr.                  | Net-Address:                           |
| ICUS Computer Group, Systems Dvlp. | {boulder,ihnp4,talcott}!icus!gil       |
| P.O. Box 1                         | Voice-net: (516) 968-6860              |
| Islip Terrace, New York  11752     | Internet: gil@icus.UUCP                |
+------------------------------------+----------------------------------------+

grgurich@gumby.cs.wisc.edu (Matthew Grgurich) (02/24/88)

You mentioned something that struck a spark. Does anyone out there know of any
way to toggle the screen?

Thanx in advance. Matt Grgurich

cfchiesa@bsu-cs.UUCP (Sir Xetwnk) (02/26/88)

In article <1719@ihlpm.ATT.COM>, njd@ihlpm.ATT.COM (DiMasi) writes:
> > 
> > .....   [ stuff about getting busier and busier so DO IT NOW!]
> 
> I know what you mean about just getting busier and busier!  And  I  am
> only 32!  

Heh; you're lucky!  I'm the same way and I'm only 25, and I've BEEN this 
way (too busy to do all the things I want to) since I was about 6 !  No 
kidding, I have lists and lists of "things to try out" that go WAY the
hell back...

I plan to retain a segment of time for "experimenting/hacking," whether 
with my Atari or whatever else takes its place in my life, forever!  Come
Hell or high water, I am NOT going to give this up - it's my LIFE!  Don't
sell yourself short.  I'm not going to have kids in the foreseeable future,
nor get married, nor own a house unless it comes with maintenance and ser-
vants...  ;-)  They can call me a nut, "that guy who lives in the shack full
of electrical stuff," if they want to, but hey, I love it... 


> In fact, before I found  a  used  Koala  pad  (I
> REALLY  WANTED  one  BADLY!),  I  was  considering  building  a gadget
> described in that column (issue #/month  escapes  me  just  now)  that
> emulates  the  Koala Pad (but may need an extra button to do this with
> MicroIllustrator).  The device was named the "Rodent" and  used  a  R-
> Shack  type  joystick  pot  (a  joystick  "innards"  with  2  variable
> resistors at right angles, for you "software only" types. :-) 

Hey!  I have one of these in a box of electrical gadgetry given to me by a
friend -- see if you could dig up the issue # / month, willya?  (Now all I
need is to find someplace that archives the MAGAZINE... local facilities are
pretty sad...)  Or Xerox the article or info if YOU have it, send me Email
to get my real address, and mail me the Xerox's...  :-)  This gadget sounds
like a lot of fun...  (Same goes for lightpen plans, if you have any!)

> I want to try to write my own flight
> simulator someday, just for gliders  (sailplanes),  and  a  relatively
> simple  one (little if any recognizable scenery, no fancy instruments,
> etc.).  The "Rodent" would be a great stick for such a  "bird."   Now,
> what to use for rudder pedals? ...

... which brings me to the crux of my topic!  How about using two of those
pedal-thingies like my Mom used to have to control her sewing machine?  That
seems to be a variable resistor (okay, Dad, RHEOSTAT, happy now?) in a pedal-
type casing...  It should be MODIFIABLE, at least, if not usable as-is... 
Of course, it would lack the "push one down and the other comes up" interlink-
age, but you could maybe build something....


> 
> Remember, a mouse is just an upside-down trackball with a  tiny  ball,
> where  the  mouse  pad  (table)  is your hand... (essentially).  Input
> devices are fun to play with (even if only in your head).
>

Right you are.  I picked up a 9-position thumbwheel switch somewhere long
ago, and hooked it up to provide direct single-digit input to the joystick
port.  The thing's contacts were made-and-broken in 4-bit BINARY...  
And you could build a "pantograph arm" with pots at the "shoulder" and "elbow"
to translate drawing motions to screen positions...  (That wouldn't happen
to be what they did in the "Rodent", now did it?)

> So, I sincerely wish any and all "hobbyist hackers" the best of  luck,
> fun,  and  so  on  with  their  Ataris.   (And  if this article is too
> verbose/long  for  anyone,  please  accept  my    humble    apologies.
> Sometimes  it  seems  to  me that I  was born with a hard-coded dash-v
> option!)
> 
Don't worry about it; you're not alone.  I'm the same way.  Note that I matched
you pretty well, bytecount for bytecount.

We verbose types have to stick together.

So tell me where Naperville is and maybe we can gab sometime...

Chris Chiesa, Senior, CS Dept., Ball State University, Muncie, IN

(317) 288-2957 (home)

-- 
<><><><><><><><><><><><><><><><><><><><><><><><><><><><> Chris Chiesa <><><><><>
<> {ihpn4|seismo}!{iuvax|pur-ee}!bsu-cs!cfchiesa                              <>
<> cfchiesa@bsu-cs.UUCP                                                       <>
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>