TweetFollow Us on Twitter

Alphabet Soup
Volume Number:1
Issue Number:1
Column Tag:BASIC SCHOOL

“Alphabet Soup”

By Dave Kelly

“Alphabet Soup”

Welcome to Basic School! This article is dedicated to those of us that enjoy programming in Basic. Programmers of structured languages have put Basic down for several years because it is not considered a structured programming language and many implementations of Basic lack enhancements which give it power to perform advanced functions. Also it has been said many times that it is much harder to follow the program flow in Basic than in other languages like Pascal. Those who complain about the limitations of Basic are sometimes quite justified in their complaints. After all, basic “BASIC” isn’t very powerful and not very flexible at all. Any enhancement at all is an improvement. This has been the caseup until now. Now, the enhancements that we find in Macintosh Basic are approaching the power of the more acceptable high level languages such as Pascal. Exploring Macintosh Basic computing power is what this column is all about.

In the last few months we have seen the evolution of the programming tools needed to program the Mac on the Mac. In the coming issues, we will explore the enhancements included in the new MacBasic and in Microsoft Basic Version 2.0. At the writing of this article Microsoft tells me that they intend to release Microsoft Basic Version 2.0 by the end of October or sometime in November. I’m told that it includes many enhancements which in my opinion should have been included from the very first introduction of Microsoft Basic to the Macintosh world. These enhancements include programmable windows, menus, scrolling, sound and sound effects, compatability with MacWrite, complete mouse control, editing, debugging, access to most if not all of the Mac internal ROM routines, and elimination of the need for line numbers. This is what I call programming made easy. From what I’ve seen so far, there will be quite a competition between MacBasic and Microsoft Basic 2.0 in the coming months.

The Mac Basic listing shows an example of the ease in documenting a program as it is written. I originally wrote the program in Microsoft Basic version 1.0 as an educational tool for my 2 year old to learn his alphabet. The program prints the alphabet and then prompts the user to find each letter one at a time.Then the user points to the letter with the mouse and presses the mouse button. By using variable names that show what is happening and by the use of line labels the program requires little documentation. When I write programs, I rarely have the time to finish up with documentation especially when my 2 year-old can’t wait to start the game. The use of these labels will be familiar to anyone who has used Basic on the Hewlett Packard 9826-36 series computers. The label name is used in each of the gosub statements in place of the line numbers. This makes the use of line numbers unnecessary. The coresponding label name also appears at the beginning of the subroutine followed by a colon. By indenting the text of the program within each subroutine, it is clear where the subroutine starts and ends and the label gives a clue as to what each subroutine does.

Next month we will explore Basic programming on the Mac in more detail.

10 ‘*********************************
20 ‘         Alphabet Soup
30 ‘         By David Kelly
40 ‘         MS Basic Version 1.0
70 ‘*********************************
1000 DIM TOP%(26),BOT%(26),RGT%(26),LFT%(26)
1010 FOR LETTER%=1 TO 26
1020       READ LFT%(LETTER%), TOP%(LETTER%), RGT%(LETTER%), BOT%(LETTER%)
1030 NEXT LETTER%
1040 GOSUB 1090:   ‘ Print_alphabet
1050 FOR LETTER%=ASC(“A”) TO ASC(“Z”)
1060       GOSUB 1200: ‘Ask_for_letter
1070 NEXT LETTER%
1080 CALL TEXTMODE(0):CALL TEXTFACE(0):CALL TEXTFONT(1):CALL TEXTSIZE(12):END

1090 ‘ Print_alphabet to screen
1100 CLS :  ‘Clearwindow
1110 CALL TEXTFONT(2): ‘ Set to New York Font
1120 CALL TEXTSIZE(24): ‘ Set Font size to 24
1130 CALL TEXTMODE(2): ‘Sets screen to XOR
1140 CALL TEXTFACE(0): ‘Sets face to plain style
1150 FOR LETTER% = 1 TO 26
1160  CALL MOVETO(LFT%(LETTER%),BOT%(LETTER%)):PRINT CHR$(ASC(“A”)-1+LETTER%)
1170 NEXT LETTER%
1180 CALL TEXTSIZE(12):  ‘Set font size to 12
1190 RETURN

1200 ‘ Ask_for_letter
1210 CALL MOVETO (125,175):PRINT “Find the letter: “;
1220 CALL TEXTSIZE(24): ‘Set Font size to 24
1230 CALL TEXTMODE(0)
1240 PRINT “ “;CHR$(LETTER%)
1250 CALL TEXTSIZE(12)
1260 CALL PENMODE(10)

