The Apple I Owners Club web site was over a year in the making. Photographs had to be taken, documents had to be scanned and converted to text, and the information had to be compiled. We have collected over 70 megabytes of data about the Apple I. Needless to say, that's quite a bit of information and if you're not familiar with the Apple I, can be very hard to sift through.
To assist in this process, we've created this tour. At the bottom of every page, you will find a set of arrows such as these:
These arrows will help you navigate through the Apple I site. Follow the green forward arrow and will see every page of the Apple I site, presented in logical order. If you find that the information on a certain page is not of interest to you, the yellow button can be used to skip ahead to the next sub-category and the red button to the next category. Many of the categories do not have sub-categories, in which case the yellow button produces the same results as the red. The yellow button will likely be of most value in the software and letters sections where the it will allow you to skip ahead to letters/programs of another person, whereas the red button will take you entirely out of the letters or programs section.
The reverse buttons act as you would expect and may be useful if you skipped ahead and want to take a glimpse at what you missed.
Many of the documents provided here were scanned from hard copies and converted to plain text for the sake of download speed and searchability. Where this is the case, a link to the original image will be found on the page. If the converted text file presents any confusion or leaves anything in doubt, the original may be referred to. All typos have been preserved.
The complete tour, if you take the time to see everything, is over 120 pages. Everything is done in standard HTML, so you can easily bookmark any page and pick up exactly where you left off.
Apple Computer was founded on April 1, 1976, by Steve Jobs, Steve Wozniak, and Ron Wayne. The Apple I was introduced at the Homebrew Computer Club in May with Paul Terrell of the Byte Shop ordering 50 units at $500 apiece.
Joe Torzewski purchased his Apple 1 in 1977, direct from Apple and not long after the initial introduction. He was an engineer, like most early buyers of personal computers. Joe chose the Apple 1 over the competing S-100 sytems largly due to the integrated design. Problems with the S-100 bus were plentiful, whereas the Apple 1 already had everything onboard. But even still, it was possible to add an extension board, which Joe later did. Previous to his Apple 1 purchase, Joe had no computer experience, but he was handy with a soldering iron, and so the Apple 1 appealed to him. Joe's Apple 1 saw active use for over two and a half years, before being succeeded by a TRS-80 Model I, and shortly thereafter an Apple II.
Joe wrote to Apple in an attempt to to find a 2519 IC chip. This was their reply:
Apple Computer Inc.
Service Department
20605 Lazeneo Drive
Cupertiono, California 95014
(408) 446-5444
March 8, 1979
Mr. Joe Torzewski
51625 Chestnut Road
Granger, IN 46530
Dear Joe:
As you probably know, we stopped manufacturing the Apple I
a long time ago. As such, parts are very hard to come by.
We will however, try to help you by allowing you to trade-
in your Apple I for an Apple II. We will allow you a $400
credit towards the purchase of an Apple II with the trade-in.
If this is of interest to you, please contact me and I will
explain how you can go about doing that.
In the meantime, we will try to locate the ICs you re-
quested.
Sincerely,
Sami Asfour
National Service Manager
SA/g
This letter was sent from Apple to all Apple I owners, informing them of the newly informed Apple I Owners Club. Apple also mentions this letter to Joe in the upcoming letter about Apple Disassembler.
Apple Computer Inc.
20863 Stevens Creek Blvd B3+C
Cupertino, California 95014
(408) 996-1010
Dear Apple I Owner
Good news. Joe Torzewski is starting an Apple I Owners Club.
Since the Apple II has been introduced, interest in Apple I
software has declined and we have been making tapes available
on special order basis only. This has made support costly
and difficult.
Joe's Apple I Club will now provide a means of expanding
your software bank and also in communicating with other Apple
I owners. We will be supporting Apple I software through the
club. He will be handling both hardware and software
applications.
Please feel free to contact him at:
Apple I Owners Club
51525 Chestnut Road
Granger, IN 46530
This is the letter that would be sent out to Apple I owners inviting them to join Joe's Apple I User's Group. It's a form letter, with the name and date needing to be added.
Joe Torzewski
51625 Chestnut Road
Granger, In 46530
Dear
First of all would like to know if you have an Apple 1 ? If so
welcome to the growing group of Apple I owners. About 20 of us
so far and still growing.
What are we doing(if I get the support back from everyone).Working
on printers,graphics and more menory. I have asked for the details
on the printers because two guys said that they have them up and
running so I hope to have this in first letter out.
Would like to know if you have done anything hardware wise with
your Apple? Did you have any problems and if so how did you fix
it?What kind of keyboard? What kind of hardware would you like to
see added to the Apple?
How about software. Do you have the games that Apple put out? The
new monitor which we think is part of Apple II monitor. Can you
help us out by sending in hardware or software(basic or machine
language) every month or so?
That about it for now hope to hear from you soon and let me know
what you think and if you have anything(programs or such) please
send it in.
Sincerely,
Joe
This is the first of the Apple I Owners Club's newsletters. One was written every two to three months.
APPLE 1 POWER
Joe Torzewski
51625 Chestnut Road
Granger,In 46530
Well this is our start and I hope it's just one of many. So far
there are about 30 of us. First of all would like to put out a
list of names of persons who want to get in touch with other
Apple 1 ownders and working on projects,also a list of persons who
would be willing to help others with hardware of software projects.
We need hardware articles on anything that you have hooked up to
your Apple. Memory expansion is high on the list.
Where is our Apple 1 hardware expert I Need someone who can devote
his time on a project for us. Needs access to a slide projector
or should have one. I have 35mm slides and some notes on how
Apple put the 16K chips on the Apple 1 board. Someone has to figure
out from this(mainly the slides) and try to write it up so we
can pass it along to everyone. So now don't be bashful now we need
you.
Would like to hear from you guys with the new monitor and what
you have done with it and the commands and such. Trying to get all
the details from everyone and ty to piece it together.
Software programs in basic and machine language are needed. Maybe
we should work on certain types of programs together as a group
for a month or two and then go to another area. Take one type of
program and try to modify it and see what we can come up with.
Open for ideals on this, so input now. How about sending a list of
your program so we can see what is out there.
Here is a basic (Apple-Basic) challenge from Larry Neison. What is
the best Apple-Basic solution to the problem with the following
program ?
75 DATA 13, 14, 15, 22, 23, 24, 29, 30, 31
77 For W-1 to 9
79 HEAD K
81 B(N)--7
32 NEXT W
There is a program, 4 pages, a primitive,line-oriented text editor
that you can use to draw pictures or text and store them, from
Professor Schawlow.Well that's about it for now, remember to send
in your inputs and program and a stamp or so if you can, till
next time.
Regards,
Joe
There were three more issues after this one that have since been lost.
March
APPLE 1 POWER
Joe Torzewski
51625 Chestnut Road
Granger,In 46530
Well here we are again,we have enough inputs to put out the March
newsletter. Out of last months mailing,30,only had 4 replys.Inputs
have been coming in from 4 people and another 5 promising support
but so far none. If we are going to make a go of it we need your
support.
For those of you with the Datanetics ASR-33 type keyboard the
following parts are available. The main chip MM5740AAE/N, cost is
$13.50. The key switches are$.50(fifty cents) each.I guess you
should add something for postage. Address is
Datanetics 18065 Euclid street,Pountain Valley, Ca 92708
Another Apple exchange group is starting in Washington but it looks
like all Apple II, will let you know as I find out more.Possible
to do some program changing.
Am in touch with a dealer who might sell the KIMSI boards for
$90. plus shipping, savings of about $35. This is not a group
purchase price, its if you want one you got it. More info when
I get it. This would put the $100 bus on the Apple 1 if we can
interface it.
The program this month is by Richard Drennan,it's Captain Kirk
verus the Horta.
About the programs, any errors or changes in them will be put in
the next months letter so if you find something wrong or a change
that you think imporves the program or what make sure that you
make an input about it.
There is a change for the Editor from last months program,to
change the address to 0500 and that way the new monitor can be left
in to, also two errors.Check it out.Inputs by Larry Nelson.
Well that it for this month,hope to hear from everyone and send
in your programs.
Regards,
Joe
August 3, 1977
Dear Joe,
I have your two letters, but I don't get time often enough
to answer as soon as would be nice. Anyhow I've reached a pause
stage in my writing and can put my mind back on computers for a
little.
I called Jerry on Monday to find out whether he had
solved the recording-read back problem which he had told me about.
It seems that he has. He uses a J.C.Penny $39.95 recorder, cat.
#851-0018. He turns the treble high, to 10 or 12. He uses
volume in a mid range for recording and for playback, in the 3 to
7 range depending on what the recording volume was. I assume that
the treble may have been part of his problem because I worked with
him and his recorder one day and got good results. Anyway, he is
now quite well satisfied with the tape operations.
I do not have my machine here. It is in San Francisco and
is for sale because I just don't have time to use it. I'm doing
mostly writing on economics, working on a book and some papers.
I hope to get a word processing or text editing unit some time so
my problems will be eased. The Apple won't be able to do that for
me, so I won't be doing anything with it after I sell the boards I
now have.
Regarding pricing, I am now asking $200 for the bare board,
$50 each for each 4K memory, and $50 for the ACI. I have one or
two keyboards left which cost $67 (No, I think $77). They are
the New Datanetics ASR 33 type. Quite suitable. I've sold several of
the keyboards for $50 plus $15 for installing a strap and interconnect
cable to plug into the Apple. That would all add up to $350 for
Apple with 8K and ACI plus $65 for Keybd ready to plug in. In
addition you need two small transformers which I believe I no
longer have. (I suppose my friend, George Wong in S.F could get
then someplace.) I have accepted one offer to sell below these
prices and I would again if they seemed not competitive enough or
attractive enough. If you want to make an offer against those
prices I'd be glad to consider it.
I'll enclose both a manual and a BASIC manual with this.
(Also the ACI manual). If you want them after reading but don't
want to purchase an Apple, I suppose they should be$1 each. That's
what they cost. But if you don't go ahead with purchase, you prob.
won't need them, so it would be fine just to send them back without
charge. Back to the recorders. I have used a Panasonic $34.95
Model RW-309AS. It does not have a tone control, just volume. It
has frequency done quite well for loading or playback, but not so
reliably for saving or recording programs. I've not tried any internal
adjustments. I've also used a Rad.Shack Realistic CTR 30B Mod 14-836.
It has both tone and vol controls. I use tone at max, vol at mid or
little less. It has auto level control and tape coutner (Pana does not).
Again, playback is OK, recording and saving unreliable for me. I don't
know why.
Guess that's all for now. Write when you can.
Sincerely,
Robert H.Edmonds
565 Bellevue Ave. #706
Oakland, CA 94610
Robert H. Edmonds
565 Bellevue Ave. #706
Oakland, CA 94610
APPLE-1 COMPUTER
The Apple Computer is a complete microprocessor system, consisting
of an MOS Technology 6502 Microprocessor and support hardware, integral
video display electronics, keyboard connector, dynamic memory and refresh
hardware, and fully regulated DC power supplies. It contains resident
system monitor software (in PROM), enabling the user, via the keyboard
and display, to write, examine, debug, and run programs efficiently. It
is an educational tool for learning microprocessor programming and is an
aid in developing software. It is the core of a first class hobbyist
computer system.
The Apple Computer is sold fully assembled, tested, and burned in.
The only external devices necessary for operation are: an ASCII encoded
keyboard, a video display monitor (or TV), and AC power sources of 8 to
10 volts and 28 volts. The video display and keyboard eliminate the
usual need for a teletype, with its problems of noise and slow speed.
They also eliminate the need for switches and lights, which, by comparison,
are painfully slow and awkward means for communicating with a computer.
The integral video display section contains its own memory, leaving
all RAM for user programs. Output formatin is 40 characters/line, 24 lines/
page, with auto scrolling. Simple modification is usually all that is
necessary to adapt any TV for use as a display monitor.
Almost any ASCII encoded keyboard with positive DATA outputs will
interface directly with the Apple system via a "DTP" connector. If your
keyboard has negative logic DATA outputs (rare), you can install inverters
(7404) in the breadboard area. Instructions for adaptation are provided
in the Apple-1 Operation Manual. Since the system monitor accepts only
upper-case alpha (A-F, R--for hex coding and Run), it is desirable, though
not essential, to have a keyboard equipped with upper-case alpha lock
(usually in the electronics). Although the video output displays only
upper-case alpha, both upper and lower case are encoded and are available
for hard copy output.
The Hex Monitor is a PROM program in locations FF00 to FFFF (hex).
It uses the keyboard and display to perform the front panel functions of
examining memory and entering and running programs. The monitor program
is entered by hitting (RESET). Commands are typed ona "line-at-a-time"
basis with editing. Each line may consist of any number of commands (up
to 128 characters). None are executed until (RETURN) is typed. Hexadecimal
digits (0-9,A-F) are used for address and data values. Additional command
symbols are: period (.), colon (: ), and R (for RUN). Operation of the
monitor can be learned in just a few minutes time.
The Apple-1 Operation Manual comes with each system purchased or can
be bought separately. It includes the full Hex Monitor listing, detailed
Schematic Diagrams and provisions of the thirty day Warranty.
All IC's are installed in sockets, thus simplifying repairs or
hardware troubleshooting. The board has sockets for up to 8K bytes of
the 16 pin, 4K type RAM, and the system is fully expandable to 65K via
the edge connector. The system uses dynamic memory (4K bytes supplied),
although static memory may also be used. All refreshing of dynamic
memory, including all "off-board" expansion memory, is done automatically.
The entire system timing, including the microprocessor clock and all
video signals, originates in a single crystal oscillator. Furthermore,
the printed circuit board contains a "breadboard area", in which the user
can add additional "on-board" hardware (for example, extra PIA's, ACIA's,
EROM's and so on). The board, as supplied, requires no more than 1.5 amps
DC from the +5V supply, while the regulator is capable of supplying 3 amps.
The remaining 1.5 amps DC from the +5V supply is available for user hard-
ware expansion (provided suitable transformers are employed).
(Above data abstracted from Apple-1 Operation Manual.)
Bob Edmonds' Small Computers Center, PO Box 484, Actudillo Station, San
Landro, CA 94577 Temp. tel. (445) 357-5037 (5/17/76)
SPECIFICATIONS
MICROPROCESSOR: MOS TECHNOLOGY 6502
Microprocessor Clock Frequency: 1.023 MHz
Effective Cycle Frequency: 0.960 MHz
VIDEO OUTPUT: Composite positive video, 75 ohms,
level adjustable between 0 and +5V pp.
Line Rate: 15734 Hz
Frame Rate: 60.05 Hz
Format: 40 char/line, 24 lines, with automatic
scrolling
Display Memory: Dynamic shift registers (1K x 7)
Character Matrix: 5 x 7
RAM MEMORY: 16-pin, 4K Dynamic, type 4096 (2104)
On-board RAM Capacity 8K bytes (4K supplied)
POWER SUPPLIES: +5 Volts @ 3 amps, +/-12 Volts @ 0.5
amps, and -5 Volts @ 0.5 amps
Input Power Requirements: 8 to 10 Volts AC (RMS) @ 3 amps,
26 to 28 Volts AC (RMS) Center-Tapped,1A
With every componet coming from a different manufacturer, it was impossible to assemble the entire Apple I all at once. Joe spread everything out on a work desk in the basement, and assembled the system as the pieces came in.
Back in 1977, Joe stored his Apple 1 in the below pictured briefcase. The transformer and main boards were mounted and the keyboard was also stored inside. All you had to do was pick up the briefcase and your monitor (TV) and you had a portable computer that could go anywhere.
The 6800 area of board.
Joes tell us, "If I remember right, you pulled the 6502 chip and put in the 6800 cpu and all the parts and you had an Apple I based on the 6800 cpu instead of the 6502 cpu. I also believe that there was a law suit by Motorola who had the 6800 chip because MOS Tech who came out with the 6502 chip were all engineers who left Motorola and helped on the 6800 cpu and the 6502 cpu could use all the instructions that the 6800 had and was faster."
According to the manual: "Remove the 6502 cpu and put in a 6800 cpu into the 6502 socket. Install all componets shown in the 6800 breadboard area. Break both solder bridges on the board marked 6502, there are two of them. The Apple 1 computer is fully compatible with the 6500/6800 cpu timing signals."
This one shows rows of chips, A,B,C and D.
Here is a shot between rows B and C.
Here is the shot between rows C and D.
This top down shot shows the video adjust pot and the video output plug.
This is the MOS 6502 processor.
Here is a shot showing the switches under the front panel for the printer and tape cassette.
This is a top down shot of the power supply, diodes, regulators, filters caps, etc.
Entering data by hand is a slow and cumbersome process. Storing the code on some sort of media, even if that media is merely a cassette tape, is far more efficient. As a consequence, the Apple-1 Cassette Interface was a popular add-on. Many programs were available from Apple on cassette, such as BASIC, Dis-Assembler, Blackjack, Hamurabi, and Luner Lander.
The 44 Pin Bus Motherboard connects to the 44 pin edge connector on the Apple I and provides ten slots. Joe cut the board down to three slots and put three connectors on it due to space limitations in the cabinet.
This advertisement appeared in:
Joe writes:
"I built an EPROM card to use in the 44 pin bus in my Apple 1 computer. It had on it two 2716 EPROM's. The 2716 was a 2k memory chip. I had a new monitor and a dis-assembler on the chips. To use this card I had to first unplug the two Apple Proms on the motherboard. As you can see I did not solder the sockets, but wire wrapped the card instead."
This board connected to the Apple 1 via the 44 Pin Bus and allowed S-100 cards to be connected.
The MOS Technology Kim-1 was a 6502 cpu based single-board computer with 1k of memory and a keypad for input.
The KIMSI allowed S-100 cards to be connected to the Kim-1. Connect this KIMSI card to the 44 Pin Bus card, and it was possible to use S-100 cards on the Apple I, as well.
This paper shows the connections between the Apple 1 computer and the extension (expansion) card for the Kim-1 computer.
Richard Drennan
4590 Oberlin Avenue
Lorain, Ohio 44053
Dear Joe:
Once again I must apologize for taking so long to write. It seems
the older I get the lazier I get. Oh well.
I got the KIMSI board to work, but I get intermittent memory failiers
that have really bot me stumpped. To test the memory, I've using the
following program:
10 INPUT "ENTER LOW MEMORY, HIGH MEMORY LOCATION" ,L,H
20 IF L>H THEN 10
30 J=170
40 FOR I= 1 TO 100
50 FOR K=L TO H
60 IF J=85 THEN 70 : J=85 : GOTO 80
70 J = 170
80 POKE K,J
90 M= PEEK(K)
100 IF J=M THEN 130
110 PRINT "FAILIER AT ADRESS ":K:" (";M;" SHOULD BE ";J;")"
120 END
130 NEXT K : NEXT I
140 PRINT "ALL ADRESSES TESTED O.K."
150 END
This routine takes a long time to run, but if your memory passes it O.K.,
you can be pretty sure that the memory is adressing, reading and writing
O.K.
I originally bought my APPLE I to have a micro processor to play games
on, but since I'm a compulsive tinkerer, The APPLE I is apart as much as
it is together. To solve this problem, I've bought an APPLE II. Now I've got
a computer that runs, and one I can tinker with. If I can copy the paddle
circuits used by the APPLE II and write some assembler routines to simulate
the APPLE II graphics comands, I should be able to write some "PONG" type
game for the APPLE I for use with the SWTP graphics board that I have
hooked to my APPLE I. I think games like "Breakout", "tennis", etc.
should be bossible. The APPLE II low resolution graphics mode is 40 X 47,
but my graphics board is a little better since it's resolution is 64 X 96.
The APPLE II graphics are in color, but my grpahics board is only black and
white.
I don't know how you can set up a grid without some sort of graphics
board unless you plan to re-write it every time. If you are going to
re-write each time, you just build an array with the proper date, then
write teh board from the array (the HORTA program I sent you is a good
example of this techinique).
In order to convert my programs to the APPLE II, I listed all of them.
If you would like, I will see if I can make you a copy of all of them.
Wll, thats about it. If there is anything I can do, just write.
I'll try to write back quicker next time.
Note the bread board area at the left of the top-most blue capacitor.
The 74153 and 74139 chips on the bread board area on the Apple 1 computer, as mentioned on the next page.
The 4K chips are on the left and the newer 16K chips are on the right.
INSTRUCTIONS FOR EXPANDING THE APPLE-1 MEMORY TO 20K
The procedure consists of replacing one row of type 4096 memory chips (the X
row) by 4116 chips, each of which has a capacity of 16384 bytes rather than
4096, and providing the circuits to address the new memory. Note that each chip
gives one bit: to make up a byte, the computer uses one bit from each of the
eight chips.
WARNING
The new memory will cover the addresses from 0000 to 3FFF. This includes the
base page, which is vital to any operation of the computer, even using the
Monitor without basic. Thus if you use one chip that has a bad bit in the base
page area, it may prevent operation of the computer even if everything is
installed correctly. You can sometimes check if that is happening by
interchanging chips. If the symptoms change when you do that, you have to
suspect a bad chip. Even if everything works fine, you should check all the
memory occasionally.
Unfortunately, I don't know any source of 4116 memory chips that is completely
infallible. A good supplier should at least be willing to exchange any
defective chips. I have obtained good chips (and some bad ones which they
replaced) from Electrolabs (P.O. Box 6721, Standord, CA 94305, phone 415-321-5601).
(1) Install 2 16 pin DIP sockets in the breadboard area at the pwer-supply end.
(2) On the back of the printed-circuit board, cut the trace between W6-15 and
X6-15. Cut the trace between X7-13 and the feed-through point between rows A
and B.
(3) Remove chip B8 (74S257), and bend out pin 14 so that it does not make
contact. Reinsert it in its socket, leaving pin 14 sticking out to the side.
(4) In the jumper area near the center of the board, cut the solder jumper
between X and CS0.
(5) Install wires from the new 74153 socket pins:
1 Jumper to pin 8 7 Bll-13 (X7)
2 37-1 (74S257) 8 D9-8 (74161)
3 B10-23 (74154) 14 B5-1 (74S257)
4 B10-22 16 D9-16 (74161)
5 D9-14 Pins 9,10,11,12,13,15 no connection
6 Jumper to pin 5
(6) Install wires from new 74139 socket:
1 Jumper to pin 8 12 Bll-15 (X7)
2 Jumper to pin 14 13 B10-20 (74154)
3 Jumper to pin 13 14 B10-21 (74154)
4 H2-1 (7410) 15 B6-12 (74S257)
8 D11-8 (74161) 16 Dll-16 (74161)
Pins 5,6,7,9,10,11 no connection
(7) Install a 74153 and a 74139 in their respective sockets in the breadboard
area.
Install new 16k memory chips (4116) in sockets X0 to X7.
The keyboard most commonly used with the Apple 1 was the Datanetics Corp keyboard.
The Datanetics Corp logo.
Dated May 28, 1976.
Of course, in order to hook the keyboard up to the Apple 1, the pin layouts needed to be known. Robert H. Edmonds (deceased) acquired these from Steve Jobs and passed them along to Joe.
Datanetics
February 16, 1978
78-DH-S1558
Mr. Joe Torzewski
51625 Chestnut Road
Granger, IN 46530
Dear Mr. Torzewki:
Thank you for your letter of February 4, 1978.
In accordance with your request, we are pleased to offer
pricing on P/N MM5740AAE/N I.C. chip. Pricing is $13.50
each. The keyswitch would cost $.50 each.
Also enclosed is a copy of a data sheet on our ASR-33 type
encoded keyboard.
If you desire additional information, please contact us.
Sincerely,
DATANETICs
Dennis Hill
Customer Service
DH/rjf
Enclosure
cc: R.O. Whitenail & Associates
6692 S. Washington Street
Indianapolis, In 46219
Tel: 317-358-9283
The enclosed "copy of the preliminary version of the Apple I DisAssembler," on cassette.
The Apple I's onboard video memory was capable of displaying text only. With the addition of the GT-6144 Graphics Board, the Apple I could display primitive black and white graphics.
INTERFACING A SWTP GT-6144 GRAPHICS KIT TO AN APPLE I MICROPROCESSOR
The STWP graphics board displays a picture made of a 64 X 96 array of rectangles. The schematic I've enclosed is pretty straigt forward. The .006 MFD capacitor connected between pins 6 and 7 of the 74123 controls the length of time that must elapse between each output of date to the GT-6144. I've been unable to load the date faster than the .005 capacitor will allow.
The rectangles are turned on by sending a horizontal co-ordinate followed by a vertical co-ordinate to the GT-6144. This is clearly explained in the instructions included with the GT-6144. The co-ordinates are stored in location D00A which in basic would be -12278 and would be accomplished by the following: 10 POKE -12278,X where 'X' is hte co-ordinate to be written to the 6144.
The GT-6144 is a kit, and took me about 4 hours to build. The instructions are very good, and my board worked the first time I applied power to it. There is no power supplied with the kit, so you must either build your own, or buy their kit which is sold seperately.
The Gt-6144 is either connected to a TV monitor or to a standard TV thru a video modulator just as you must do with the APPLE 1.
The commands that can be acomplished by the GT-6144 are 1) turn on a rectangle 2) turn off a rectangle 3) display screen as white on black 4) display screen as black on white. The PIA must be set up before you can write to the GT-6144. It must also be set-up after you press the 'RESET' button on your APPLE 1. I get around this problem by making the first statement of my programs an exit in to the subroutine attached to this sheet. This routine not only sets up the PIA but also clears the screen of any rectangles left over from the last program. or the random rectangles that are always present right after powering-up the board.
If you plan to program the graphics in Basic, rember that Basic is very slow, and therefore your graphics will not respond very fast. If you use the POKE command shown above, the following values for X will cause the following actions:
X=0 to 63
send horizontal cordinate and set up to set off rectangle
X=64 to 127
send horiztonal cordinate and set up to set on rectangle
X=128 to 223
send vertical co-ordinate and set on or off rectangle as previously defined in the last horizontal co-ordinate sect
X=240
display screen as black on white
X=241
display screen as white on black
This information is taken from the schematic for the hook up of the Apple1 to the SWTP GT-6144 graphics board, refer to it while reading this, especially on the PIA pins , 23, 34, 35, 37 and 38.
The chip on the left is for the PIA for the graphic board. All pins marked with a * are connected to the corresponding pin on the keyboard PIA, pins 1, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36. This is listed at the bottom of the sheet on the left side. Pin 22 goes to the address line A3.
The capacitor on the 74123, between pins 6 and 7. On the bottom of the sheet on the right hand side says, ì you may have to play with this capacitor a little. The capacitor governs the length of time that must elapse between each output of data to the GT-6144.
The 12 pin molex connector on the GT-6144 board is shown on the right side of the sheet.
The information right below the 12 pin molex connector has the 6820-6520 PIA pins.
Richard Drennan
4590 Oberlin Avenue
Lorain, Ohio 44053
May 5, 1978
Hi Joe.
I finally got my graphics board to work!!! I'm sending along the information
on the graphics that I've been promising you for the last several months.
The system uses the SWTP GT-6144 Graphics board kit which can be had for around
$100.00 . I'm sending you the following: 1) some sales liturature about the board
2) a schematic of how I hooked up the board (it's actually very simple) 3) a
diss-assembled copy of a subroutine needed to set up the graphics PIA and to clear
the graphics screen and 4) some notes to help anyone who might like to try to hook
up the GT-6144. I did not go into much detail about programming with the GT-6144
because the is covered very well in the instructions included with the GT-6144.
If there is anything that I can do to help anyone attempting to use my hook-up,
I'd be glad to help them.
Well, thats it for now. Hope that the information on the graphics board will
be of some help to someone out there.
Sincerely,
Richard Drennan
SUBROUTINE TO SET UP GRAPHICS PIA AND CLEAR SCREEN
IN BASIC - CALL 768
0300- 48 PHA
0301- 8A TXA
0302- 48 PHA
0303- 98 TYA
0304- 48 PHA
0305- A9 00 LDA #$00
0307- 8D 0B D0 STA $D00B
030A- A9 FF LDA #$FF
030C- 8D 0A D0 STA $D00A
030F- A0 2C LDA #$2C
0311- 8D 0B D0 STA $D00B
0314- A2 00 LDX #$00
0316- A0 00 LDY #$00
0318- 8A TXA
0319- 8D 0A D0 STA $D00A
031C- 98 TYA
031D- 09 80 ORA #$80
031F- 8D 0A D0 STA $D00A
0322- C9 FF CMP #$FF
0324- 10 04 BPL $032A
0326- C8 INY
0327- 4C 1C 03 JMP $031C
032A- 8A TXA
032B- C9 3F CMP #$3F
032D- 10 04 BPL $0333
032F- E8 INX
0330- 4C 16 03 JMP $0316
0333- 68 PLA
0334- A8 TAY
0335- 68 PLA
0336- AA TAX
0337- 68 PLA
0338- 60 RTS
0339- FF ???
033A- FF ???
033B- FF ???
033C- FF ???
033D- FF ???
033E- FF ???
Steve Jobs wrote an article about interfacing an Apple 1 to the SWTPC PR-40 printer in the October 1976 issue of Interface Age. Joe read the article, purchased and built the printer kit, and interfaced it to his Apple 1.
Below is a sample of the SWTPC PR-40's output quality. The print is somewhat light, but all in all, not that bad.
At the time of the article, the Southwest Technical Products printer cost $250.00 in kit form. Line length was 40 characters, identical to the video format of the Apple 1. Only what was being outputed to the video screen could be printed, as the printer got its data from the video source. A switch was connected and whenever you wanted to print you put the switch in the "on" position and everything that went to the screen went to the printer, as well. It did slow things down a bit.
This is an original SWTPC PR-40 printer ribbon. When new these cost $4.00 apiece.
The above was the most commonly used schematic for connecting a printer. It allowed the user to switch between two outputs: to the video monitor, and to both the video monitor and the printer.
The below schematics functions as the prevous one, but adds a third switch setting for printing without sending output to the video monitor. This increased the data output speed to the printer.
The case is built like a tank and cost Joe around $50 back in 1977.
The top switch is for the printer. When you throw it, you get a print out to the screen and a hard copy from the printer. Below that switch is a red LED which is hooked to the cassette interface. Every time the tape was read or written to the either flicker or stay on read, depending on the level at which it was being accessed. The next switch to the left is for the cassette interface. When you wanted to read a tape you would have to throw this switch. To next switch to the right was also for the cassette interface. This one controlled writing.
The lid had five screws to hold it in place, though Joe kept the cover loose. Once the computer was up and running, there was little need to remove the lid unless you wanted to look at the cassette interface LED, which is why Joe mounted one on the front panel.
The card plugged into the Apple I motherboard is the cassette interface card. The blue card plugged into the extended bus is the EPROM card.
These are the two power transformers need to power the Apple I along with the fan that Joe chose. The speaker is mounted to the side of the cabinet, below the fan. The fan ran off 110V; the switch for it was on the back.
This is a view from the back of the computer. You can see the cassette infterface card in the lower left corner, the many rows of chips are the memory. The last chip in the left row, color white, is the cpu, a 6502.
To the lower right you see the heat sink fins for the 5.volt regulator chip. To the bottom left you see the EPROM card and right above that the cassette interface card and above that the memory chips.
Another view from the back, this one showing the EPROM board and the cassette interface. On the cassette interface, you can see the plug for the cassette tape read and write in the top left.
Computer Data Systems, Inc.
TIM BYTES THE APPLE:
For those of you that would like to have hard copy capability
and much better control over program development on the Apple 1,
the following hardware addition will accomplish it.
Using a 6530-004 ('TIM' chip) costing about $12.00 gives many
superb features such as a variable baud rate serial input/output,
a high speed parallel input (high speed paper tape reader), an
excellent breakpoint processor, paper tape dump and load
routines, etc.
The TTY port is located at lcations 6202H and 6203H. Date at
that port should be 00H and 16H respectively. The baud rate is
stored at 00EAH and 00EBH and 110 baud is represented by 10H and
46H at those locations.
It's a fun addition to the Apple 1. Try it!
Fred Hatfield K8VDU
TIM APPLE I
6530-004 6502
33 D0 33
32 | 32
31 | 31
30 | 30
29 | 29
28 | 28
27 \/ 27
26 D7 26
5 A9 18
6 | 17
7 | 16
8 | 15
10 | 14
11 | 13
12 | 12
13 | 11
14 | 10
15 AO 9
16 RES 40
17 IRQ 4
1 - GND
20 - +5V -----------------------
3 / PIN25 | FRED HATFIELD K8VDU |
\ 6820 | |
18 - +5V | 7/77 |
-----------------------
The manual consists of about 12 pages plus the warranty page.
The Apple 1 computer is a complete microprocessor system, consisting of a 6502 microprocessor and support hardware, integral video display, dynamic memory and refresh hardware and fully regulated power supplies. It has a resident system monitor software, enabling the user to display, write, examine, debug and run programs.
The video section contained its own memory there by leaving the entire ram for user programs. The output format was 40 characters a line. There were 24 lines per page, it also had auto scrolling.
The board came with 4K of Ram from Apple company and you could add another 4K giving you 8K on the board. The memory used was dynamic memory, 16pin.
The system was fully expandable to 65K of memory via the edge connector. The Apple 1 had a 44-pin buss, which had all the clocks, voltages, address lines and data lines running to it.
The Apple 1 used a single crystal oscillator to get all of its timing signals for the entire computer. There was also a breadboard area for the user to add sockets for other chips, piaís etc or what ever he wanted to add to the Apple 1 system. Maybe some people did not know this but you could get rid of the 6502 microprocessor and put in a 6800 microprocessor if you wanted to. You had to add some components, maybe this is why the breadboard area was included also?
The Apple 1 computer came fully assembled. All you needed to do to get up and running was get ASCII keyboard, a video monitor and two AC transformers, one supplying 8 to 10 volts @ 3 amps and one at 28 volts @ 1 amp. After hooking up everything there was a test program to check out the hookup.
Section II of the manual was on using the system monitor, which was in two Proms at FF00 to FFFF. To enter the monitor you hit reset and you got a backslash and return. This was not a dis-assembler, this monitor just showed the value at that memory location that you was looking at or you could look at blocks of memory if you wanted to. All together there was 4 pages on the system monitor including a listing of the monitor with another 4 pages of schematics of the Apple 1 system.
The warranty for the Apple 1 computer was for 30 days from the date of purchase. Not a long period of time when you look at what you can get today but when you consider that it was back in 1976 era, then the Apple 1 was one of the kings of that time.
Apple 1 basic was on cassette tape and took about 30 seconds to load.
Some of the following was in the BASIC:
Functions
Commands
Statements:
In Apple Basic you could input more than one statement on a line. Each statement must be separated by a colon (
.
Error messages
Who says that Apple Basic won't do the job? Except for the
usual memory limitations (crowd 16K Star-Trek into an Apple I?)
our language is pretty comprehensive. Which translates into
"Copy anyone's basic listing for a program". The secret word
is ADAPT! When the listing you try to copy won't run, don!t
curse and type "SCR". Instead, think of your computer as an
adaptable machine, and then ADAPT.
As an example, consider the following listing, as it might
appear in "101 Basic Games":
10 IF RND(O)>0.8333 THEN 70
Adaption to Apple Basic becomes:
10.IF RND(6)>4 THEN 70
Two-dimensional arrays are common in Basic program listings,
and require a solution to fit the program into our computers.
The listing usually looks like this:
1 DIM A(10,10)
and...
10 A (J,K)-B
To rearrange this to fit in Apple Basic, just multiply the
X and Y co-ordinates in the DIM statement to dimension the
array. (i.e. A(10,10) becomes A(100).) Then, as the list
statements call for A(J,K), use the general form A((X-1)*J+K),
where X was the first number in the DIM statement. Our new
listing in the computer now reads:
1 DIM A(100)
and...
10 A(9*J+K)=B
Another "stumper" is the statement:
90 GO TO J 0F 260,270,280,290
But Apple basic will accept this statement:
90 GO TO (250+10*J)
Which will do the same thing.
One more b it of advice. When you manage to work around
some unusual coding that your Apple won't accept, write it
page 2
down. Show what you have done alongside your hard-copy listing,
with all the reasons for doing it your new way. Chances are
that you will run into this problem again. There is no reason
for you to have to re-invent the solution. Besides, maybe you
can help some other micro-freak when he has given up.
In fact, here's a challenge! What is the best Apple-Basic
solution to the problem with the following program?
75 DATA 13, 14, 15, 22, 23, 24, 29, 30, 31
77 FOR W=1 to 9
79 READ M
81 B(M)=-7
83 NEXT W
Send your solutions to Joe at the Apple Owners Club, and we'll
print the solutions that you send in. So sit down now, put on
the old thinking cap, and tell the rest of us how dumb we are.
We'll enjoy hearing from you.
Focal, originally written for the Apple II, was converted to the Apple 1 by the Apple One Library, a group of Apple 1 owners.
Joe's receipt for Focal:
This Apple I Focal program is a number guessing game. The first part of the print out shows the code; the second part shows the game being played.
The below note contains instructions for starting Focal. 56.00E8R400.1A65R is where Focal is loaded into the computer's memory. Entering 400R starts the program. Then it finally displays the Focal banner on the screen.
Program to print ASCII HEX equivalents of all printing characters
44:50 07
0044: 38
9F0R
09F0: 20
0750- A2 A0 LDX #$A0
0752- A9 8D LDA #$8D
0754- 20 EF FF JSR $FFEF
0757- 8A TXA
0758- 20 EF FF JSR $FFEF
0758- A9 A0 LDA #DA0
075D- 20 EF FF JSR $FFEF
0760- 8A TXA
0761- 20 DC FF JSR $FFDC
0764- E8 INX
0765- A9 A0 LDA #$A0
0767- 20 EF FF JSR $FFEF
076A- 20 EF FF JSR $FFEF
076D- E0 00 CPX #$00
076F- F0 03 BEQ $0774
0771- 4C 54 07 JMP $0754
0774- 4C 1F FF JMP $FF1F
Sample run
750R
0750: A2
A0 ! A1 * A2 # A3 $ A4 % A5
& A6 ' A7 ( AB ) A9 * AA + A
B , AC - AD . AE / AF 0 BO 1
B1 2 B2 3 B3 4 B4 5 B5 6 B6
7 B7 8 B8 9 B9 : BA ; BB < BC
= BD > BE ? BF @ C0 A C1 B
C2 C C3 D C4 E C5 F C6 G C7
H C8 I C9 J CA K CB L CC M CD
N CE 0 CF P D0 Q D1 R D2 5 D
3 T D4 U D5 V D6 W D7 X D8 Y
D9 Z DA [ DB \ DC ] D7 | DE
DF @ E0 A E1 B E2 C E3 D E4
E E5 F E6 G E7 H E8 I E9 J
EA K EB L EC M ED N EE 0 EF
P F0 Q F1 R F2 S F3 T F4 U F5
V F6 W F7 X F8 Y F9 Z FR [ F
B \ FC ] FD | FE FF
This program, like the previous, also converts characters to their ASCII HEX equivalents.
Program to print ASCII HEX equivalent of any keyboard character
44:00 07
0044: 24
9FOR
09F0: 20
0700- A9 8D LDA #$8D
0702- 20 EF FF JSR $FFEF
0705- AD 11 D8 LDA $D011
0708- 10 FB BPL $0705
070A- AD 10 D0 LDA $D010
070D- AA TAX
070E- 20 EF FF JSR $FFEF
0711- A9 A0 LDA #$A0
0713- 20 EF FF JSR $FFEF
0716- 8A TXA
0717- 20 DC FF JSR $FFDC
071A- 4C 00 07 JMP $0700
Sample run
700R
0700: A9
A C1
C C3
1 B1
0 CF
(CONTROL 0)8F
C C3
(CONTROL C)83
; BB
! A1
/ AF
\
April 4, 1978
Dear Joe:
Sorry to be so long between letters, but I just don't have all
that much time to write. I shipped your cassettes UPS last nite.
They came to 8.67 all told, and since you sent 8.80, that makes
it pretty close.
We have had two meetings to date and now have 19 members
currently. We got 13 from the first meeting, and there are still
four or five in the wings. Two new Aple dealers will be opening
the end of this month, and this, of course, will provide still more
potential members.
Re "Stopwatch" which I sent you, I think it can be modified
easily for Apple I. Clearing the screen is not important except
for appearanse sake. If not cleared, each second will simply
scroll up. Instead of the Peek_16368 routine, which you don't
have available, I would think INPUT A$ (hit return and) END
would have the same effect. Try and see.
I have come up with a great menu of utility routines that
will append two programs together (loaded seperately from tape)
print a basic line in hex and identify its hex location and renumber
basic lines. However, since they all involve chjanging memory or
examining memory with PEEK and POKE statements, I am not
sending it on.
I haven't had a chance yet to try the program you sent me. Looks
like it would work, however. And, I've got to run. I'll send you any
programs I think might work for Apple I (like MULTIPLY, for example)
if you see anything in the catalogue (Page 4 of April Call -Apple of interest,
let me know.
Regards,
Apple 11 version centers the time display on the screen erasing and
reprinting each up date. ( I had to print the time and just scroll the
screen) stopping the program during a printing function prints
" Stopped at 210 message so hit key ( and hold it down ) while the cursor
is at the left margin. The timming loop at line 210 asks if a key is
depressed by looking at D0100 (16) , the keyboard input location. There is
problaly a poke statement to prevent the program stopping at line
210. But I need to dig for it, I guess.
Whoops! Just realized a shortcut on program : -
Line 260 could be: 260 GOTO 180
5 REM "STOPWATCH"
6 REM ^^^^^^^^^
7 REM
8 REM BY BOB HUELSDONK &
9 REM VAL GOLDING
10 REM
11 REM APPLE PUGETSOUND PROGRAM
12 REM LIBRARY EXCHANGE
13 REM
14 REM 6708 39TH AVE. SW
15 REM SEATTLE, WA. 98136
16 REM
17 REM FEB 12, 1978
18 REM
50 GOTO 100
60 X= PEEK (-16384): IF X > 127 THEN 300: POKE -16368.0: RETURN
70 PRINT : TAB 15: RETURN
80 VTAB 16: GOSUB 70: RETURN
90 PRINT "0";: RETURN
100 TEXT : CALL -936: VTAB 4
110 PRINT "THIS PROGRAM FUNCTIONS AS EITHER A": PRINT "REAL TIME CLO
CK OR STOPWATCH"
120 PRINT : PRINT " FOR STOP WATCH FUNCTION, ": PRINT "ENTER ALL TIME
S AS ZERO"
130 PRINT : PRINT "TO FREEZE TIME, HIT RETURN": PRINT : PRINT "AFTER
A BRIEF PAUSE, ELAPSED TIME WILL BE DISPLAYED"
140 GOSUB 80: PRINT "HRS:MIN:SEC"
150 GOSUB 70: PRINT "HOURS": INPUT H
170 GOSUB 70: PRINT "MINUTES": INPUT M
180 GOSUB 70: PRINT "SECONDS": INPUT S
190 CALL -936: POKE 37,23: POKE 34,22
200 TAB 15: PRINT H;":";: IF M59 THEN 250: GOTO 260
250 EH=EH+1:EM=0
260 S=S+1: IF S>59 THEN 270: GOTO 200
270 M=M+1:S=0: IF M>59 THEN 270: GOTO 200
280 H=H+1:M=0: IF H>12 THEN H=1: GOTO 200
300 PRINT H:":";: IF M < 10 THEN GOSUB 90: PRINT M;";"; : IF S < 10 THEN
GOSUB 90: PRINT S:
310 FOR I=1 TO 12000: NEXT I
320 TEXT : CALL -936: VTAB 4: PRINT "TO RESET TIME, TYPE 'RUN'."
330 VTAB 8: TAB 4: PRINT "ELAPSED TIME ";
350 PRINT EH;":";: IF EM < 10 THEN GOSUB 90: PRINT EM;":";: IF ES<
10 THEN GOSUB 90: PRINT ES
360 END
>PR#0
PROGRAM TO PRINT LARGE CHARACTERS (SIX PER LINE)
This program accepts up to six characters per line, in as many as 18
lines, and displays them on the TV monitor as large block characters.
It comes with sample messages stored in it. There are entry
subroutines beginning at addresses 610, 620, 640 and 650. To see the stored
messages, you might start with 610R, which will repeat one message endlessly
until interrupted by the Break key. 640R displays a second message once.
To enter a new message, start with 620R. You can then type up to
six characters per line, and can use the Rubout key to make corrections.
There is room for up to 128 characters, including carriage returns. When
you have finished entering your message, Control-A starts display of the
large characters.
650R permits storing a second message of up to 64 characters,
starting halfway through the storage block. 640R displays this message
once. 340R will display the first message. Both 340 and 640 are jumps to
subroutines, and end with a return command (HEX code 60). If you run them
directly, you have to use th Break key to get out. But you can also call
them from a BASIC program.
The Apple I types out one line after another. To show one line of
display characters, you need five lines, and so the program scans each line
of characters five times and jumps successively to an address in the second
half of the 300, 400, 500, 600 and finally 700 page. For instance, if you
are to print the letter B (ASCII HEX code C2), on successive lines it looks
up addresses 3C2, 4C2, 5C2, 6C2 and 7C2. In each case it finds there a
number whose binary digits tell it whether to print an "X" or a space. An X
is printed for a one digit, and a space for a zero digit.
A.L. Schawlow
Jan. 2, 1978
PROGRAM TO DRAW PICTURES OR TEXT AND STORE THEM STARTING AT EOO0
OAOO R (ret)
Computer prints OAOO= A9
Press (ret)
Anything typed now will be stored.
(ret) causes remainder of that line to be filled out with spaces,
which can later be replaced with characters if desired.
LINE FEED Prints one word and the space immediately after it.
SI (CONTROL 0) prints one line.
/P prints out lines continuously until *$ indicates end of file.
/M returns to beginning of line, or if at the beginning of a line,
returns to beginning of preceding line.
/- returns to beginning of file.
/F XXX (ret) searches file for lines containing the character
string XXX.
// returns control to the keyboard (equivalent to Break)
A.L.Schawlow
Stanford University
January 31, 1977
EXAMPLE OF HOW TO RUN BASIC ON AN APPLE I - not setting LOMEM
_____________________________________________________________
\ press reset
C100R run cassette program
C100: A9* (APPLE I response)
E000.EFFFR read BASIC into memory
\ (APPLE I response)
E000R start-up BASIC
E000: 4C (APPLE I response)
>10 PRINT"SAMPLE PRORGRAM #1" type in new program
>20 PRINT"THIS PROGRAM USES" type in new program
>30 PRINT"MEMORY FROM" type in new program
>40 PRINT"2048 TO 4096." type in new program
>50 END type in new program
>RUN
SAMPLE PROGRAM #1 (APPLE 1 response)
THIS PROGRAM USES (APPLE 1 response)
MEMORY FROM (APPLE 1 response)
2048 TO 4096 (APPLE 1 response)
>\ press reset
C100R run cassette program
C100: A9* (APPLE 1 response)
4A.00FFW800.FFFW write program to tape
\ (APPLE 1 response)
C100R enter cassette program
C100: A9* (APPLE 1 response)
4A.00FFR800.FFFR read program from tape
\ (APPLE 1 response)
E2B3R re-enter BASIC
E2B3: 20 (APPLE 1 response)
>LIST
10 PRINT "SAMPLE PROGRAM #1" (APPLE 1 response)
20 PRINT "THIS PROGRAM USES" (APPLE 1 response)
30 PRINT "MEMORY FROM" (APPLE 1 response)
40 PRINT "2048 TO 4096." (APPLE 1 response)
50 END (APPLE 1 response)
>
EXAMPLE OF HOW TO RUN BASIC ON AN APPLE I - setting LOMEM
_____________________________________________________________
\ press reset
C100R run cassette program
C100: A9* (APPLE I response)
E000.EFFFR read BASIC into memory
\ (APPLE I response)
E000R start-up BASIC
E000: 4C (APPLE I response)
>LOMEM-768 set low memory boundry
>10 PRINT"SAMPLE PRORGRAM #2" type in new program
>20 PRINT"THIS PROGRAM USES" type in new program
>30 PRINT"MEMORY FROM" type in new program
>40 PRINT"768 TO 4096" type in new program
>50 END type in new program
>RUN
SAMPLE PROGRAM #2 (APPLE 1 response)
THIS PROGRAM USES (APPLE 1 response)
MEMORY FROM (APPLE 1 response)
768 TO 4096 (APPLE 1 response)
>\ press reset
C100R run cassette program
C100: A9* (APPLE 1 response)
4A.00FFW300.FFFW write program to tape
\ (APPLE 1 response)
C100R enter cassette program
C100: A9* (APPLE 1 response)
4A.00FFR300.FFFR read program from tape
\ (APPLE 1 response)
E2B3R re-enter BASIC
E2B3: 20 (APPLE 1 response)
>LIST
10 PRINT "SAMPLE PROGRAM #2" (APPLE 1 response)
20 PRINT "THIS PROGRAM USES" (APPLE 1 response)
30 PRINT "MEMORY FROM" (APPLE 1 response)
40 PRINT "768 TO 4096" (APPLE 1 response)
50 END (APPLE 1 response)
>
Dear Joe,
You came pretty close in the comment you made on the
back of the last newsletter---I haven'tsold the Apple-1
yet, but I will before much longer. About the first of the
year, I got an Apple-2 and have spent most of the time get-
ting familiar with the goodies it has. I have since expanded
its memory to 24K. After the A-1 and it's 8k, I still feel
like rattling around in all that memory---though I've already
found situations where 24K is not really enough. (For example,
the floating point uses about 10K, the high resolution graphics
takes 8K for the display memory, the hi-res graphics support
routines take almost 1K and the stack, zero page, & alpha-
numeric display area takes up 2K more.)
Some of the things I've been doing with the Apple-2 are
applicable to the A-1, so don't take me off the list and
brand me a traitor yet... I'm sending you two items that
might be interesting. One is for puzzle freaks who are interested
in the "Cryptoquote" puzzles published in a lot of newspapers.
(I've found that an interest in puzzles and an addiciton to
computers seems to go together.) The program does not solve the
cryptogram, but it gives you a lot of help in solving it by
instantly (well, almost instantly) displaying the effect of
different letter substitution trials. It's a lot of fun to
see the solution almost pop out at you as you feed in the sub-
stitutions. The real reason for including this one is that it
illustrates the point I mentioned in the first letter to you--
about expanding the capabilities of Apple-BASIC with a few
simple machine language routines. The short routines that go
with the cryptosolve program add the equivalent of the "ASC"
and the "CH$" functions to your BASIC. "ASC" converts an
ASCII character to its numeric equivalent and "CHR$" converts
a number from 0 to 255 to its ASCII equivalent character.
(The routines don't literally replace the two functions, but
allow you to do some things that you would ordinarily use them
for.)
I'm also enclosing (in the form of SWTP printer outputs-and
probably not reproducible.) two versions of programs that gen-
erate cryptograms from any clear text you input. One uses the
routines above and the other uses a Kluge to get around them.
You will see, if you try them both out, that there is nearly
a factor of ten difference in speed between the two.
I'm also enclosing a dissertation on the Audible Apple
which you & others might have some fun with. I've been holding
up sending you this stuff because I wanted to verify it on
the Apple-1 before sending it to you. The audible programs
were genned up for the Apple-2 (thought I've done something
similar with the -1 before) and I've converted the address
range, zereo page registers uses, etc., for the A-1. I was
in the process of verifying them a few weeks ago and, half-
way through the process, something caused BASIC to crash and
I haven't been able to load anything since. I would
suggest that, if you decide to distribute these programs,
you check them out, or get someone to do so. If they give
any trouble, maybe I can help figure out the problem at
a distance with some correspondence. What I'm sending is
adentical to the machine language routines that work on the
A-2 except for the addresses. If there is a problem, it will
almost have to be that the page-zero addresses I selected for
the A-1 are also used by BASIC. I don't think that's a prob-
lem, because of the way the routines were working before the
machine crashed on me. The only thing I was not able to verify
was the Morse code routine. The tone generators were working
OK. Sooner or later, I'm going to reconstruct the conversion
tables, etc., required to play music with the Audible Apple,
and when I do, I'll send the information along. It's prety
straightforward, and I'm sure someone will do that for you
before I get around to it.
I've loaded you with enough stuff to worry about now, so
I'll close. Til next time....
Frank Emens
Joe, hope some of this will be
useful or entertaining, sorry to
have been so slow responding.
BY THE WAY, IF THE A-1 EXTENDED MONITOR
IS LIKE THE A-2 MONITOR, THE TAPE READ &
WRITE ROUTINES ARE ACCESSIBLE AS SUB-ROUTIENS
AND CAN BE CALLED FROM BASIC, ETC. IF I CAN
SMOKE OUT THE DETAILS I'LL LET YOU KNOW.
Frank
COMMENTS ON "CRYPTOGRAM AID" PROGRAM
7 Clears 309 bytes of "pokespace" by writing in ASCII
"space".
10 Initialize character count(C) & line count(L).
20 Call keyboard routine: pick up character from "mailbox"
(location #14), call it T
30 Put away in pokespace.
40 Test T for "rubout"
50 " T " "esc"
60 " T " "Dc" (control-D)
70 " T " "return"
80 T was none of above, so it was not a command. Keep it in
pokepsace, increment character count. If not an end of
line (40 characters), go back to line 20 for another.
90 T was "return". Update line count, resect character count
to 1.
100 Return to input routine.
110 T was "escape". Reset character count, keep same line
count, return to input.
120 T was "control-d". Leave input routine, save line count
as L2.
140 Now poke "space" into 26 locations. Here we will save the
substitute alphabet.
230 Get a character, call it T2.
235 If it's "Dc", input is complete.
240 Display "=", then get the other side of the equation.
250 If right side is not a letter, user scrogged up. Repeat
instructions and try again.
260 Subtract 192, the result is the position of the letter in
the alphabet. Now place T2 (the code equivalent of T) in
the table formed in 140, locating it at position T.
265 Print a "space" for clarity, go back for another pair.
280 "Dc" was found in line 235, so all equivalents have been
entered for now...Set up a loop which will process all the
lines entered.
285 Initialize character count.
290 Get a character.
300 Make sure it's a letter, if not, print it unchanged (line 320).
305/310 Subtract 192 to access equivalent table, pull equi-
valent from table.
320 Poke it tomailbox, call routine that prints it as an
ASCII character.
330 See if it was "return"
335 If not, increment character count & go get another.
337 It was "return", so reset character count.
340 We've printed all the equivalents that have been assigned
so far, now in lines 340 through 370, print the crypto-
gram line just under the letter equivalents that have been
assigned so far.
370 Go to next line & repeat the process.
380 All lines have been printed. Go to 230 to assign more
equivalents.
For this program to work you need the following two machine
language subroutines loaded. They make it possible to use
the POKE and PPK commands to store ASCII data in the un-
committed memory space. Data so stored may be recorded on
cassette for read from tape without disturbing the BASIC
program that is doing the manipulationg.
0000- AD 11 D0 LDA $D011 | This subroutine reads
0003- 10 FB BPL $0000 | the keyboard, when it
0005- AD 10 D0 LDA $D010 | gets a char. it displays
0008- 20 EF FF JSR $FFEF | it and stores it in $0E.
000B- 85 0E STA $0E |
000D- 60 RTS |
000E- EA NOP
000F- A5 0E LDA $0E | This one picks the char.
0011- 20 EF FF JSR $FFEF | out of $0E and displays
0014- 60 RTS | it on CRT.
CRYPTOGRAM AID
5 PRINT "INPUT CRYPTOGRAM"
7 FOR N=640 TO 949: POKE N,160: NEXT N
10 PRINT: PRINT: C=1:L=0
20 CALL 0: T-PEEK (14)
30 POKE (639+C+40*L),T
40 IF T=255 THEN 100
50 IF T=155 then 110
60 IF T=132 THEN 120
70 IF T=141 THEN 90
80 C=C+1: IF C < 41 THEN 100
90 C=1: L=L+1
100 GOTO 20
110 C=1: GOTO 20
120 L2=L-1
125 PRINT : PRINT
130 PRINT "CRYPTOGRAM ENTRY COMPLETE"
140 FOR N=1 TO 26: POKE 950+N,160: NEXT N
150 PRINT "NOW ENTER YOUR EQUIVALENTS, ENTER"
160 PRINT "THE CRYPTO LETTER, THEN, AFTER THE ="
170 PRINT "APPEARS, ENTER THE EQUIVALENT LETTER."
180 PRINT "TO DISPLAY THE QUOTE WITH ALL CURRENT"
190 PRINT "SUBSTITUTIONS MADE, PRESS CTRL AND D"
200 PRINT "SIMULTANEOUSLY. AN EQUIVALENT MAY BE"
210 PRINT "CANCELED BY MAKING IT EQUAL 'SPACE'"
225 PRINT :PRINT
230 PRINT "?";: CALL 0:T=PEEK(14)
235 IF T=132THEN 270
240 PRINT "=";: CALL :T2=PEEK(14)
250 IF T218 THEN 150
260 T=T-192: POKE (950+T),T2
265 PRINT " ";: GOTO 230
270 PRINT : PRINT
280 FOR L=0 TO L2
285 C=1
290 T=PEEK (639+C+40*L)
300 IF T218 THEN 320
305 T=T-192
310 T2= PEEK (950+T): T=T2
320 POKE 14,T: CALL 15
330 IF T=141 THEN 337
335 C=C+1: GOTO 290
337 C=1
340 T=PEEK (639+C+40*L): POKE 14,T: CALL 15
350 IF T=141 THEN 370
360 C=C+1: GOTO 340
370 PRINT : NEXT L
380 PRINT : GOTO 230
The three machine language subroutines listed here
produce audio signals at the output normally used to write
to tape from the cassette interface. For the best effect,
try connecting the output to the input of an audio amplifier.
If there is no amp available, you can record the output on
tape and listen to the output.
The subroutine at $300 creats an audio tone whose pitch
is determined by the value loaded in $16 and whose duration
depends on the number loaded in $15. The routine at $318 is
identical, except that it creates no sounds. It can be used
for rests if you use the routines for music, or for calibrated
intervals of silence for other applications. I have worked out
the values to plug into $16 to create a musical scale, but
can't find the information now, so will let you work that out.
The two BASIC routines here will give you a quick demonstration
of the possibilities.
10 for I=1 to 255 step 4
20 FOR J=1 TO 255 STEP 4
30 POKE 22,J: POKE 21,I
40 CALL 768
50 NEXT J,I
60 END
10 I= RND(256): J= RND(256)
20 POKE 22,I: POKE 21,J
30 CALL 768
40 GOTO 10
The subroutine at $330 uses the first two to generate
Morse Code. To use it, store an ASCII character in $OE (14d)
and CALL 816. The ASCII value is used to enter a conversion
table at $#AO to $3DF, which returns an eight bit pattern
defining the Morse equivalent of the letter. The scheme for
storing the code characters is best explained with an example.
The letter "L" in Morse id "dit dah dit dit". Beginning
with the most significant bit of the 8 bit byte, a zero represents
a "dit" and a one represents a "dah". After the last bit of
the Morse character, a final one serves as a stop bit. The
remaining bits of the byte are zeros. The "L" would be stored
as "01001000", or $48. An "A", which is "dit dah" would be
encoded as "01100000", or $60.
To convert this representation to actual Morse, one executes
a series of left shifts (ASL's). After each shift, first check
to see if the word has gone to zero, indicating that the "stop"
bit has just moved into the carry. If it did, you have completed
outputting the character code, and must follow it with the standard
character space. If it did not go to zero, the state of the carry
flag tells you whether to output a dit or a dah.
As with the tone generation routines, the Morse routine
can be driven from APPLE BASIC with a lttle finagling. Use
the keyboard and CRT routines accompanying the cryptogram
program to Poke a string of characters into a table, then
transfer them to the Morse routine in sequence. A neat code
practice generator should be:
10 N=0
20 FOR I=1 TO 5: T= 192+RND(26)
30 POKE 14,T: CALL 15 : CALL 816
40 NEXT I: N=N+1: IF N MOD 6 THEN 60
50 PRINT
60 POKE 15,160: CALL 15: CALL 816
70 GOTO 10
This should give you five letter groups of random characters
and display them on the CRT for checking your copy. Oh yes!,
the Morse routine alters the character you stuffed into the
mailbox register, so be sure to call the CRT routine before
calling the Morse routine.
Now for an apology. These subroutines were cobbled up in
a hurry to get ready for a demonstration ath the local ham club
and they lack some refinements that would really be desirable
if you intend to use them extensively. They could be implemented
in much less memory, if that were a consideration, and the
Morse routine requires a lot of hassle to change speeds. The
values given here make it run at about 14 words per minute, to
change speeds, you must alter the "load immediate" instructions
at #342, $349, $352, $359, $362, & $36A. These instructions
set up the length of a dit, an internal space between code
elements (equal to a dit, but silent), a dah, another internal
space, a space between letters, and a space between words--in
the order listed. Smaller numbers mean faster code, just
remember to keep the proportions the same.
I just spotted the odd looking sequence at $330 and $331.
I could have used simply "LDY $OE" instead of "LDA $OE, TAY".
Obviously this was done late at night.
366 20 18 03 JSR $0318
369 60 RTS
36A A9 40 LDA #$40
36C 85 15 STA $15
36E 20 18 03 JSR $0318
371 60 RTS
03A0 80 80 80 80 80 80 80 80
03A8 80 80 80 80 CE 80 56 94
03B0 FC 7C 3C 1C 0C 0F 84 C4
03B8 E4 F4 80 80 80 80 80 32
03C0 80 60 88 A8 90 40 28 D0
03C8 08 20 78 B0 48 E0 A0 F0
03D0 68 D8 50 10 C0 30 18 70
03D8 98 B8 C8 80 80 80 80 80
03D0 is 68
DATAPOINT CORPORATION
Joe;
Enclosed is a tape of LOGAN and NIM, along with some notes of explanation
for LOGAN. This program was written by Robert Bishop: a clever piece of
work. I have found it genuinely useful for working out logic sequences
before breadboarding or building them. Unfortunately, it does not accommodate
clocked logic. Maybe later.
NIM is one of my early efforts at writing game programs. It's amazing
how difficult it is to analyze strategy for simple games! (Note, for example,
the length of the program.) Taught me how to play NIM, though.
I thought we might trade programs, instead of me charging you $2 and you
charging me $2. The new monitor sounds good! The old one gives me problems
by inconveniently using up page zero locations. Maybe I can modify it.
Keep me notified of whatever other software you have.
This A/D described in interface works quite well, and has many applications.
Measuring shaft positions, voltages, light levels (with a CdS cell), tem-
perature, etc. are all good applications. I have a nice lunar lander using
a joystick which involves takeoff, orbit altitudes, etc. I will send it as
soon as I rewrite it (erased my only copy.)
Try this: In BASIC, type PRINT COLOR and see what you get. Or type
COLOR=100 and then PRINT COLOR. Seems to work as a variable with a mind of
its own. I don't know what it means.
Working on 16K chip problem. I can see now why the modification would
require a lot of jumpers. Every try to work with address multiplexing
Anyway, I'll document any successes and pass them along.
What kind of printer are you playing with? Where's that chess program?
Anybody try to interface a cassette operating system? Saw a photo of Jobs/
Wozniak in Mini/Micro, and industry mag.
Keep those cards and letters coming!
Harry J. Saddler
c/o Datapoint corp.
DATAPOINT CORPORATION
LOGAN: 9LOGic ANalysis) 4A.00FF/800.FFF
LOGAN sets up, analyzes and displays results of x simulation of x digital logic
circuit. Program allows teh use of six devices:
NAND gate
AND gate
OR gate
NOR gate
XNOR gate (exclusive NOR)
TNV (inverter)
TERMS:
GATE: device, listed above
LABEL: numeric label of a gate
NODE: numeric label of an input or output of a gate
STATE: "L" or "0" logic level
PROGRAM FUNCTIONS:
-2: sets up circuit
-1: assign states (logic levels) to inputs
0: analyze circuit
1: display state of all nodes
2: display gates, their labels and their nodes
For clarity, I will go through a run on paper. This is the circuit we will
analyze:
NOTE: * is a program prompt.
RUN......
*FUNCTION? -2 (set up circuit)
*OLD OR NEW? NEW (Clears memory of any old circuits, though there are none at
this point. If you want to add a gate to an existing circuit, delete one, or
change the configuration, gate type, label, whatever, type OLD, then make the
changes.)
*LABEL? 10 (Arbitrary number to label a gate, can be any number so long as
each gate has a different one.)
*GATE? NAND (Type of gate.)
*NODE? 3 (Labelling of nodes pertaining to this gate. Output is always label-
led first! This denotes it as the output. Any number can be used.)
*NODE? 1 (An input. Note that a gate can have any number of inputs, only 1 output.)
*NODE? 2 (An input.)
*NODE? 0 (Stops node labelling routine.)
*LABEL? 20
*GATE? NOR
*NODE? 4 (Output.)
*NODE? 3
*NODE? 2
*NODE? 0
*LABEL? 30
*GATE? INV (inverter)
*NODE? 5
*NODE? 2
*NODE 0
*LABEL? 40
*GATE XNOR
*NODE? 6
*NODE? 4
*NODE? 5
*NODE? 0
*LABEL? 0 (Stops specifying of circuit.)
*FUNCTION? -1 (Assign logic levels. Levels can be assigned to any or all nodes.
Normally, only circuit inputs are assigned states.)
*CLEAR? YES (Sets all nodes to logic "0". If you are checking the effect of
a state change on one input of a stable circuit, use NO. This leaves all nodes
in the previous states.)
(...next page)
DATAPOINT CORPORATION
*NODE? 1 (A circuit input)
*STATE? 1 (logic "1".)
*NODE? 2 (Circuit Input.)
*STATE? 1 (Logic "1")
*NODE? 0 (Scope assignment of logic levels)
*FUNCTION? 0 (Analyze. Program loops until circuit is stable; prints
"ITERATION X" each loop. If it keeps on looping and looping to no end, you
have a very unstable circuit- cannot stabilize.)
*FUNCTION? 1 (Display states of all nodes in this form:
1:1 2:1 3:0 4:0 5:0 6:1
/ \
node state Node 6 is of primary interest here)
*FUNCTION? 2 (Optional; outputs circuit in this form:
10 NAND 3 1 2
20 NOR 4 3 2
30 INV 5 2
40 XNOR 6 4 5
/ | \ \__\
gate | \ \
label gate output inputs)
You can go back and change input logic levels, add, remove or change gates.(Add
gates, that is, until you memory goes over the high side.) Truth tables can be
generated easily with this program. For instance, the truth table for this cir-
cuit is:
A B X
0 | 0 | 0
0 | 1 | 1
1 | 0 | 0
1 1 1
Not too useful, but it explains.
Anyway, feel free to distribute the program and this write-up. Note credit
in line 2 of program listing.
Harry J. Saddler
c/o Datapoint Corp.
programmed in Apple Basic
by Larry Nelson
December, 1977
1 DIM A(9)
10 PRINT " TIC-TAC-TOE"
20 PRINT
30 PRINT "WE NUMBER THE SQUARES LIKE THIS:"
40 PRINT
50 PRINT 1,2,3
55 PRINT: PRINT
60 PRINT 4,5,6
70 PRINT 7,8,9
75 PRINT
80 FOR I=1 TO 9
90 A(I)=0
95 NEXT I
97 C=0
100 IF RND (2)=1 THEN 150 (flip a coin for first move)
110 PRINT "I'LL GO FIRST THIS TIME"
120 C=1
125 A(5)=1 (computer always takes
130 PRINT the center)
135 GOSUB 1000
140 goto 170
150 print "YOU MOVE FIRST"
160 PRINT
170 INPUT "WHICH SPACE DO YOU WANT",B
180 IF A(B)=0 THEN 195
185 PRINT "ILLEGAL MOVE"
190 GOTO 170
195 C=C+1 (C is the move counter)
200 A(B)=1
205 GOSUB 1700
209 IF G=0 THEN 270 (G is the flag signaling
211 IF C=9 THEN 260 a win)
213 GOSUB 1500
215 C=C+1
220 GOSUB 1000
230 GOSUB 1700
235 IF G=0 THEN 270
250 IF C < 9 THEN 170
260 PRINT "TIE GAME!!!!"
265 PRINT
270 INPUT "PLAY GAIN (Y OR N)",A$
275 IF A$="Y" THEN 80 (No need to Dimension a string
280 PRINT "SO LONG" with lengh of one)
285 END
995 REM *PRINT THE BOARD*
1000 FOR J=1 TO 3
1010 TAB 6
1020 PRINT "*";
1030 TAB 12
TIC-TAC-TOE PAGE 2
1040 PRINT "8"
1050 FOR I=1 TO 3
1060 TAB S*(I-1)+2
1070 GOSUB 1200
1080 TAB 6*I
1090 IF I < 3 THEN PRINT "*";
1100 NEXT I
1110 PRINT
1120 TAB 6
1130 PRINT "8";
1140 TAB 12
1150 PRINT "*"
1160 IF J < 3 THEN PRINT "*****************"
1170 NEXT J
1175 PRINT
1180 RETURN
1190 REM *MARK OCCUPIED SQUARES*
1200 IF A((J-1)*3+I)=1 THEN PRINT "YOU";
1210 IF A((J-1)*3+I)=-1 THEN PRINT "ME";
1220 RETURN
1490 REM *LOOK FOR A WINNING MOVE*
1500 X=2
1502 H=0
1505 P=2:Q=3:R=1 (There is probably a better
1507 GOSUB 1600 test for winning moves,
1509 P=4:Q=7 but we test each combina-
1513 GOSUB 1600 tion seperatly)
1517 P=5:Q=9
1519 GOSUB 1600
1523 Q=8:R=2
1525 GOSUB 1600
1527 P=1:Q=3
1529 GOSUB 1600
1535 GOSUB 1600
1539 P=5:Q=7
1541 GOSUB 1600
1545 P=6:Q=9
1547 GOSUB 1600
1557 P=1:Q=7
1559 GOSUB 1600
1563 R=6:P=9:Q=3
1565 GOSUB 1600
1569 P=5:Q=4
1571 GOSUB 1600
1575 R=7:P=1
1577 GOSUB 1600
1581 P=5:Q=3
1583 GOSUB 2600
1587 P=8:Q=9
1589 GOSUB 1600
1593 R=8:P=7
1595 GOSUB 1600
TIC-TAC-TOE PAGE 3
1597 GOTO 1620
1599 REM *TEST FOR TWO-IN-A-ROW*
1600 IF A(P)+A(Q)#X THEN RETURN
1605 IF A(R)=0 THEN H=R
1610 RETURN
1620 P=2:Q=5
1622 GOSUB 1600
1626 R=9:P=1
1628 GOSUB 1600
1632 P=3:Q=6
1634 GOSUB 1600
1638 P=7:Q=8
1640 GOSUB 1600
1642 IF X=-2 THEN 1670
1644 X=-2
1646 GOTO 1505 (Now we Try To Block any
1650 IF H#0 THEN 1670 Wins Coming Up)
1652 FOR I=2 TO 8 STEP 2
1654 IF A(I)#0 THEN 1666
1656 H=I
1666 NEXT I
1669 IF A(5)=0 THEN H=5 (The computer moves!)
1670 IF C#3 THEN 1677
1675 IF A=A(9)=2 THEN H=2 (And blocks the trap on the
1676 IF A(3)+A(9)=2 THEN H=6 third move of the game)
1677 A(H)=-1
1679 RETURN
1690 REM *TEST FOR A WIN*
1700 G=0
1705 FOR I=1 TO 7 STEP 3 (Horizontal)
1710 D=J
1720 E=I+1
1730 F=I+2
1740 GOSUB 1800
1750 NEXT I
1760 FOR I=1 TO 3 (Vertical)
1760 D=I
1765 E=I+3
1770 F=I+6
1775 GOSUB 1800
1780 NEXT I
1782 D=1 (And Diagonal)
1784 E=5
1786 GOSUB 1800
1788 D=3
1790 F=7
1792 GOSUB 1800
1796 GOTO 1900 (Oops! Not enough allowed space again)
1800 IF ABS (A(D)+A(E)+A(F))#3 THEN RETURN
1810 G= SGN (A(D)+A(E)+A(F))
1820 RETURN
1900 PRINT
1910 IF G=-1 THEN PRINT "I WIN !!!"
1915 PRINT (No losing message, since computer
1920 RETURN can't lose!)
The rules for REVERSE
The object of REVERSE is to play a list of the digits from 1 to 9 which
are in random order into order from 1 to 9 in as few moves as possible.
Each move consists of reversing from 2 to 9 digits starting from the leftmost
digit and working toward the rightmost digit. For example if you had the
following list 8 2 3 7 9 5 4 61 and reverse 4 it would then become
7 3 2 8 9 5 4 6 1. If you then reversed 7, the list would become
4 5 9 8 2 3 7 6 1.
In the program, the numbers are printed this way:
1 2 3 4 5 6 7 8 9
-----------------
(4 5 9 8 3 3 7 6 1)
-----------------
The top numbers are to help you decide how many to reverse. The bottom numbers
are the list that you are trying to get in order.
>LIST
100 PRINT "R E V E R S E": PRINT
110 DIM A(9), B(9)
115 T=0
120 FOR I=1 TO 9: A(I)=0 : NEXT
I
130 FOR I= 1 TO 9
140 J= RND (20) +1
150 IF J>9 THEN 140
160 IF A(J)#0 THEN 140
170 A(J) =I
180 NEXT I
190 PRINT " 1 2 3 4 5 6 7 8 9"
: PRINT " -----------------"
191 PRINT "("):: FOR I=1 TO 9: PRINT
A(I):: IF I A(I+1) THEN 190
310 IF I < 8 THEN 290
320 PRINT "YOU WON IN ";T;" MOVES"
330 END
R E V E R S E
1 2 3 4 5 6 7 8 9
-----------------
(4 3 9 5 8 6 2 7 1)
-----------------
HOW MANY SHALL I REVERSE?3
1 2 3 4 5 6 7 8 9
-----------------
(9 3 4 5 8 6 2 7 1)
-----------------
HOW MANY SHALL I REVERSE?9
1 2 3 4 5 6 7 8 9
-----------------
(1 7 2 6 8 5 4 3 9)
-----------------
HOW MANY SHALL I REVERSE?1
OOPS! TOO SMALL: YOU MUST REVERSE SOMETHI
NG!
HOW MANY SHALL I REVERSE?2
1 2 3 4 5 6 7 8 9
-----------------
(7 1 2 6 8 5 4 3 9)
-----------------
HOW MANY SHALL I REVERSE?4
1 2 3 4 5 6 7 8 9
-----------------
(6 2 1 7 8 5 4 3 9)
-----------------
HOW MANY SHALL I REVERSE?3
1 2 3 4 5 6 7 8 9
-----------------
(1 2 6 7 8 5 4 3 9)
-----------------
HOW MANY SHALL I REVERSE?5
1 2 3 4 5 6 7 8 9
-----------------
(8 7 6 2 1 5 4 3 9)
-----------------
HOW MANY SHALL I REVERSE?8
1 2 3 4 5 6 7 8 9
-----------------
(3 4 5 1 2 6 7 8 9)
-----------------
HOW MANY SHALL I REVERSE?3
1 2 3 4 5 6 7 8 9
-----------------
(5 4 3 1 2 6 7 8 9)
-----------------
HOW MANY SHALL I REVERSE?5
1 2 3 4 5 6 7 8 9
-----------------
(2 1 3 4 5 6 7 8 9)
-----------------
HOW MANY SHALL I REVERSE?2
YOU WON IN 10 MOVES
Craig was a computer collector of types who was considering writing a book about the Apple 1. That's why he wrote to Edmond to find out more on the Apple 1 and to the Woz.
Joe,
Nice to hear from you. Sounds like you have been
doing some house cleaning! Glad to hear that
you found the case, box, and keyboard for the
Apple 1. I would be interested in any of those
items. Let me know what you need for those items.
I wouldn't need the cassette interface, but I'll pass
the info on if anyone inquires about one.
I don't have any of the cards you are looking for,
but I do have a spare Disk ][ interface card (handy
spare or to expand to a 4 drive system) and also a set of
chips for the disk drive. I also have a copy of
Apple Logo with manuals in the box that has never been
opened. It's a nice starter language for kids. I think
it retails for about $150. If any of these items are
of interest, let me know. I also have probably
10-15 new diskettes full of assorted educational programs.
I wrote to Robert Edmonds. His wife wrote back and
said he had died a few years ago and she threw
away all his old papers, computer stuff, etc. Also got
a letter from Steve Wozniak about the Apple 1. He said
they built 200 of them and only a couple actually
got traded in on Apple ]['s. Incidently, Apple did not
serial number the boards... the Byte Shop put those
on the ones they bought from the Steves (about 100
boards).
I haven't tried the Apple 1 out yet. Still
looking for the other transformer and the
right keyboard. Couple guys here at work have
said they would hook it up. Maybe will get
that done soon if we work someting out on
the keyboard.
Well, that's about all for right now. Thanks
for writing and hope all is going well.
Sincerely,
Craig Solomonson
1760 2nd Avenue N.W.
Cambridge, MN 55008
P.S. How's the Apple II+ working? Fine, I hope.
I really like my new IIe except
the new Unidrives worry me. They
sound cheap!
This letter is from Stan Veit, former owner of The Computer Mart of New York, the third person Steve Jobs sold an Apple 1 to, and Apple's third dealer. It was sent to Joe Torzewski of the Apple One Owners Club.
STANLEY S. VEIT19 WEST 34 ST.NEW YORK,N.Y.10001
MAY 23,1981
APPLE ONE LIBRARYJOE TORZEWSKI51625 CHESTNUT ROADGRANGER, IN 46530
Dear Joe:
Strange you should mention it, but I will certainly talk about the Apple One. I knew that someone out there might be working with them, but I didn't know there was such a library. I will be happy to use my column to bring it to everyone's attention.
In April of 1976, I received a phone call at The Computer Mart of New York which I ran. It was from a young man in who had just developed a single-board computer using the 6502. He wanted me to become his dealer on the east coast and because he was so enthusiastic about his machine, I bought it. In a short time UPS dropped off a package containing the Apple 1. It didn't work. So I got on the phone and called Los Gatos and talked to Steve (for both the young men involved were called Steve). They sent me another one and a keyboard, plus the little cassette board they had just built. This time it worked like a charm. There was a monitor, a Game of Life program and that's it. No BASIC yet. Still I enjoyed my Apple One and I built it into an attache case. About that time the New York Chapter of the ACM had a meeting at which they invited several microcomputer vendors to show their wares to the collected group of big-computer people. My wife and I attended the meeting with my little case and a 9-inch monitor. The Altair people were there with a whole rack of equipment, the Computer Corner of Westchester showed an IMSAI with a terminal and a ASR-33 Teletype. When they saw me with no big load of equipment they were disappointed, but when I set up the Apple One and ran LIFE, I was the hit of the evening. Here was a true personal computer.
That summer was the first Atlantic City Personal Computer Festival the first big computer show.