TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

How Steve Wozniak Wrote BASIC for the Original Apple From Scratch

351 pointsby mr_tyzikabout 11 years ago

19 comments

k1w1about 11 years ago
The update that describes why 4KB of RAM was necessary was interesting to me. In 1998 I wrote a Java Virtual Machine in assembly language for a PIC-like microcontroller that only had 4k of ROM (actually it was 4k instructions, but they were 12-bit words giving 6kB). I managed to get all of the important features of the language to fit, including exception handling and an interactive debugger. However by the end, each time I wanted to add a new instruction to my code I had to find something else to optimize first so it would still fit in 4k.<p>By the end I convinced myself that 4k was the minimum possible code size for implementing a JVM.<p>The JVM was used in the Parallax Javelin Stamp - a Java version of the BASIC Stamp (<a href="http://en.wikipedia.org/wiki/BASIC_Stamp" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;BASIC_Stamp</a>).<p>As an aside, the SX microcontroller only had 256 bytes (yes bytes!) of RAM internally so I used an external 32kB SRAM for the Java heap and stack. The 256 bytes of internal RAM held the internal state of the interpreter and memory manager.
评论 #7688987 未加载
评论 #7689038 未加载
matthewmcgabout 11 years ago
&quot;In 1967 or 1968, as a senior in high school, our electronics teacher ... arranged for me to go to a company in Sunnyvale (Sylvania) to program a computer because I already knew all the electronics in class at school. Mr. McCollum did this for students with electronics abilities every year, finding local companies with engineers and projects that would let high school students come and and get some experience.&quot;<p>It&#x27;s amazing that his high school had electronics classes and vocational externships. Is that something that was common at the time or just another amazing aspect of Silicon Valley?
评论 #7687822 未加载
评论 #7687537 未加载
评论 #7687526 未加载
评论 #7687277 未加载
评论 #7687643 未加载
评论 #7690330 未加载
评论 #7689996 未加载
评论 #7689007 未加载
评论 #7691977 未加载
评论 #7687923 未加载
评论 #7687494 未加载
评论 #7687492 未加载
评论 #7687548 未加载
评论 #7688843 未加载
npongratzabout 11 years ago
&quot;<i>The other &#x27;bible&#x27; was a book &quot;101 Games in BASIC.&quot; I was a fan of computer games and knew that as soon as I had a computer of my own I would want to type in all these games to play.</i>&quot;<p>I don&#x27;t know for sure, but I think Mr. Wozniak is referring to the book edited by David H. Ahl, <i>BASIC Computer Games</i>:<p><a href="http://atariarchives.org/basicgames/" rel="nofollow">http:&#x2F;&#x2F;atariarchives.org&#x2F;basicgames&#x2F;</a><p>Notes on the page mention the book was &quot;[a]lso published as 101 BASIC Computer Games&quot;.<p>This book happened to be a great influence on me. Reading it in grade school gave me a small taste of what fun programming can be. I especially liked how some of the programs showed how simple rules can result in emergent and unexpected behavior. Not to mention how easy and fun it was to change the source (sometimes by accident... SYNTAX ERROR anyone?) and seeing what would happen.<p>Today, I have the distinct privilege to do effectively the same (different platforms, of course :)), and now it even pays the bills.
评论 #7688730 未加载
评论 #7688132 未加载
评论 #7688529 未加载
评论 #7688017 未加载
评论 #7690605 未加载
etfbabout 11 years ago
Woz is, for me, the ISO standard geek, the distillation of all that I aspire to. Somewhere in Paris is a vault, and in that vault is a platinum-iridium Steve Wozniak, against which all of us are judged and found wanting.
kbsabout 11 years ago
If you&#x27;re interested in the actual details of the implementation of the syntax table, I had a great exchange on the 6502.org forum a couple of years back.<p><a href="http://forum.6502.org/viewtopic.php?p=17736" rel="nofollow">http:&#x2F;&#x2F;forum.6502.org&#x2F;viewtopic.php?p=17736</a><p>There is a (relatively easier to understand) stack-based expression evaluator, with hooks to allow for operator precedence. The interesting part is the scanner, which converts each line of BASIC into the tokens used by the evaluator. This is the bit that has the &quot;syntax table diagram&quot;.<p>You may also find this article by Woz on the Apple][ from the &#x27;77 BYTE magazine a pretty interesting read.<p><a href="http://www.downloads.reactivemicro.com/Public/Users/Grant_Stockley/Apple2WozSystemDescription.pdf" rel="nofollow">http:&#x2F;&#x2F;www.downloads.reactivemicro.com&#x2F;Public&#x2F;Users&#x2F;Grant_St...</a>
tn13about 11 years ago
In India I studied in a school that had only one electric bulb per class and a second hand MS-DOS machine donated by a politician. The school and teachers were glad to let me use it and I am eternally thankful to them for the same. It changed me totally.<p>We also had awesome electronics equipment lying around which we could use. I used IC-555 when I was in 8th grade to program a flashing LED and I can not explain the joy of doing it in words.
评论 #7693294 未加载
listicabout 11 years ago
I programmed in Forth some time ago and I wonder why didn&#x27;t Wozniak implement Forth on his first computer. Surely, it would be easier to do and run faster than BASIC. That BASIC was a naive interpreter, it couldn&#x27;t help being slow, except for the primitives that Woz coded in machine language, I&#x27;m sure they were fast.<p>Was it already clear for Wozniak in 1975 that Forth looks weird and people won&#x27;t get it?
评论 #7687569 未加载
评论 #7688915 未加载
评论 #7687489 未加载
评论 #7690338 未加载
评论 #7688521 未加载
评论 #7687510 未加载
csenseabout 11 years ago
I feel like gaming has always been an important application for driving hardware innovation.<p>It&#x27;s interesting that this article shows that goes at least all the way back to Woz&#x27;s home-built computer that turned into the first Apple.
评论 #7687968 未加载
评论 #7688940 未加载
subdaneabout 11 years ago
&quot;But I had in the back of my head that I could be a star, that I could get a little fame in the hobby world, like Bill Gates, if I created the first BASIC for the 6502.&quot; Big things start small!
评论 #7687498 未加载
Someoneabout 11 years ago
<i>&quot;I kept about 50 chronological folders of papers throughout all my BASIC design work. Each one was labelled GAME BASIC. So you can see where my head was coming from.&quot;</i><p>I&#x27;m not sure whether that &#x27;kept&#x27; means they are gone, with that &quot;<i>can</i> see&quot; a sentence later, but if they exist, somebody should write a book or a paper on them.
beachstartupabout 11 years ago
this is a serious question.<p>does anyone know if woz lifted weights or participated in any other kind of serious athletics when he was younger? he&#x27;s always very fit and muscular in early pictures and as many athletes do, he&#x27;s gained some weight in later years.<p>i only ask because some contemporary biopic films&#x2F;representations have portrayed him as out of shape in his early years and that&#x27;s clearly bullshit.
评论 #7689788 未加载
评论 #7693300 未加载
评论 #7689771 未加载
dpwebabout 11 years ago
I remember a quote by Woz I think it was with the hardware however, about being forced to design everything more completely before even starting to build it. There&#x27;s got to be a lesson in that somewhere.
评论 #7689773 未加载
readabout 11 years ago
<i>Judging by my own feelings, I assumed that...</i><p><i>At least then I was sure that my computer could possible do the important things that high priced computers do, but I wasn&#x27;t sure.</i><p><i>I sniffed the wind and knew...</i><p><i>I never saw my name in print so I didn&#x27;t get that &#x27;Bill Gates&#x27; fame, but I was known in my club.</i><p><i>Every club meeting I&#x27;d have a few more commands that worked fully.</i><p><i>Had I not cared about BASIC, I probably would have just built another switches and lights computer with minimal static memory and been done with it.</i>
评论 #7690404 未加载
DodgyEggplantabout 11 years ago
&quot;When you code by hand (couldn&#x27;t afford a time-share account) it&#x27;s hard to make changes in the middle structure of things that have to be at fixed addresses.&quot;
afs35mmabout 11 years ago
Woz wrote BASIC from scratch and I&#x27;m having trouble with call and apply...
marcosscrivenabout 11 years ago
Wozniak is the closest I get to idolising. There&#x27;s just something about the combination his extreme talent, humbleness, and humanity.
moron4hireabout 11 years ago
People always ask me, &quot;what was it like to be homeschooled&quot; and I never have an answer for them. It was all I knew. What was it like to go to public school? But this. This is what it was like. My sister and I did things, made things, whatever we wanted. We went places and interacted with adults and worked on real projects. Nothing as impressive as this, but lots of things far more impressive than our peers.<p>But that wasn&#x27;t &quot;being homeschooled&quot;, that was having our parents. I&#x27;ve learned that most of our homeschooled peers didn&#x27;t do anything like we did. It was kind of a weird revelation to grow up in this group of supposed-academic-over-achievers, often feel like the dumb one because I hadn&#x27;t read all of the books they did (which I now realize was because I had a much more balanced up bringing that included sports and other studies), and then be the only two (my sister and I) to make something out of our lives.<p>Religious zealotry will do that to people. And they were zealous in both homeschooling and Christianity. I&#x27;m now somewhat surprised one or two of them haven&#x27;t committed suicide yet. I know one has tried, but his zealotry makes him refuse to get help. His father, being the local physician in our small town, apparently doesn&#x27;t believe depression is a real thing. And yet half or more of his 11 kids are textbook cases.<p>It makes me sick. But again, that&#x27;s not homeschooling, that&#x27;s having certain parents. One&#x27;s parents are, naturally, the biggest influence on their lives.
VikingCoderabout 11 years ago
I believe I know exactly how he did it - the Richard Feynman Problem Solving Algorithm:<p><pre><code> * Write down the problem. * Think very hard. * Write down the solution.</code></pre>
raverbashingabout 11 years ago
&quot;Wow, so, you mean people can develop software without using TDD and an OO language?!&quot;<p>Edit: yes, this is why I have much more respect for Wozniak than for Uncle Bob or other consultants
评论 #7687862 未加载