1270 IF MOUSE(0)=0 THEN 1270: ‘button wait
1280 X2=MOUSE(1): Y2=MOUSE(2)
1290 CALL MOVETO(238,168):CALL LINETO(X2,Y2)
1300 IF MOUSE(0)<0 THEN 1300
1310 IF (X2<LFT%(LETTER%-64) OR X2>RGT%(LETTER%-64) OR Y2< TOP%(LETTER%-64) 
OR Y2 >BOT%(LETTER%-64)) THEN FLAG%=1 ELSE FLAG%=0

1320 CALL PENMODE(14):PATTERN%(0)=0:CALL PENPAT(VARPTR(PATTERN%(0)))
1330 CALL MOVETO(238,168): CALL LINETO(X2,Y2):CALL PENNORMAL
1340 CALL TEXTMODE(0):IF FLAG% =1 THEN 1210
1350 BEEP:BEEP
1360 RETURN

1370 DATA 36,20,52,74           :’A data
1380 DATA 72,20,84,74           :’B data
1390 DATA 103,20,115,74       :’C data
1400 DATA 133,20,147,74       :’D data
1410 DATA 165,20,176,74       :’E data
1420 DATA 195,20,207,74       :’F data
1430 DATA 225,20,239,74      :’G data
1440 DATA 257,20,272,74       :’H data
1450 DATA 290,20,315,74       :’I data
1460 DATA 330,20,350,74       :’J data
1470 DATA 369,20,383,74       :’K data
1480 DATA 401,20,414,74       :’L data
1490 DATA 434,20,454,74       :’M data
1500 DATA 35,75,51,120         :’N data
1510 DATA 69,75,83,120         :’O data
1520 DATA 101,75,115,120     :’P data
1530 DATA 133,75,147,120     :’Q data
1540 DATA 165,75,179,120     :’R data
1550 DATA 197,75,208,120     :’S data
1560 DATA 227,75,240,120     :’T data
1570 DATA 259,75,275,120     :’U data
1580 DATA 294,75,310,120     :’V data
1590 DATA 329,75,352,120     :’W data
1600 DATA 371,75,385,120     :’X data
1610 DATA 402,75,417,120     :’Y data
1620 DATA 434,75,445,120     :’Z data

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Fresh From the Land Down Under – The Tou...
After a two week hiatus, we are back with another episode of The TouchArcade Show. Eli is fresh off his trip to Australia, which according to him is very similar to America but more upside down. Also kangaroos all over. Other topics this week... | Read more »
TouchArcade Game of the Week: ‘Dungeon T...
I’m a little conflicted on this week’s pick. Pretty much everyone knows the legend of Dungeon Raid, the match-3 RPG hybrid that took the world by storm way back in 2011. Everyone at the time was obsessed with it, but for whatever reason the... | Read more »
SwitchArcade Round-Up: Reviews Featuring...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for July 19th, 2024. In today’s article, we finish up the week with the unusual appearance of a review. I’ve spent my time with Hot Lap Racing, and I’m ready to give my verdict. After... | Read more »
Draknek Interview: Alan Hazelden on Thin...
Ever since I played my first release from Draknek & Friends years ago, I knew I wanted to sit down with Alan Hazelden and chat about the team, puzzle games, and much more. | Read more »
The Latest ‘Marvel Snap’ OTA Update Buff...
I don’t know about all of you, my fellow Marvel Snap (Free) players, but these days when I see a balance update I find myself clenching my… teeth and bracing for the impact to my decks. They’ve been pretty spicy of late, after all. How will the... | Read more »
‘Honkai Star Rail’ Version 2.4 “Finest D...
HoYoverse just announced the Honkai Star Rail (Free) version 2.4 “Finest Duel Under the Pristine Blue" update alongside a surprising collaboration. Honkai Star Rail 2.4 follows the 2.3 “Farewell, Penacony" update. Read about that here. | Read more »
‘Vampire Survivors+’ on Apple Arcade Wil...
Earlier this month, Apple revealed that poncle’s excellent Vampire Survivors+ () would be heading to Apple Arcade as a new App Store Great. I reached out to poncle to check in on the DLC for Vampire Survivors+ because only the first two DLCs were... | Read more »
Homerun Clash 2: Legends Derby opens for...
Since launching in 2018, Homerun Clash has performed admirably for HAEGIN, racking up 12 million players all eager to prove they could be the next baseball champions. Well, the title will soon be up for grabs again, as Homerun Clash 2: Legends... | Read more »
‘Neverness to Everness’ Is a Free To Pla...
Perfect World Games and Hotta Studio (Tower of Fantasy) announced a new free to play open world RPG in the form of Neverness to Everness a few days ago (via Gematsu). Neverness to Everness has an urban setting, and the two reveal trailers for it... | Read more »
Meditative Puzzler ‘Ouros’ Coming to iOS...
Ouros is a mediative puzzle game from developer Michael Kamm that launched on PC just a couple of months back, and today it has been revealed that the title is now heading to iOS and Android devices next month. Which is good news I say because this... | Read more »

