• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Applesoft BASIC full documentation

Apostrophe

Well-known member
Ok, so seriously, I need THE authoritative manual for Applesoft BASIC.

I was having fun programming random things on my Apple IIc the other day, but I got frustrated since my knowledge of the language is still so limited. I mean sure, I can make pretty colors, but I feel like I can do so much more if I just knew more of the language.

So I need the most complete, most authoritative guide to Applesoft BASIC. I know it slightly differs from computer to computer, so let's say IIc and beyond, so that I can keep those floating point integers.

And obviously I've looked online, with no such luck. There's plenty of little tutorials, but they're not nearly as in-depth as what I need. Who here knows where I can find such documentation?

-Apostrophe

 

Dog Cow

Well-known member
Note that those two books predate the Apple IIc, which has a modified version of Applesoft BASIC compared to what's covered in those manuals. The differences aren't huge, mainly things such as 80-column support (HTAB, VTAB) and lower-case commands (print versus PRINT) are added.

There are newer Applesoft tutorials and reference manuals published by Apple that are updated with the newer versions of Applesoft BASIC. I don't believe that any scans are available.

 

Apostrophe

Well-known member
Yeah, I noticed that as I was reading through the manuals. Another big difference I noted was the lack of support for floating point numbers.

And as far as the "newer" manuals go, assuming I ever need them, I'll just look on eBay and see if anyone's selling them. But I'm not too concerned about that right now.

-Apostrophe

 

Apostrophe

Well-known member
Okay, those manuals have given me all the knowledge I need except one thing. I need to be able to adjust the time delay of the keyboard input buffer so that when I hold down a key, the key registers on the IIc in a regular time interval determined by me.

Anyone understand what I mean? If you know the appropriate command/peek/poke/call, etc. let me know. I've searched the most complete peek/poke list I could find, however there is no reference to actually editing the input buffer's time delay.

Let me know.

-Apostrophe

 

david__schmidt

Well-known member
I need to be able to adjust the time delay of the keyboard input buffer so that when I hold down a key, the key registers on the IIc in a regular time interval determined by me.
Anyone understand what I mean?
Yes, you want to adjust the key repeat delay.

however there is no reference to actually editing the input buffer's time delay.
Alas, that's because there isn't one; you can't adjust it. Some related references:

http://support.apple.com/kb/TA29566?viewlocale=en_US

http://www.1000bit.it/support/manuali/apple/technotes/aiie/tn.aiie.10.html

 

Apostrophe

Well-known member
Okay, thanks anyway. I'm not sure I want to perform Frankenstein-like surgery on my IIc that way, I'll just have to make do with what I already know.

But I'm sure that will be enough.

-Apostrophe

 

theos911

Well-known member
I know nothing about programming, but here are my two sense:

Would it be possible to figure the rate at which it does repeat and simply have the system blacklist it so it only hears every 4th. or 5th. or whatever you need? (This appears to be your actual question, that is hardware-ly impossible)

or

Would it be possible to have the program only be able to accept input at an interval, say every .5 sec. So, even if the program receives a million strokes it can only respond to one every .5 seconds?

/IDK, these might not even make sense in a programming sense

 

Apostrophe

Well-known member
And another thing I thought, to expand on your question...holding the "a" key down on the Apple is the equivalent of: a.....aaaaaaaaaaaaaaaaaaaaaaa, etc. What I thought is, I could have it insert a pause if the key is repeated at least twice, therefore the effect is: a...a...a...a...a...a...a...a...a... etc.

I think the WAIT command applies here, I'll have to look into it more. But if I can find a way to insert that conditional pause, you know...like, say pressing "a" leads to its own subroutine, and within that subroutine, a filter that would basically say "If a$= "a" then WAIT (however the syntax is.) And I could insert such a pause for each individual letter that I wish to GET, that way I can still establish an interval time rate.

 

theos911

Well-known member
Not being a programmer, you lost me on the syntax, but that is a good idea.

Way to think different! (Yup, had to do it)

 
Top