Some time back I blogged about how someone wrote a one page program in Just BASIC that draws a colorful fractal image.
And I quote (myself):
"What's great about BASIC and languages like it is that you don't have a write a lot of code that has nothing to do with what you're trying to create (like Java for example). It should be really easy to throw together a little code and play with graphics. Programming should be fun, not a burden.
Here is a thread that shows how to draw fractals in less than a page of BASIC."
But the link is now broken because the forum site shut down and we lost a lot of good stuff.
Here's where we make it right. A few months ago I found a fractal example for the Apple II written in Applesoft BASIC. I thought it was pretty cool, so I adapted it for Liberty BASIC.
startMS = time$("ms")
WindowHeight = 230
open "mandelbrot set" for graphics as #gr
#gr down()
#gr fill("black")
color$ = "red orange yellow green blue red orange yellow green black"
for x = 0 to 279
for y = 0 to 95
x1 = x / 280 * 3 - 2 : y1 = y / 191 * 2 - 1
i = 0:s = x1:t = y1
while i < 20 AND s * s + t * t < 4
s1 = s * s - t * t + x1
t = 2 * s * t + y1:s = s1: i = i + 1
wend
c = i/2
#gr color(word$(color$, c + 1))
if c <> 0 then #gr set(x, y) : #gr set(x, 191-y)
next y
next x
print "done in "; time$("ms")-startMS; " milliseconds"
Note: This is written to run on Liberty BASIC v5 to be one of the example programs. LB5 is as of the time of this writing is in alpha test. Click to visit the Liberty BASIC v5 board in our forum.
Showing posts with label apple II+. Show all posts
Showing posts with label apple II+. Show all posts
Thursday, September 19, 2019
Saturday, October 27, 2018
Jobs vs Woz - The Closed vs Open Hand
Most people know who Steve Jobs was. He was the charismatic and visionary frontman for Apple for many years. He even managed a friendly coup at Apple when he took back the company he was ousted from. He was a controversial person. He had his fans and his detractors. I think he certainly had his good points, but I am really more of a fan of the other less well known Steve of Apple, Steve Wozniak affectionately known as Woz.
Woz was the designer of the original line of Apple II computers. He had a vision of computers as computers, for everyone. A hippy vision of computing? ;-)
What appeals to me more about Woz is that he was generous and wanted to give people something great. His ambition lay more in personal accomplishment and also in sharing his knowledge with others. When he created the Apple II computer he wanted it to be open. He provided a schematic so that users could understand the computer, and so that they could modify it. People even wrote books about how to do this. Another example of this is that Woz included expansion slots so that people could extent the computer in this way.
When you turn on an Apple II you can program it right away. There is a built in machine language monitor. Depending on the model you can either use Woz's Integer BASIC or you can run Applesoft BASIC.
This version of an Apple computer is a real computer, for computing, by programming. A computer is a device for a computer user.
Enter the computer as appliance. :-/
Steve Jobs had a vision of computer as appliance. This is purely a business perspective. Sell more computers by marketing to the fat middle of the bell curve.
Of course he is not the only one to think this way. Somehow progress in computing tends towards reducing it down to a touchscreen and away from programming and true computer literacy. The Macintosh was a step in this direction. This has a certain irony because the form of the Mac user interface was inspired directly by the Smalltalk windowing user interface, a programming system. In addition to the appliance-like format of the Mac software, the computer itself was meant to be closed unit. You need a special screwdriver to open it, and there are no expansion slots.
So the Mac was a closed machine, and it pointed other systems in this direction (i.e. Microsoft Windows). You could purchase programming software for the Mac, but unlike other computers on the market there was no direct path to programming when you turned on the machine. Why was there no easy programming option on the desktop when you started the Mac OS? For more on this issue see Why Johnny Can't Code which is a popularly referenced article on this topic.
HyperCard eventually was made available on the Mac as an easy and fun programming tool and it was included free of charge for some years, but now it is gone.
Microsoft followed suit with Windows and they too also did not include even a version of their famous BASIC as an icon on the desktop of their new system. I wrote Liberty BASIC back in the early 1990s as a response to this. Microsoft eventually provided Visual Basic, but I strongly suggest the this should have been included, for free, and an icon to start Visual Basic should have appeared on the Windows desktop on startup.
I'm not going to suggest that there is some sort of conspiracy to dumb down the computer. What I will say is that this amounts to a stupid and harmful mistake. The computer is so powerful and wonderful as a creative too. These new computers as appliances are depriving people of so much by simply omitting an easy and friendly programming tool. A desktop icon to entice the curious to try something simple enough for children and powerful enough for casual applications programming.
So, what is really better? How do you define progress? What of the early 6502 and Z80 computers when compared to what we have today? The new computers dwarf these charming old timers, but they are less powerful in terms of the concepts they omit from the user.
Woz was the designer of the original line of Apple II computers. He had a vision of computers as computers, for everyone. A hippy vision of computing? ;-)
What appeals to me more about Woz is that he was generous and wanted to give people something great. His ambition lay more in personal accomplishment and also in sharing his knowledge with others. When he created the Apple II computer he wanted it to be open. He provided a schematic so that users could understand the computer, and so that they could modify it. People even wrote books about how to do this. Another example of this is that Woz included expansion slots so that people could extent the computer in this way.
When you turn on an Apple II you can program it right away. There is a built in machine language monitor. Depending on the model you can either use Woz's Integer BASIC or you can run Applesoft BASIC.
This version of an Apple computer is a real computer, for computing, by programming. A computer is a device for a computer user.
Enter the computer as appliance. :-/
Steve Jobs had a vision of computer as appliance. This is purely a business perspective. Sell more computers by marketing to the fat middle of the bell curve.
Of course he is not the only one to think this way. Somehow progress in computing tends towards reducing it down to a touchscreen and away from programming and true computer literacy. The Macintosh was a step in this direction. This has a certain irony because the form of the Mac user interface was inspired directly by the Smalltalk windowing user interface, a programming system. In addition to the appliance-like format of the Mac software, the computer itself was meant to be closed unit. You need a special screwdriver to open it, and there are no expansion slots.
So the Mac was a closed machine, and it pointed other systems in this direction (i.e. Microsoft Windows). You could purchase programming software for the Mac, but unlike other computers on the market there was no direct path to programming when you turned on the machine. Why was there no easy programming option on the desktop when you started the Mac OS? For more on this issue see Why Johnny Can't Code which is a popularly referenced article on this topic.
HyperCard eventually was made available on the Mac as an easy and fun programming tool and it was included free of charge for some years, but now it is gone.
Microsoft followed suit with Windows and they too also did not include even a version of their famous BASIC as an icon on the desktop of their new system. I wrote Liberty BASIC back in the early 1990s as a response to this. Microsoft eventually provided Visual Basic, but I strongly suggest the this should have been included, for free, and an icon to start Visual Basic should have appeared on the Windows desktop on startup.
I'm not going to suggest that there is some sort of conspiracy to dumb down the computer. What I will say is that this amounts to a stupid and harmful mistake. The computer is so powerful and wonderful as a creative too. These new computers as appliances are depriving people of so much by simply omitting an easy and friendly programming tool. A desktop icon to entice the curious to try something simple enough for children and powerful enough for casual applications programming.
So, what is really better? How do you define progress? What of the early 6502 and Z80 computers when compared to what we have today? The new computers dwarf these charming old timers, but they are less powerful in terms of the concepts they omit from the user.
Monday, August 20, 2018
Back to BASICs
Some time ago I began to assemble a small collection of vintage home computers in order to begin blogging about what makes these machines so appealing. In particular, programming these computers in BASIC in my early years made a huge impression on me and my creation of Liberty BASIC was inspired by my love for BASIC.
I have obtained the following machines in working condition.
Apple //c
Commodore 128 (a Commodore 64 compatible machine which also has a Z80 processor)
Commodore VIC-20
Atari 800XL
TRS-80 Color Computer 2 (not sure I will actually use this one)
And a few less popular computers that might make guest appearances.
To begin with, I am focusing on the Commodore VIC-20. I have some ideas about very simple and fun projects in BASIC, and some Forth. Since most of these machine also have a 6502 processor, perhaps there will also be some posts about that.
I have obtained the following machines in working condition.
Apple //c
Commodore 128 (a Commodore 64 compatible machine which also has a Z80 processor)
Commodore VIC-20
Atari 800XL
TRS-80 Color Computer 2 (not sure I will actually use this one)
And a few less popular computers that might make guest appearances.
To begin with, I am focusing on the Commodore VIC-20. I have some ideas about very simple and fun projects in BASIC, and some Forth. Since most of these machine also have a 6502 processor, perhaps there will also be some posts about that.
Labels:
6502,
apple II,
apple IIc,
Atari,
atari 800xl,
basic,
Commodore,
commodore 128,
commodore 64,
forth,
liberty basic,
trs-80,
vic-20,
z80
Friday, April 2, 2010
What's a Popkin?
Well, the question really is "Who is Laird Popkin?" Good question.
In the summer of 1988 I met Laird Popkin when he was working at The Bit Bucket in West Newton. The Bit Bucket was this cool store with cool people and with cool stuff in the windows, like Amiga computers showing ray traced animations with shiny chrome balls and also a PDP-8. Try to find one of those on ebay!
Now, Laird was this nice fellow a couple of years older than me. He gave me my first ever demonstration of Windows 2.1. He showed me how an Atari ST could run Mac software if you ripped the contents of a Mac ROM. He introduced me to bulletin boards and FidoNet, and emoticons! He even invited me to his place in Sudbury (or was it in Weston?) where he shared a house with a bunch of other techies and their Apple II's and a Jaguar motoring enthusiast. He loaned me his copy of The Eudamonic Pie, which is this fascinating book about how some west coast nerds invented a computer in a shoe for beating roulette. Eat your heart out Maxwell Smart! I still have the book. Sorry Laird.
Laird and I had lunch a few times and struck up some great conversations. We talked about computers, science, consciousness and God.
Wherever you are Laird, thank you!
In the summer of 1988 I met Laird Popkin when he was working at The Bit Bucket in West Newton. The Bit Bucket was this cool store with cool people and with cool stuff in the windows, like Amiga computers showing ray traced animations with shiny chrome balls and also a PDP-8. Try to find one of those on ebay!
Now, Laird was this nice fellow a couple of years older than me. He gave me my first ever demonstration of Windows 2.1. He showed me how an Atari ST could run Mac software if you ripped the contents of a Mac ROM. He introduced me to bulletin boards and FidoNet, and emoticons! He even invited me to his place in Sudbury (or was it in Weston?) where he shared a house with a bunch of other techies and their Apple II's and a Jaguar motoring enthusiast. He loaned me his copy of The Eudamonic Pie, which is this fascinating book about how some west coast nerds invented a computer in a shoe for beating roulette. Eat your heart out Maxwell Smart! I still have the book. Sorry Laird.
Laird and I had lunch a few times and struck up some great conversations. We talked about computers, science, consciousness and God.
Wherever you are Laird, thank you!
Labels:
amiga,
apple II,
computer science,
consciousness,
emoticon,
eudamonic pie,
fidonet,
god,
jaguar,
laird popkin,
mac rom,
maxwell smart,
pdp-8,
ray tracing,
the bit bucket,
windows 2.1
Saturday, January 30, 2010
Enhancing Your Apple II
Back in the day friend Richard Stoddart loaned me a book titled Enhancing Your Apple II by Don Lancaster. Mind you, I didn't even own an Apple II but I was very interested in learning, and the book seemed promising so I took it home. The author Dan Lancaster was a popular writer and quite an Apple II guru. My understanding is that he was part of the same computer users group that Steve Wozniak, the creator of the Apple II belonged to. The contents of this book are certainly compatible with the idea that he had an insider's caliber of insight.
The book starts off with some really neat but simple modifications to the motherboard of the Apple II. The kinds of modifications described were things like adding a single wire to connect together circuits that would otherwise not have any knowledge of each other. Then he explains how with this and some simple software tricks you can do multimode graphics and high resolution text. He even shows how to do this from an Applesoft BASIC program by calling some machine code he provides in the book. Very nice.
Later in the book he explains how to disassemble machine code and figure out how a machine language program works so that you can make modifications. What an excellent education!
There is also supposed to be a Volume 2 of this book, but I'm not sure what it contains.
The book starts off with some really neat but simple modifications to the motherboard of the Apple II. The kinds of modifications described were things like adding a single wire to connect together circuits that would otherwise not have any knowledge of each other. Then he explains how with this and some simple software tricks you can do multimode graphics and high resolution text. He even shows how to do this from an Applesoft BASIC program by calling some machine code he provides in the book. Very nice.
Later in the book he explains how to disassemble machine code and figure out how a machine language program works so that you can make modifications. What an excellent education!
There is also supposed to be a Volume 2 of this book, but I'm not sure what it contains.
Wednesday, January 27, 2010
Rumblings of the Future
One formative project I started but never finished on my VIC-20 was a programmable calculator program. I got my start programming the HP-67 calculator, and I've always been fond of these little pocket sized computers so this was my inspiration for this project. This was going to be the simplest interpreter you could write in BASIC. I didn't bother to sit down and design it on paper first. I just starting coding it. Really, I can't remember much about it except that I was motivated to give it a try. I didn't get very far.
Another idea I've always been very interested in pursuing is to create a robot battle programming system like Robot Wars on the Apple II. This is similar to CRobots for the PC. It's a very simple real-time simulation of two or more robots duking it out in an arena. The robots search and destroy each other by executing battle programs written by a human user.
I never finished my programmable calculator. Years later on I would go on to write different kinds of interpreters and some similar things in connection with paid work, and ultimately Liberty BASIC and Run BASIC.
Programming languages have always fascinated me, and I enjoy reading books and articles by other programming language implementors to improve my understanding of the field.
Another idea I've always been very interested in pursuing is to create a robot battle programming system like Robot Wars on the Apple II. This is similar to CRobots for the PC. It's a very simple real-time simulation of two or more robots duking it out in an arena. The robots search and destroy each other by executing battle programs written by a human user.
I never finished my programmable calculator. Years later on I would go on to write different kinds of interpreters and some similar things in connection with paid work, and ultimately Liberty BASIC and Run BASIC.
Programming languages have always fascinated me, and I enjoy reading books and articles by other programming language implementors to improve my understanding of the field.
Labels:
apple II,
crobots,
hp-67,
liberty basic,
programmable calculator,
robot wars,
run basic,
vic-20
Saturday, January 23, 2010
Compilers, coffee and cookies
As Mr. Alessi and I proceeded with development of Forecaster-Buy we decided that we wanted to use a BASIC compiler instead of using the built-in Applesoft BASIC interpreter. This protected the source code of the program so no one could steal it. It also made the program run faster, but honestly because most of the time was spent entering data, waiting for disk access and printing stuff on a slow dot matrix printer it was pretty hard to tell it was faster.
The only real choice if you wanted to compile Applesoft BASIC was to use Microsoft's Applesoft BASIC Compiler. Imaginative name, right? This was a very nice product. Back in those days, compilers made your program run faster, but they made development very slow. You tried to cram as much work as you could in between compiles because each line of code took 3 or 4 seconds to compile. Each next line would appear on the screen, and then the floppy drive would go brrrr, brrr, mmmm, mmmm, mmmmm. Repeat.
Now this actually had a nice benefit. Every half an hour or so you would compile the program, and then run off and have a coffee break. I drank soooooo much coffee, and Keebler fudge cookies were consumed in large quantities also. I wish I could still eat like that. ;-)
The only real choice if you wanted to compile Applesoft BASIC was to use Microsoft's Applesoft BASIC Compiler. Imaginative name, right? This was a very nice product. Back in those days, compilers made your program run faster, but they made development very slow. You tried to cram as much work as you could in between compiles because each line of code took 3 or 4 seconds to compile. Each next line would appear on the screen, and then the floppy drive would go brrrr, brrr, mmmm, mmmm, mmmmm. Repeat.
Now this actually had a nice benefit. Every half an hour or so you would compile the program, and then run off and have a coffee break. I drank soooooo much coffee, and Keebler fudge cookies were consumed in large quantities also. I wish I could still eat like that. ;-)
Labels:
apple II,
applesoft basic,
coffee,
compiler,
cookie
Soldering, and joysticks
Some of the time I spent working with Mr. Alessi was actually spent just playing around. I didn't always write business software. Sometimes I would write code to draw graphics, or read BYTE magazines, or play video games on the computer.
Some of these games allowed the use of a joystick, which we didn't have. I decided to build my own. The Apple II+ supports the reading of 2 variable resistor (volume control) knobs. Many joysticks use this to provide x/y positioning.
To plug a joystick into the computer, the joystick needs to have a 16 pin DIP connector. I went to Radio Shack and bought the connector, a cable, and the joystick module preassembled. I had an old radio control car, so I took the steering controller and cut out a hole where the steering wheel was. It had button for reverse, so I used that for button 1 on the joystick. I can't remember if I added a second button. I guess I must have since it would be hard to play games without it.
The joystick came together easily with my limited soldering skills, and it worked! Thinking back on it, Mr. Alessi was remarkably okay with my plugging in a homebrew device like this into his $2400 computer. The only thing about the joystick was that the value of the potentiometers was slightly off. I didn't get the complete range of motion of a properly designed joystick. However it was good enough to play Choplifter and some other games!
Some of these games allowed the use of a joystick, which we didn't have. I decided to build my own. The Apple II+ supports the reading of 2 variable resistor (volume control) knobs. Many joysticks use this to provide x/y positioning.
To plug a joystick into the computer, the joystick needs to have a 16 pin DIP connector. I went to Radio Shack and bought the connector, a cable, and the joystick module preassembled. I had an old radio control car, so I took the steering controller and cut out a hole where the steering wheel was. It had button for reverse, so I used that for button 1 on the joystick. I can't remember if I added a second button. I guess I must have since it would be hard to play games without it.
The joystick came together easily with my limited soldering skills, and it worked! Thinking back on it, Mr. Alessi was remarkably okay with my plugging in a homebrew device like this into his $2400 computer. The only thing about the joystick was that the value of the potentiometers was slightly off. I didn't get the complete range of motion of a properly designed joystick. However it was good enough to play Choplifter and some other games!
Labels:
Apple,
apple II,
byte magazine,
choplifter,
electronics,
joystick,
soldering,
video games
Thursday, January 21, 2010
The Apple II+
My job with Mr. Alessi started out with a software project he called Forecaster-Buy. The idea was to create a trend following inventory management system for distributors and manufacturers so that overstocking was a thing of the past. The computer we did all our initial development was:
An Apple II+ with 48K RAM and Applesoft BASIC in ROM
Two 143K Apple Disk II floppy drives
An Epson MX-100 dot matrix printer
Later we added a Microsoft Z-80 Softcard but didn't do much with it
I learned so much about programming with Mr. Alessi. We worked in the basement. There was a small room at the bottom of the basement stairs where the computer was kept, and in the larger basement space there was a TV and some chairs. We would talk about the software (and politics) and I would go into room and write software. Mr. Alessi would come in and ask me how I was doing. He'd make suggestions to which I would sometimes respond "That's impossible!" Of course it wasn't impossible, but if I didn't know how to do it, that is what I sometimes said. Then we'd talk and I'd think it over and come up with some sort of code to do the previously impossible.
Working with Mr. Alessi was a great experience. He was smart enough to know what sort of software to create. He'd bring me endless coffee and cookies. On Saturdays he would make me breakfast. He made very nice scrambled eggs. His two sons Tom and Michael were a little older than me and they'd always be around. I remember I used to play with them (and with all the other kids around the block) up at the park at the end of my street; kickball, pickle, keepaway, capture the flag, and hide and seek with the whole neighborhood as our hiding place. :-)
Yeah, working with Mr. Alessi was a great opportunity. It didn't pay much, but I learned a ton!
An Apple II+ with 48K RAM and Applesoft BASIC in ROM
Two 143K Apple Disk II floppy drives
An Epson MX-100 dot matrix printer
Later we added a Microsoft Z-80 Softcard but didn't do much with it
I learned so much about programming with Mr. Alessi. We worked in the basement. There was a small room at the bottom of the basement stairs where the computer was kept, and in the larger basement space there was a TV and some chairs. We would talk about the software (and politics) and I would go into room and write software. Mr. Alessi would come in and ask me how I was doing. He'd make suggestions to which I would sometimes respond "That's impossible!" Of course it wasn't impossible, but if I didn't know how to do it, that is what I sometimes said. Then we'd talk and I'd think it over and come up with some sort of code to do the previously impossible.
Working with Mr. Alessi was a great experience. He was smart enough to know what sort of software to create. He'd bring me endless coffee and cookies. On Saturdays he would make me breakfast. He made very nice scrambled eggs. His two sons Tom and Michael were a little older than me and they'd always be around. I remember I used to play with them (and with all the other kids around the block) up at the park at the end of my street; kickball, pickle, keepaway, capture the flag, and hide and seek with the whole neighborhood as our hiding place. :-)
Yeah, working with Mr. Alessi was a great opportunity. It didn't pay much, but I learned a ton!
Labels:
Apple,
apple II,
applesoft,
capture the flag,
hide and seek,
keepaway,
kickball,
microsoft,
pickle,
programming,
softcard,
z-80,
Zilog
Monday, June 11, 2007
Floppy disks
In the early micro days we used cassette tapes and floppy disks. Floppies were better for many reasons but they were expensive. The Apple Disk II drives were $495 including the controller. Once you had one of these babies you still needed floppy disks. I remember pretty clearly in the early 80's spending $80 for a box of 10 floppy disks. These were Dysan disks, and were of very good quality.
However these disks probably exceeded the quality required. Later on some less expensive floppy disks became available from the likes of Maxell and memorably named Elephant Memory Systems. These were $2.50 or so per disk. The disk surfaces weren't as polished, and some cheap brands didn't have a reinforced mount but no matter really. The cheap disks were pretty much as reliable as far as anybody could tell.
Disk drive systems themselves were all quite different from each other. Apple's legendary Steve Wozniak had managed to create the ultimate in economy of design for a disk controller with a small card having only 5 ICs. Most other disk controllers were long circuitboards with 2 to 3 dozen chips. Monsters. ;-)
Some of these floppy drives used hard sector disks, meaning that there was an index hole in the media for each sector on the disk. So, if the disk was meant for a 16 sector drive, the disk would have 16 timing holes cut out of it evenly around the inner part of the disk. This would be read by an LED and a sensor. The Apple II used soft sector disks where there was only one hole cut in the disk, and the drive controller itself decided how many sectors to put on the disk by doing careful timing.
I remember that my father's H-89 had hard sector disks. The drives also made a strange clunking noise as they operated. The Apple II's drives made the much more familiar brrrr, brrr, mmm, mmm sound of most floppy drives and they were faster than the H-89 drives.
However these disks probably exceeded the quality required. Later on some less expensive floppy disks became available from the likes of Maxell and memorably named Elephant Memory Systems. These were $2.50 or so per disk. The disk surfaces weren't as polished, and some cheap brands didn't have a reinforced mount but no matter really. The cheap disks were pretty much as reliable as far as anybody could tell.
Disk drive systems themselves were all quite different from each other. Apple's legendary Steve Wozniak had managed to create the ultimate in economy of design for a disk controller with a small card having only 5 ICs. Most other disk controllers were long circuitboards with 2 to 3 dozen chips. Monsters. ;-)
Some of these floppy drives used hard sector disks, meaning that there was an index hole in the media for each sector on the disk. So, if the disk was meant for a 16 sector drive, the disk would have 16 timing holes cut out of it evenly around the inner part of the disk. This would be read by an LED and a sensor. The Apple II used soft sector disks where there was only one hole cut in the disk, and the drive controller itself decided how many sectors to put on the disk by doing careful timing.
I remember that my father's H-89 had hard sector disks. The drives also made a strange clunking noise as they operated. The Apple II's drives made the much more familiar brrrr, brrr, mmm, mmm sound of most floppy drives and they were faster than the H-89 drives.
Labels:
Apple,
apple II,
circuitboard,
dysan,
elephant memory systems,
floppy disk,
floppy drive,
h-89,
hard sector,
heathkit,
ic,
maxell,
soft sector,
wozniak
Thursday, June 7, 2007
Applesoft BASIC
So settling down to programming on the Apple II+, we had several books to help me with the process. Of course there was the standard green covered Applesoft book, and Mr. Alessi also has another book but I can't remember the title. I tried to find a shot of the book cover on Google but no luck.
Before we started writing inventory management software I tried my hand at creating some graphics. The Apple II had hi-res graphics (for that day), and Applesoft had high level commands for drawing so you didn't need to POKE and PEEK as much as in other BASICs. We had only a green phosphor monitor without color, but this was appropriate for business software development.
When editing a program in Applesoft BASIC, you could type some escape sequences to move the cursor around. If you moved the cursor up to the start of a line on the screen you could then reenter the line by moving the cursor to the right, and you could substitute some characters to change the line of code. This was crude compared to the way you did things on a VIC-20 where you just moved the cursor to the line you wanted to edit, changed just what was needed and hit Return.
Also, I had never written software before that used a floppy disk. This was another thing that I needed to become comfortable with. Our Apple II had 3 floppy drives, each was 143K. We also had a 16K card and a Z80 Softcard so the machine could run CP/M, but this was something we rarely did.
Before we started writing inventory management software I tried my hand at creating some graphics. The Apple II had hi-res graphics (for that day), and Applesoft had high level commands for drawing so you didn't need to POKE and PEEK as much as in other BASICs. We had only a green phosphor monitor without color, but this was appropriate for business software development.
When editing a program in Applesoft BASIC, you could type some escape sequences to move the cursor around. If you moved the cursor up to the start of a line on the screen you could then reenter the line by moving the cursor to the right, and you could substitute some characters to change the line of code. This was crude compared to the way you did things on a VIC-20 where you just moved the cursor to the line you wanted to edit, changed just what was needed and hit Return.
Also, I had never written software before that used a floppy disk. This was another thing that I needed to become comfortable with. Our Apple II had 3 floppy drives, each was 143K. We also had a 16K card and a Z80 Softcard so the machine could run CP/M, but this was something we rarely did.
Sunday, June 3, 2007
My First Programming Job
As well as I can remember (this would have been 1981) I met Patrick A. Alessi when I was 14 years old at NEECO. He was there purchasing an Apple II+ and an Epson MX-100 printer, and he told the sales guy there he needed a programmer to work on some business software. They pointed across the store at me. He told me later that he said, "Who, him? He's just a kid!" They introduced us to each other.
Turns out I knew his son Michael from playing kickball at the park down the street. Mr. Alessi lived a mere 4 blocks away from me, which was the perfect distance. So I began visiting his place. As first we just played pool and experimented with his new Apple II+, and Mr. Alessi made no apologies about sharing his political opinions while smoking different kinds of pipe tobacco.
Since my friend Richard had an Apple II computer I got some games from him, and I made a joystick for the computer out of parts I bought at Radio Shack. I reused the case from an RC car's remote control. I cut out the steering wheel and replaced it with a dual-potentiometer joystick. It was ugly, but I saved some money. ;-)
Mr. Alessi was interested in creating some trend following inventory management software, and he talked a lot about this. Eventually we would begin to write this software, and do a lot of other things as well. This was not going to make me much money in the short run, but I couldn't have asked for a better opportunity to learn.
Turns out I knew his son Michael from playing kickball at the park down the street. Mr. Alessi lived a mere 4 blocks away from me, which was the perfect distance. So I began visiting his place. As first we just played pool and experimented with his new Apple II+, and Mr. Alessi made no apologies about sharing his political opinions while smoking different kinds of pipe tobacco.
Since my friend Richard had an Apple II computer I got some games from him, and I made a joystick for the computer out of parts I bought at Radio Shack. I reused the case from an RC car's remote control. I cut out the steering wheel and replaced it with a dual-potentiometer joystick. It was ugly, but I saved some money. ;-)
Mr. Alessi was interested in creating some trend following inventory management software, and he talked a lot about this. Eventually we would begin to write this software, and do a lot of other things as well. This was not going to make me much money in the short run, but I couldn't have asked for a better opportunity to learn.
Subscribe to:
Posts (Atom)