Price Scanner via MacPrices.net

Amazon is still selling 16-inch MacBook Pros...
Prime Day in July is over, but Amazon is still selling 16-inch Apple MacBook Pros for $500-$600 off MSRP. Shipping is free. These are the lowest prices available this weekend for new 16″ Apple... Read more
Walmart continues to sell clearance 13-inch M...
Walmart continues to offer clearance, but new, Apple 13″ M1 MacBook Airs (8GB RAM, 256GB SSD) online for $699, $300 off original MSRP, in Space Gray, Silver, and Gold colors. These are new MacBooks... Read more
Apple is offering steep discounts, up to $600...
Apple has standard-configuration 16″ M3 Max MacBook Pros available, Certified Refurbished, starting at $2969 and ranging up to $600 off MSRP. Each model features a new outer case, shipping is free,... Read more
Save up to $480 with these 14-inch M3 Pro/M3...
Apple has 14″ M3 Pro and M3 Max MacBook Pros in stock today and available, Certified Refurbished, starting at $1699 and ranging up to $480 off MSRP. Each model features a new outer case, shipping is... Read more
Amazon has clearance 9th-generation WiFi iPad...
Amazon has Apple’s 9th generation 10.2″ WiFi iPads on sale for $80-$100 off MSRP, starting only $249. Their prices are the lowest available for new iPads anywhere: – 10″ 64GB WiFi iPad (Space Gray or... Read more
Apple is offering a $50 discount on 2nd-gener...
Apple has Certified Refurbished White and Midnight HomePods available for $249, Certified Refurbished. That’s $50 off MSRP and the lowest price currently available for a full-size Apple HomePod today... Read more
The latest MacBook Pro sale at Amazon: 16-inc...
Amazon is offering instant discounts on 16″ M3 Pro and 16″ M3 Max MacBook Pros ranging up to $400 off MSRP as part of their early July 4th sale. Shipping is free. These are the lowest prices... Read more
14-inch M3 Pro MacBook Pros with 36GB of RAM...
B&H Photo has 14″ M3 Pro MacBook Pros with 36GB of RAM and 512GB or 1TB SSDs in stock today and on sale for $200 off Apple’s MSRP, each including free 1-2 day shipping: – 14″ M3 Pro MacBook Pro (... Read more
14-inch M3 MacBook Pros with 16GB of RAM on s...
B&H Photo has 14″ M3 MacBook Pros with 16GB of RAM and 512GB or 1TB SSDs in stock today and on sale for $150-$200 off Apple’s MSRP, each including free 1-2 day shipping: – 14″ M3 MacBook Pro (... Read more
Amazon is offering $170-$200 discounts on new...
Amazon is offering a $170-$200 discount on every configuration and color of Apple’s M3-powered 15″ MacBook Airs. Prices start at $1129 for models with 8GB of RAM and 256GB of storage: – 15″ M3... Read more

Jobs Board

*Apple* Systems Engineer - Chenega Corporati...
…LLC,** a **Chenega Professional Services** ' company, is looking for a ** Apple Systems Engineer** to support the Information Technology Operations and Maintenance Read more
Solutions Engineer - *Apple* - SHI (United...
**Job Summary** An Apple Solution Engineer's primary role is tosupport SHI customers in their efforts to select, deploy, and manage Apple operating systems and Read more
*Apple* / Mac Administrator - JAMF Pro - Ame...
Amentum is seeking an ** Apple / Mac Administrator - JAMF Pro** to provide support with the Apple Ecosystem to include hardware and software to join our team and Read more
Operations Associate - *Apple* Blossom Mall...
Operations Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Cashier - *Apple* Blossom Mall - JCPenney (...
Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Mall Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.