SPTUTITTETE j i iti j ] j iT] TTT TT iti HTT | iT] HHT PITT

Hil HH HH} HH THA HH} HHH HH / HH JETTED WH WET TTL Hii] MTT} WL Hi] Hi i, HAN IH Hh ii HH) HT Hi ; Mi Ml) / UT) HY j TTL HT HTT j i . A\ om LUTVHTEY " jae nekebeeeennns | Hen ] 16 ty IVA ms M | MT {teed HHS aint: fine hie

WH 1} Welland ifn aa TTT TUT me ith iH} WAH HiT Hf} HITT (| HAH HI RUS) |

ik HW } HIT) A) UA He Y] MT | MH Hi} Hi HH Hill HL, THT THT . }) WH Hi } HITT | HHH} Hi} HH TT Hf ) If HH ITET I Hi} }} ee i) dl ul | nie 4 ii HITT Hae WY): 5, MI, \c} AVANE?, AO) y ¢ NN OD OBEY 4) Bie TI I |) HT Mi WA \i\\ Hii HH HA HH WH i) HHH} HHH) Ninh HH} HHH WTI} HH) Hi} i) a Hii WH MIT HHI HT if} ATT HT HH HTT tl] HH THT Ht HH Hill rea | HH} WH Hitt li WT HT HH / | I] } HHI) WA HI MTT Ih i TT | Hi) if} if TT iH] i ] HH HI Hf HH HT HHHi| Hh} iif HH HH} Hii | j Hi) i} HH | TH Wii HT] / Hill HH} HTT} Hi HI} Hl Hf Hil} i]) Wi HH; HH} HW Hi) HH } HHI HHH} HE WH) PAT {| TA HHH} HH HHH) HHH HHT} HH if) HT | WHTTI| | TTT j | | HH) HAH j TTL, HHL} HI

=| a] ! wi oy HT TH HEIHE 43). els v} 1) Ou ja!) Inch “orn oyele ©) 4

.: Co Dinimor

TTT HH LH AHH HH} WAT)

WH) Mi =e fl ds'sc

HT

HH} Hi} HH} Hit HH

log 2 Demi OS

WHA } i HT HI il } i} HTT HI if} HHT Hi | if i Hi HT} HL |! HHH HiT} Hy) Hi HT HT HW) WITH) HU HTT iH AHL Hit ij | TUTTE LTT

AT

iT} | { ]

MT H HD TH

‘SEC cto C IDJELASES a): ani

JORDAN

MOND NIGHT @ FOOTBALL

Whether you're _passing for the game- ve RIT p winning touchdown, aa ual nny aD Flight jumping through x eh Bist NANT iy A oncoming traffic, or bd Ait serie) dodging SAM missiles over North Vietnam, you are sure to enjoy these AAA rated games. Each of these packages represent some of the finest games within their class. They won't last

long, sO order yours now!

Areade (Pack 1) Adw./Srratege (Pack 2) Miwa = Sportz (Pack 3) Air Comoat (Pack &)

Only $20.00 per Package! Plus Shipping & Handling (Continental U.S. Add: 1-$5.00, 2-$5.50, 3-$6.00, $4-$6.50 All other destinations, see CMD main ad; Page 28)

With this special offer, buy three or more packages Xs and get a 1670 {a

(1200) baud modem

ON

ISSUE 16

COMMODORE

WORLD

THE NEWS MAGAZINE FOR COMMODORE 64 & 128 USERS

GENERAL MANAGER Charles R. Christianson 5 Eoitor Doug Cotton oa ADVERTISING SALES Charles A. Christianson (413) 525-0023 ° PHOTOGRAPHY Wayne Wrubel Sd Grapuic Arts Doug Cotton > Evectronic Pre-Press & PrinTING Mansir/Holden 5 Cover Design by Doug Cotton

Commodore™ and the respective Commodore product names are trademarks or registered trademarks of Escom GmbH. Commodore World is in no way affiliated with Escom GmbH., owner of the Commodore logo and technology. Commodore World is published 8 times annually by Creative Micro Designs, Inc., 15 Benton Drive, East Longmeadow MA 01028-0646. Second-Class Postage Paid at East Longmeadow MA. Annual subscription rate is US$29.95 for U.S. addresses, US$35.95 for Canada or Mexico, US$45.95 for all EC Countries, and US$57.95 to all other addresses worldwide, All subscription payments must be provided in U.S, Dollars. Mail subscriptions to CW Subscriptions, c/o Creative Micro Designs, Inc., P.O. Box 646, East Longmeadow MA 01028-0646,

Entire contents copyright © 1995 by Creative Micro Designs, Inc., unless otherwise noted. No part of this publication may be printed or otherwise reproduced by any means without prior written consent from the publisher. All programs published in this publication are for the personal use of the reader, and may not be copied or in any way distributed. All rights reserved, Programming examples and routines in this issue which are presented for educational purposes may be used in the creation of programs by the purchaser of this magazine, provided credit for the routines is clearly presented in either the program documentation, or the program itself. Creative Micro Designs, Inc., assumes no responsibility for errors or omissions in editorial, program listings or advertising content. Creative Micro Designs, Inc. assumes no liability for advertisers claims or reliability.

POSTMASTER: Send address changes to: CW Address Changes, c/o Creative Micro Designs, Inc., P.O. Box 646, East Longmeadow MA 01028-0646,

AUGUST/SEPTEMBER 1996

FearuRrEes

14

Commopore DEMOS by Sherry Freedline Part two of our series takes a look at four more great demo programs.

16 Neurat Network on A Commopore 64 by John Walker Find out how computers differ from human brains. 20 A 6502 Procranmer’s INTRODUCTION TO THE 65816 by Brett Tabke Learn how WDC’s super processor differs from what you're used to. 37 A Grower's Guide To User Groups by Jayme Rice Get some hot tips on drawing new members to your group. Reviews 30 Ganes by Jason Compton and Sherry Freedline Forgotten Worlds, Grand Prix Circuit, and Death Sword. 32 THe Sortware MANUAL: ProGRAMMING THE 65816 by Jim Brain Find out about WDC's reference book on programming. Cocumns 10 Just For Starters by Jason Compton Find out what you can do with the User Port. 12 Graptic INTERPRETATION by Paul Sullivan Looking for some geoWrite goodies? 34 The SySor’s Corner by Max Cottrel Create ANSI menus for your BBS. 38 Carrie DETECT by Gaelyne R. Gasson Learn how to transfer files on the Internet with FTP. 42 GEeOPROGRAMMIST by Maurice Randall Find out how your GEOS applications can create data files. 44 AssemBty LINE by Jim Butterfield An inside look at the Processor Status register flags. 46 PERIPHERAL VISION by Jim Butterfield An overview of how Commodore's peripheral bus operates. 48 Basic INsTINCTS by David Pankhurst More fractal programming! 48 Over Tue Epce by Harold Stevens, Jr. Pirates are still sailing in the Commodore scene. See Our NEW DEPARTMENTS CHECKSUM 2 From tHe Epitor 8 ON Tre Horizon Utilit 4 BAcKTALK 56 Ctassiried Avs y 6 Commopore Trivia 56 Apverriser’s INDEX On Page 51

There’s no question that this most recent cycle has been a hectic one. Our new assistant editor didn’t work out, so we're back to looking for someone to fill that position. In the meantime, all the editing, layout, and graphics creation that goes into each issue has fallen back into my lap. In addition, we've lost our photographer, Wayne, who was also CMD's repair technician. The latter spot has been filled, but we'll need to figure out what to do for photographs in upcoming issues. Despite these hurdles, we've managed to nudge the page count back up to 56, and I think we've produced a very well-rounded issue. Of course, I may be somewhat biased.

There’s some bad news... a few hardware items have quietly dissappeared from the supply chain in the last few months. Notably missing in action: CMD'’s FD-4000, the Super 1750 Clone, SuperSnapshot, Action-Replay, VDC RAM Expansion kits, and disk drive RAM Expansion kits. These are sad losses, as there really aren't any products left that directly replace or duplicate what these products did. When suppliers run out of 1581 drives, no big deal, there are FD-2000 drives that can pretty much directly replace them; but losing both Super Snapshot and Action-Replay leaves users without any means to capture programs for archiving or operating from devices like CMD’s HD. Expect to see some rise in the value of these items in the used market.

There are some positive things happening, as well, though... CMD's SuperCPU 64 has started shipping, and work on the 128 version is now under way. Maurice Randall has new versions of GeoFAX and GeoSHELL coming along soon, and he has also confirmed that he isn’t far off from releasing a new GEOS driver/Configure package that will reportedly revolutionize device handling under GEOS. Nick

COMMODORE WORLD 2

Rossi’s Novaterm 9.6 is now shipping on disk, and has brought us Zmodem, Ymodem-G, and a lot of other improvements. There are other software developments under way, too... Matt Desmond appears to be working regularly on his new version of Desterm, Electric Boys recently sent us some images created by a new C64 interlaced graphics editor that they are working on, and CMD is finishing up documentation for an English language version of GoDot. CMD is also heading up projects to produce a new 65816 assembler (SAS) and a machine language monitor (SuperJiffy MON), both targeted at SuperCPU developers; there are also indications that the long-awaited Menuette 128 may be back on track for release, along with an updated 64 version. So there are indeed some things for users to look forward to over the next few months.

Meanwhile, there are some really nice things to see in this issue of Commodore World. Sherry Freedline brings us her second installment on Commodore demo programs; there's a very interesting article about how computers and human brains differ, along with a type-in program that lets the 64 emulate the brain’s ability to recognize patterns; Brett Tabke introduces the 65816 to 6502/6510 programmers (we've added a useful opcode list and informative programming models to this); and Jayme Rice, President of TCUG, presents some excellent ideas on promoting growth of user groups, In our regular columns, find out what the User Port is good for (/ust For Starters), how to create fractal images (BASIC Instincts), and how to use Internet File Transfer Protocol (Carrier Detect). We've also been rejoined this issue by Harold Stevens, Jr., who tackles the touchy subject of software piracy in Over The Edge. So what are doing still reading this editorial? Dive in!

Doug Cotton Editor

Issue 16

W NEW Games Disk! The Compleat Jon: 11 Games! the whole gamut of gaming is covered here: artificial intelligence, role-playing, mazes, fantasy, science fiction, education and even non-violence (which was a radical concept in its time). These eleven Games are among the best ever published on LOADSTAR, Listed on the menu in chronological order, so you can see how Jon's style changed as the yeas rolled by, 1581 disk 0021D3 $20. 1541 disk #0038D5 $20

VW NEW Puzzle dist The Compleat Crossword: every

crossword puzzie published in Puzzle Page in one huge

collection! 220 puzzies! It uses Barbara Schulak’s CRUCIVERBALIST program to present the puzzies and allows you to “mark” a puzzie when it’s solved so that you know which you've solved and which you haven't yet. Each 1541 disk contains 110 puzzies. 1581 Disk #002003 $20, Disk 1(1541) #003605 $10.Disk 2 (1541) #0037D5 $10

crowerecay tear

VW NEW CHl2y Productivity! The Compleat Lee O: six o

Lee O. Clinton's best serious programs for the C-128 80- column mode. Finance, auto expense, kitchen helper, genealogy, resume writing, mutual funds! One 1541 disk #0032D5. One 1581 disk #001703 $10.00

Y NEW Word Searen! Super Star Search 1: 200 original word search puzzles by Steven Thomas and Art Dudley, presented by John Serafino'’s modern point and click program. One 1541 disk #0011D5 One 1581 disk # D3 $20.00

W New Story disk! The Compleat Prosequest '95: NEW!!! A 1541 disk with all of the entries in the 1995 short story Melt Kine on it, including the three grand winners. One 1541 disk #0035D5 One 1581 disk #0019D3 $5.00

Soft Weer! LOADSTAR T-Shirts: timitea

‘edition Fruit Of The Loom T-shirts. LOADSTAR’s nemesis, Knees

Calhoon, stands up to regular washing and drying. Where else can parel? 50% Cotton//Polyester. $15.00 each mall #960025, Medium #960125, Large 25, XX-L #960425

Tools! Tutorials! The Compleat

rammMefF: Best seller! Over Two megabytes of

@ crammed and stuffed onto eight 5.25-inch disks or two 1581 disks! Plus tools, extensions, languages, assemblers, tutorials and utilities! 5.25 set #0005D5, 3.5-inch disk #0005D3. For $5 more, get C= Hacking MAG #0006D3 (on 3.5-inch disks only and NOT available separately) to complete your programming set. $20.00

PS Graupnics! Compleat PS Vol. 1 The Print Shop by Broderbund or Printmaster required). er 1300 artistic and never before published PRINT SHOP images, Scan through the many PRINT SHOP images sequentially, by name, or by group number. Press a key and save the greene you want in 2-block, 3-block and even PRINTMASTER mone files! All that plus a printed guide! Each volume is $20.00, Vol, 1: C-64/128 3.5-inch disk item #0001d3, 5.25-inch disks item #0009d5. Vol. 2 (graphics from past LS issues): C-64/128 3.5-Inch disk item #0002d3. 5.25-inch disks item #0010d5.

_Load

Ss

n___Item# Price ea. T

EQTY

otal

August/September 1996

‘'\f— ro. a4 Smt CEOS Clipart LOADSTAR presents the biggest Geo

‘ollection of clip art and fonts ever offered at one Rime. All of the Geos art that's ever appeared o: OADSTAR, as well as some great files fro

eos fanatic Dick Estel, are available on twenty 55.25 inch disks or eight 3.5 inch disks. Most of thi:

as never been seen before! Use these graphics n your GeoPaint, GeoWrite and GeoPublish documents or convert to FGM with FGM ulilities. Spiff up your GeoFAX documents with the appropriate graphic -- every time! Prices are $20 lor any two 3.5 inch disks, or any five 5.25 inch’ disks. You can purchase the whole collection fo

1-800-594-3370 or 1-318-221-8718 to order b redit card. Or send check or money order and ecify (by LG number) which disks you want.

|_5.25-INCH DISKS Disk 01 - RAILS: Railroad art trom Europe nd the USA #001205

Disk 02 - VEHICLES/TAROT: Artwork of old and new autos; excellent geoPaint drawings of the, arot card set #0013D5

Disk 03 - CLIP ART: Inciudes converted MacPaint files that have never before been available in Commodore format #0014D5

Disk 04 - OTTOWA/PRIME CLIPS: Anwork of the main landmarks of Ottowa; plus high qualit public domain clip art #0015D5

Disk 05 - FONTS: More than 30 fonts trom past ssues of LOADSTAR, plus articles (in geoWrite

format) on creating fonts. Also two ready-made eaders for use with your own documents, one a picture of a mail truck; the other reading FROM HE DESK OF #0016D5

Disk 06, Disk 07, and Disk 08 - geoPaint and

Photo Album files with the great clip artwork eatured on past LOADSTARS - includes eoCurmudgeon, Anamalia | and Il, Australian

Animals, Valentine art and many more #0017D5, 0018D5, #0019D5

Disk 09 - GOODYKOONTZ FILES - Jasper joodykoontz, born in Indiana in 1855, produced oodykoontz’s Perpetual Calendar and General

Reference Manual (A Book for the Millions). This

disk includes scans from the book of a wide arra'

of subjects -- Gestures and Attitudes, Poultry, raniology, and more. #0020D5

Disk 10 - OLD WEST: Scanned Artwork fro Dick Estel’s FRO Software - mostly woodcut style art of the old west, gold rush days and pioneer scenes. #002105

oftware #0022D5

Disk 12 - HOLIDAY: Artwork tor New ears, Valentine's, St. Patrick's Day, Halloween, Thanksgiving and Christmas

0023D5

Disk 13 - PEOPLE/FACES: Scenes of people! and faces trom FRD Software #0024D5

Disk 14 - FRD CLASSICS: Dick’s choice of he best of the FAD collection #0025D5

Disk 15 - DINOS/CLASSICS: Dinosaurs and other prehistoric beasts, as well as more first hoice artwork from FRD, #0026D5

Disk 16 - SPORTS/MISC: Dozens of sports related clips #0027D5

Disk 17 - OFFICE AND SCHOOL: Clips to be used at work and around the house #0028D5

Disk 18 -MUSIC & MORE SCHOO LIPS #0029D5

Disk 19 - SEASONAL AND HOLIDAYS: A lip for any occasion #0030D5

Disk 20 - SEASONAL AND HOLIDAYS: A lip for any occasion #0031D5

he 3,5" disks are roughly equivalent to two and a

halt 5.25° disks.

Disk 1: Equals disks 1, 2, 4B #0009D3

Disk 2: Equals disks 3, 6, 7A #0010D3

Disk 3: Equals disks 5, 8, 7B #0011D3

Disk 4: Equals 9, 10, 11A #0012D3

Disk 5: Equals 12, 13, 11B #0013D3

Disk 6: Equivalent of Disks 14, 15and

isome bonus files not on 5.25" disks #0014D3

Disk 7: Sports, Office and school, Music

#015D3

Disk 8: Music, Holiday and Seasonal 016D3

For your convenience, GeoViewer Is

included on each volume. GEOS 2.0 is

suggested,

DisKiulla Gard Gernes! The Compleat Maurice: a compilation of 26

solitaire card games written by Maurice Jones, the acknowled the C-64/128. There’s even a brand new, never before publis!

d master of card game simulations for game called Boomerang. Two 5.25

inch disks #0007D5 or one 3.5 inch disk #0007D3. $20.00 postage pald!

Qodles OF Stunning Art! Tutorials! The Compleat Walt: Ouring LOADSTAR's first ten years we have published 24 of Walt Harned's slideshows and multimedia events, Now we've gathered them into one huge collection: seven 5.25 inch disks or three 3.5 inch disks! There are over 250 pictures, including some that have never been published. The greatest one- man collection of art on any computer platform, 5.25-inch disks order #070425 3.5-inch disks order

#070423, $20.00 postage paid!

Name =

Address_

State

Postal Code :

Total Enclosed: _

QC) Check/money order made payable to "Loadstar" in US Funds QJ American Express

C) MasterCard ) Visa Card # Exp Date /

Authorized signature: = <3 Subscribers: I prefer 01 5.25-inch diskettes 1 3.5-inch diskettes LOADSTAR P.O. Box 30008, Shreveport, LA 71130-0008 Questions: 1-318-221-8718 Fax 1-318-221-8870

L) Discover

COMMODORE WORLD

@ACKTALK

LET TERS AND QUESTIONS FROM OUR READERS

Who’s Your PAL?

After running our first installment of “Commodore Demos” (CW#15, pg. 20) a few of our readers were left with the nagging question, “What do NTSC and PAL mean?”

NTSC and PAL are video starndards used throughout the world, The NTSC video standard (named for the National Television System Committee) is used in most American countries, Japan, Taiwan, Korea, and others. Most of the rest of the countries where we commonly see Commodore computers in use (UK, Germany, Australia and others) have adopted the PAL (Phase Alternating-Line standards) system.

While the actual differnces between these two standards is rather technical, what you see on your monitoris the effect of several hundred lines of video information being written to it. Each of these lines is referred to as a “raster scan line”. NTSC has 525 lines and is generally operated on a frequency of 60 Hz, while PAL has 625 lines and usually operates on a 50 Hz source.

Why is this important? Well, the average program on a Commodore could generally care less which video standard you're using for display purposes; however, specialized programming such as that commonly used in demos often uses video “raster” timing. The effect of operating sucha program ona machine that doesn’t use the intended video standard might be anything from graphics that are jittery to disk lockups caused by custom disk routines.

Perhaps you're wondering what it is that determines whether a specific Commodore computer is NTSC or PAL? There are three hardware differences: the clock crystal, the VIC chip, andajumper located on the circuit board. If we get an opportunity, we'll try to present those differences and how tochange the computer from one standard to the other in a future issue.

FD/1581 Format Tip Maurice Randall, our geoProgrammist columnist, recently stumbled onto this ‘gotcha’ anda handy

COMMODORE WORLD

work-around tip for users that have both the CMD FD Series floppy disk drive, and a Commodore 1581. We'lllet Maurice tell the story in his own words:

For all you FD Series owners, here’s my ‘Trick of the Month’...

First, the scenario...

Okay, you've got an FD drive and you've also gota 1581. You use both of them. You've got this 800K DD disk that you've been using in your FD, and it’s been formatted with one native partition on it. It’s been working just fine and then you decided to reformatit in your 1581. Now, youare using it in your 1581 as a 1581 disk, no more native partition. It works just fine there as well, and you decide to also use this disk in your FD once again—but the FD won't read it! But wait... The FD is supposed to be able to read 1581 disks, right? Not this one. Now, you've used disks formatted on the 1581 in the FD before with no problems at all, but this one just won't work in the FD anymore. But it still works fine in the 1581. Normally, you'd be more inclined to think that the 1581 would have a problem with an FD formatted disk, rather than the other way around.

If you've never seen this obscure problem, try it. Format a double-density disk in your FD with one native partition on it. Then reformat it in your 1581. Your FD will no longer accept it.

Now for the cure (and you can use either your 1581 or your FD to fix the disk). The problem stems from the fact that this disk still contains a system partition. Check it out. Put it in your FD and send an @$=P command to it. You will get a partition directory and it will still show a native partition on it. And that’s why the FD can’t read the disk—because it can’t find a valid directory header on track one where CMD Native partitions normally have them. To fix this disk, you need to wipe out the system partition. You can do this very easily by sending a command to your drive. And yes, the 1581 can be instructed to wipe out

4

the system partition without harming any other data that you might have on the drive. Just send the following command to the drive:

@ru OB p E> EE"

Let me explain this closer. Some of those characters should come out as reverse characters on your screen. The capital ‘F’, each ‘b’, and the j should be reverse characters. To get the reverse capital F, you press the F3 key. The reverse b is obtained by pressing CONTROL-b. And likewise, the reverse j is done with CONTROL. Be sure to press the '@ key followed bya quote and then the rest of the characters. End it with a quote and then press return. Your 1581 will promptly trash the system partition and the FD will once again be able to read this disk. If you perform this on your FD, it will also work, but to read it you will have to first remove the disk from the drive and then reinsertit. The FD will then be able to display the directory every time thereafter.

With JiffyDOS, the above string can be sent to the drive. Without JiffyDOS, or if you prefer, you can make a basic program and keep it with all your other little utilities. The following will do:

,"u@"chr$ (134) chr $(2)+"p"+chr$ (10) +"p"+chr$(2)c hrs (2)

3@ closel5

Then just save it to a disk as ‘WIPESYS’ or something like that. Anytime you need to trash the system partition on an 800K disk, just load it upandrunit. Inline 10, make sure that the 8’ gets changed to whatever device number you have your 1581 or FDsetas, depending on which drive contains the disk that needs the system partition wiped out on. Hope someone can get some use out of this little tidbit. - Maurice

%)

Issue 16

SOFTWARE SUPPORT

INTERNATIONAL

ENTERTAINMENT

Arkanoid 2 $7.97 Beyond Dark Castle $7.97 Beyond Zork 128 $12.97 Demon Stalkers $8.97 Double Dragon 2 $9.97 Heavy Metal $12.97 Heros of the Lance $14.97 Jeopardy 1-2-Jr $9.97 Keys to Maramon $9.97 Mean Streets $9.97 Ms Pacman $9.97 Napoleon In Russia $7.97 Ogre $9.97

4th & Inches $7.97 Champshp Baseball $7.97 Champn Basketball $7.97

Dave Winfield Batter Up $9.97

Fast Break $7.97 Hardball $7.97 Jack Nicklaus Golf $9.97 Jordan vs Bird $7.97 Leaderboard Golf $9.97 Pro Football Facts $9.97 Pro Soccer $7.97 Pure Stat Baseball $9.97

Sporting News Baseball $9.97

Star Rank Boxing $7.97 ACCESS C-128 RGB Cable $17.95 C-64 Color Cable $12.95 Computer Hand 2 $6.95 Convert A Com $24.95 Disk Bank 10/3.5" $2.95 Disk Bank 10/5.25" $2.95 Disk Bank 100/3.5" $12.95 Disk Bank 100/5.25" $12.95 Disk Bank 70/5.25" $7.95 Disk Mailers $0.39 Drive Cleaners $6.95 Serial Cable 4 or 6ft $8.95 Drive Power Cable $7.95 User Port Cable $15.95 Com Modem Adapter $15.95

CALL TOLL FREE TODAY!

August/September 1996

Pacman $9.97 Plundered Hearts $12.97 Portal $14.97 Powerdrift $7.97 Questron 2 $9.97 Rampage $7.97

Rendevous With Rama $7.97

Roadwars $7.97 Sidearms $7.97 Steel Thunder $9.97 Strip Poker $14.97

Trump Castle Casino $12.97 Wheel Fortune 1-2-3 $9.97

Tony LaRussa Baseball $7.97

Tournament Tennis $7.97 WWF Wrestling $7.97 Acrojet $9.97 Apache Strike $7.97 Blue Angels $7.97 F-14 Tomcat $9.97 F-19 Stealth Fighter $12.97 Flight Sim Games $4.97 High Roller $7.97 Jet Combat Sim $7.97 Skyfox $7.97 Super Huey | $7.97 Top Gunner $9.97 ORIES Floppy Disk Notcher $6.95 Dust Covers - specify $7.95 Ergostick Joystick $16.95 CBM 1200 Baud $9.95 Aprotek 2400 Baud = $49.95 1351 Smart Mouse $44.95 Mouse Holder $4.95 MW 350 Interface $44.95 64 Power Supplies $34.95 Printer Ribbons CALL Userport Expander $24.95 3.5" 10 cnt.Floppy $7.95 5.25" 20 cnt.Floppy $4.95 Diskette Sleeves (25) $2.00

Write Protect Tabs(100) $1.00

We Carry America’s Largest Selection of C-64/C-128 Software!

PRODUCTIVITY 1750 Super Clone $99.95 Geos 128 v2 $44.97 Basic Compiler 64 $12.97 GeoPublish $34.97 Big Blue Reader $29.97 Graphic Label Wizard $14.97 B/W Prog Tools $14.97 Graphics Basic $9.97 B/W Power C $9.97 Home Designer 128 $24.97 B/W Turbo Cartridge $17.97 Manager, The $12.97 C128 Graphics Bundle $29.97 Maverick v5 $24.95 Christmas Model Kit $9.97 Model Diet $9.97 CSM Protection Man 1 $14.97 Newsroom $14.97 CSM Protection Man 2 $19.97 On Line Help $9.97 Data Manager 2 $14.97 Postcards $14.97 Designer's Pencil $9.97 Printmaster Plus $19.97 Drive Align 1541/71 $12.97 Superbase 64 or 128 $19.97 Easy Working Tri Pak $9.97 Swiftcalc w/Sideways $14.97 Geos 64 v2 $39.97

EDUCATIONA!

r .

Early Learning Friends $9.97 European Nations & Loc $9.97

Expeditions $9.97 Keys to Typing $9.97 Memory Manor Cart $9.97 Magic Spells $9.97

EFURBISTIED

C-128 Keyboard w/PS $119.95

1541 Disk Drive $49.95 1571 Disk Drive $89.95 1541 Clone Drive $39.95 40 Col Monitor $99.95

Snoopy Sky Scramble $9.97

Stickybear Math $9.97 Typing Tutor 4 $9.97 WizType/Wiz Math $7.97 Word Attack $9.97 Word Spinner $9.97

rlARDWARE

80 Col Monitor

$139.95

MPS-803 Printer With Tractor Feed & Brand New Ribbon Only $49.95

Items Listed Above Do Not Include Shipping. U.S 48 States - Add $5.50 per order. Alaska, Hawaii & Canada - add $5.50 for the first piece and $1.00 per each additional piece per shipment. Second Day Air shipping

is available. Call for shipping charges. Call Or Write For Your Free c- 64/128 Catalog Listing HUNDREDS Of Commodore Products And Special Offers For Your Computer. Our Order Takers Are On Duty 6:00 a.m, - 5:00 p.m. M - F and 7:00 a.m. - 3:00 p.m, Sat. - Pacific Time.

Softy S I SOFTWARE oro N er anbresen Re,

Se ee Suite D-4 an Vancouver, Wa 98661 Cling (360) 695-1393 E-Mail To: software@pacifier.com 1-800-35$6-1179

Major CreditCards Accepted.

COMMODORE WORLD

Welcome to another edition of Commodore Trivia. As many of you may know, these trivia questions and answers have been donated by me to the Commodore community at large. Unlike other articles in Commodore World, these trivia questions have been placed in the public domain. I ask only that the trivia questions remain intact and unchanged, and

that my name and address appear somewhere so users can contact me. The trivia is also used fora contest I run on the Internet; contact me at the included address for more information. Because curiosity has the best of me, I always welcome a note or postcard detailing where the trivia goes. I also welcome new questions— provided they come with the answers. Enjoy!

Jim Brain

Brain Innovations, Inc.

10710 Bruhn Ave Bennington, NE 68007 j.brain @ieee.org

COMMODORE TRIVIA #15 QUESTIONS

Where is the ROM in a 1541 located in the 64K memory map?

Which VIA on the 1541 is hooked to the read/write head?

In the Commodore DOS, what bit in the file type byte denotes a

If files are “locked” under Commodore DOS, under what

condition(s) may the file be changed?

How big can a program file be on a 1541 or similar?

Under BASIC 2.0, how does one open a random access file on a

A file that has a ‘*’ immediately before the filetype is called a file.

We know the 1541 and similar drives have 5 internal buffer areas, but how many does an 8050 drive have?

$0EO What is the difference(s) between the Newtronics 1541 and the $OE7 1541C? (only one difference is needed) SOE8 $0E1 | Whathappens when you type 35072121 in direct mode on the C64 and hit return? SOE9 “locked” file? $0E2 If a SID chip is producing a “sawtooth waveform”, does the waveform look like: SOEA a) MM or b) NA? SOEB $0E3_ On BASIC 2.0, what special precaution(s) must one take when $0EC working with relative files? (only one is needed) disk drive? $0E4 Whatincompatibility existed between C128 Rev.0ROMSandthe $0ED REU? $0E5 Whatcantriggeran NMlinterrupt?(countallsourceson onechip SOEE as one) $OE6 = What can trigger an IRQinterrupt? (countall sources on one chip —$0EF

as one)

On a “save-with-replace”, where is the location of the first track and sector of the new copy of the program saved in the directory entry for the old copy?

COMMODORE TRIVIA #14 ANSWERS

$0D0 The original PET had 73 calculator-style keys that were laid out in Hardware: a rectangular matrix, not typewriter-style. Bil Herd Dave Haynie $0D1 SYS 32800,123,45,6. The screen will clear, and the software and Frank Palaia

hardware developers on the 128 project will be named. The exact text is as follows:

[RVS] Brought to you by... Software:

Fred Bowen

Terry Ryan

Von Ertwine

COMMODORE WORLD

$0D2

[RVS]Link arms, don’t make them. The “original” PET came in two configurations, 4K and 8K, so: The PET 2001-4 had 3071 bytes.

The PET 2001-8 had 7167 bytes.

Issue 16

$0D3 Sys 64790

$0D4 I know some of these are correct, but the sheer size of the list prevents me from checking them ALL out. FAT 40XX series 80XX series PC-10 (I suspect a number of IBM clones did, and these things have no consistent naming convention across country boundaries.) PC-20 Amiga 1000 SP9000 (SuperPET) $0D5 31743 bytes. $0D6 a) 3 sockets. b) 2 sockets. c) L socket. d) 1 socket. $0D7 The German version had additional keybaord drivers for umlaut characters and dead keys. $0D8 None other than the infamous Jim Butterfield. $0D9 PRINT is faster, since the sys approach must process the pokes before the sys, which are very slow. $ODA Inside the top case of the Amiga (1000). There is an interesting $0DF footnote to this question. It seems that at least some original Amiga machines were labeled as Amiga (with no number). Then, at some later point, the number was added. In addition, Commodore produced some Amiga 1000 machines without the signatures, but most had the telltale handwriting on the inside of the case. $0DB Assume carry was clear. If so, then $11 is the correct answer.

ChAD Service Center

AFFORDABLE ¢ FAST « DEPENDABLE

Call Today 1-800-638-3263

Our Team of Technicians are Among the Most Qualified in the Industry!

Why Settle for Anything Less Than the Best?

We repair the following equipment: Commodore C-64, 64C, SX-64, C-128 and C128-D computers; 1541, 1541C, 1571 and 1581 Disk Drives plus CMD Devices. JiffyDOS Installations a specialty. All repairs warranted for 30 days. Minimum charge $35.00 plus parts and return shipping. You must contact CMD for authorization before sending any equipment. Creative Micro Designs, Inc. P.O. Box 646 E, Longmeadow, MA 01028

August/September 1996

$ODC _ Its first number was 6567, and that is the number most people know it by, but Commodore produced a VIC-II using a new manufacturing process that was numbered the 8562.

$0DD Same here. The part number 6569 is the most remembered number, but an 8565 will work as well.

SODE Note, for the purpose of the calculation [am performing, “pixels”

refers to picture elements that can be adddress and modified using normal VIC modes, so there are 320*200 “pixels” on both the PAL and NTSC screens. (I probably should have stated this, but it is too late now.) Also, the screen refresh rates used in the calculations are those defined by the respective television standards (60Hz U.S., 50Hz European), even though the actual frequencies are off by asmall percentage. (for example, the actual 50Hz refresh rate on European VIC-II chips was calculates as 50.124567Hz by Andreas Boose). So, the PAL draws 320*200*50 pixels per second = 3200000 pixels/s. NTSC draws 320*200*60 pixels per second = 3840000 pixles/s . Now, some people thought I meant the whole screen, notjust the display area provided by the VIC-II chip. Well, lam notsure exactly how you calculate pixels on a screen, since the numbers could vary from display to display, but ifwe measure in scanlines:

PAL = 312 scanlines * 50 = 15600 scanliness NTSC = 262 scanlines * 60 = 15720 scanliness

The NTSC machines wins both ways. B is the correct answer, and there are a couple of reasons why:

1) 2- -2 takes longer to parse in the BASIC interpreter,

2) Commodore BASIC subtracts by complementing the sign of thesecondnumberandadding. Thisincurs extra time. There are even more subtle ones, but | leave them as an exercise for the reader. Send me your reasons why.

nn

Specializing in NEW and USED Commodore Hardware, Software and Accessories at excellent prices.

Send $1.00 for a HUGE list of products. Office Hours: 11:30 - 6:30 MST. Visa, MC, Discover and American Express accepted.

3366 South 2300 East, Salt Lake City, UT 84109

COMMODORE WORLD

COMMODORE AND CoOmpPUTER INDUSTRY NEws

Genie Sold Again, Launches Genie Interactive on the Internet

Just as things were beginning to settle back down with Genie (see “CMD Captures Genie", CW#15, pg. 9), the announcement came that the service has once again changed hands.

True to the indications we reported last issue, Yovelle Reniassance had smoothed over relations with General Electric Information Services, who sold the service earlier this year, But only a few short weeks later, it was announced that the service had now been sold to IDT, a US-based Internet and long distance service provider. IDT has already begun testing of an Internet-based version of Genie, called Genie Interactive (http:// www.genie.com). The new site will place a heavy emphasis on integrating the wide range of multimedia options available to graphical browser users, but is also being structured to allow text browser access. IDT hopes to utilize the new service to draw users who already have Internet access into the Genie fold. Despite the emphasis on the Internet venture, the company has also assured Genie sysops that the classic Genie online service remains viable, and will continue to operate as it has in the past.

Loadstar Letter Goes Subscription, Merges with Underground

According to Loadstar’s “Grand Exalted Mojo” Fender Tucker, the Loadstar Letter #36 shipped with Loadstar #146 will be the last free issue provided to Loadstarites.

Tucker notes, however, that this doesn’t spell and end forthe Commodore newsletter, but rather a new beginning. The all-new subscription-based Loadstar letter was slated to begin in August, with an annual subscription rate of $12.00 per year for charter subscribers, Subscriptions are available by sending a check to LOADSTAR Letter, P.O. Box 30008, Shreveport LA 71130.

Loadstar cites rising costs as the reason for the change in policy, adding that their LOADSTAR disk publication will remain at its all-time low of $69.95 per year.

On a related note, Scott Eggleston recently announced that he would merge his Underground publication with the Loadstar Letter. The following notice was to be sent to Underground subscribers:

Dear Underground Subscriber,

I must first thank you for having faith in our little publication that started over twoyears ago. [hada desire to put outa quality publication using Commodore equipment, and for the most part, I think I have succeeded,

lrealize itis always hard to send money toan indpendent magazine, as so many have dried up (along with all funds) in the past. I was determined that this would never happen to the Underground, that I would never leave my customers high and dry, with nothing to show for their hard-earned dollars.

COMMODORE WORLD

There have been some real changes in my life recently, changes that have made me reevalutate my most precious commodity: time. With a new job, family demands, and filmmaking dreams, my time for writing and publishing has become limited.

As a result, the Underground will be merging with the Loadstar Letter, effective immediately. All remaining subscriptions will be fulfilled by the LL, and 1 will be brought aboard as an Associate Editor.

In my opinion, this is a win-win situation for everyone. Everybody continues to get a good publication for their money. | get to keep writing about one of my favorite topics, and have time for my other pursuits. The Loadstar Letter gets more subscribers. I feel this is a good move for everyone involved—nobody loses.

If you have never heard of this monthly publication, let me bring you up to date. Originally the LL was included as a freebie with Loadstar’s fine disk publication. Strictly a liability, it was deemed that as a subscribed-to newsletter, it could pay for itself. It will be twelve full-size pages, which may be down from the Underground's twenty, but it will arrive every month, something the Underground could never do. Trust me, you'll be getting a lot for your money with the Loadstar Letter.

The Head Editor Honcho Guy isJeffJones, a great writer and equally great programmer. I look forward to having my work next to Jeff's, and am honored to have been considered for this position. With both ofus writing together, you're going to end up with an informative and formidable source for Commodore info.

Youshould expect to see your first issue of the Loadstar Letter about the same time as Underground #15 would have shown up. Although, tobe honest, it'll probably show up sooner, as I've been abit tardy with my issues as of late.

There are also a couple of other topics I need to address. Back Issues of the Underground will still be available from me at $2.50 per issue. The Underware disk will obviously no longer be available, but Tom Adams [president of Meeting Commodore Users Through the Mail] has informed me that he will copy back issues of the disk for as long as people will want them, or as long as he is able to do so.

In closing, let me just say that I have enjoyed producing the Underground for you, and was always thrilled to read your letters telling me of some useful information that you gleaned from it. | still have a lot of good articles in my head, and you'll get to read them all (along with Jeff's), in upcoming issues of the Loadstar Letter.

Iffor any reason you need to contact me, please do so. Thanks again for your support... see you outside the mainstream!

Sincerely,

Scott Eggleston

former Editor, the Underground Associate Editor, The Loadstar Letter

Issue 16

New Commodore Discovery Debuts

So, what's new in the world of Commodore computing? That's at least a part of the focus ofdisC=overy, anew online publication from Mike Gordillo, Steven Judd, and Ernest Stokes. From a perusal of the first issue of this publication, the apparent spin is to document both old and new technical issues and techniques as they apply to the Commodore—though the editors have mixed in a couple of articles which could be considered as “lighter” reading. For the most part, though, this debut issue appears to be very much like Commodore Hacking, for those ofyou who are familiar with that long-standing bastion of techno-enthusiasm.

Included in this first issue are articles on IFLI, TRI-FLI (a new FLI graphics scheme under development), the JCH sound editor, VDC timing, upgrading the VDC RAM to 64K, C128 CP/M, and more.

To get the current issue, you'll need Internet Email or World Wide Web access. On the Web, point your browser to hitp://vww.eskimo,com/~dray/ discovery.html. If you don’t have Web access, send an Email request to the Editor-in-Chief at s0621126@dominic.barry.edu.

Threshold Products Sells Out

September 20th, 1996—Threshold Productions International is glad to announce that the takeover process of our operations by Arkanix Labs is finally complete. Arkanix Labs is taking over all day-to-day operations of TPI and will fulfill any and all of TPI’s prior obligations. We feel Arkanix Labs will be able to better realize the ideals previously set by TPI. Our hopes are that Araknix Labs can provide for the customer where we have lacked in the past therefore insuring a bright future for the Commodore 64/128 community.

Arkanix Labs will be using the Seattle address for all mailings. The previous message number for TPI is now defunct.

Jonathan Mines [formerly of TPI] will continue to provide the Driven mail subscriptions. For further information contact Petar Strinic (petars@arkanixlabs.com). We have a WWW homepage at http:// wivw.arkanixlabs.com.

[A] Letter from Jonathan Mines follows...

A dark day for the NTSC Commodore community? No, buta bright future isborn. Were I have failed in the past with TPII believe Arkanix Labs will do a far superior job.

First off, anybody with orders will get their packages. There have been delays, but I really didn’t forsee this takeover causing this much trouble. I'm sorry for the delays, I will be handling all packages myself in the next week.

What happened? Why is TPI gone? I simply couldn't keep my head above water much longer the way things were going. TP] just grew up too fast, [couldn't handle the load and needed to offload some work. I tried it, but the person I hired failed to help. Then an old friend came along, someone I've worked alongside before and this deal happened.

Will I be a part of Arkanix Labs? Right now I’m helping setup everything the right way, the way it should have been done with TPI. We havea staff now, so things will get done ona proper time schedule. My main job with Arkanix Labs will be handling all the financial work, something I do daily with my “real job”. Besides that I'll be handling the legal end of the company.

But the best thing about having everything off my shoulders, now | can get some programming done! For the last two years I've put project after project off because of no time. Finally I get back to what I do best on this C64!

August/September 1996

Anyway, I have explained everything, I think. Any questions about anything can besent to meat the email address which follows. Feel free to email anything, | like to chat!

Jon Mines

jon.mines@arkanixlabs.com

tpinfo@eskimo.com

Performance Peripherals, Inc. (PPI) Bows Out

CW writer Gaelyne Gasson recently reported that Performance Peripherals, Inc., willno longer be servicing the Commodore market. Gasson confirmed this in a phone conversation with PPI founder Peter Fiset, who stated that the company is moving its focus to other projects. According to Gasson, PPI willnolonger provide any support or repairs for their Commodore products, and has ceased all manufacturing of these products. The company will continue to sell products until present inventories are depleted.

SuperCPU Update

Initial reports from users on the compatibility, speed and usability of the SuperCPU 64 have been positive. But like any new product of this level of complexity, the first production run did find a few machines—specifically Commodore 64's utilizing the Revision E board—that were too far out of specification to allow for reliable operation. This number was extremely small, though, accounting for only six units, with the first of these reported by a user in Germany. CMD immediately investigated the situation, and halted production until modifications to resolve the problems could be developed and implemented.

What was discovered was that a small percentage of Commodore 64's have incorrect relationship between the Dot Clock and the Phase 2 Clock. The additional loading factor presented by adding the SuperCPU to these machines, often already outfitted with REU’s and/or RAMLink devices, is enough to create erratic operation with some of these machines. CMD was able to resolve this problem by re-generating a proper Phase 2 Clock locally on the SuperCPU. This modification has been incorporated into all new production units, and no further reports of these problems have been received since. SuperCPU users experiencing erratic operation should contact CMD to arrange having their unit upgraded.

Meanwhile, CMD is continuing to work on the 128 version, the RAM expansion card, the developer's package, and several other related projects. However, no firm dates have been set at this time for release of these items.

%)

=e RR oo FF CORRECTIONS

Issue 15, page 44, correct these lines for THE CHAOS GAME:

13@ FORI=1024T02023: POKEI,16:NEXT:REM SE T COLOR (FOREGROUND*16+BACKGROUND)

155 Y=199:FOR X=@ TO 319:GOSUB 250:NEXT 250 B=8192 Y/8)*320+8* INT (X/8)+(Y AN D 7):POKEB, PEEK(B)OR M(X AND 7): RETURN

Issue 15, page 45, correct these lines for FERN CHAOS:

Sg

=.5*W:X2=.57*W:X3=

-408*W:X4=.1075* 160 Y1=O*W: Y2=-.027*W: Y3=.0669*W:Y4=.2*W 25@ B=8192+INT(TY/8) *320+8* INT (TX/8) + (TY AND 7): POKEB, PEEK(B)OR M(TX AND 7)

260 PRINT" {CLR/HOME}": POKE53265,27: POKES

Oe hanes

COMMODORE WORLD

Just For Starters

by Jason Compton

USEFUL ITEMS FOR THE USER PORT

Lately, we've tackled an introduction to input devices and cartridge port expansion products. Now it’s time to turn our focus to the cartridge port's neighbor down the road, the user port. It’s not the high-profile slot, to be sure. Nobody ever puta game on the user port, all of the accelerators live in the cartridge port, and even the multi-port expanders aren't as clever for the user portas they are for the cartridge port. Nevertheless, you can do a lot of clever things with a C-64 user port.

Fora time, the user port was arguably the best way to expand a C-64 or 128. In recent years, the superior R&D has been done on cartridge port peripherals, but there is still a wealth of good use you can get out of your user port.

Modems

Perhaps the most obvious, and certainly one of

the earliest, user port expansions, there are a number of modems out there which will plug directly into the C-64’s user port. Commodore, anda number of other companies produced 300, 1200, and 2400 baud modems to get 64 users into the world of BBS's and online services. By today’s standards, these modems will be slow and outdated, but ina pinch they may come in handy.

RS-232 (Serial) Interfaces

As time progressed in the computer industry, a numberof products, including modems andsome printers, strongly adopted the PC industry standard RS-232 serial port, found on PC clones and Amigas. It began to make much more sense for companies to build only one RS-232 version of their product, rather than catering to the 64's specific user port and serial bus. Not to be shut out, 64 developers found a way to add an RS-232

COMMODORE WORLD

interface to the user port. Available both commercially (the Aprotek COM-MODEM and the Omnitronix Deluxe RS-232 Interface, among others) and as a project outlined in Commodore

World #4, RS-232 interfaces open up a variety of

new hardware for the 64.

Keepin mind, however, that serial printers are not as common as parallel printers (we'll get to that in just a bit) and the user port—RS-232 interfaces are generally limited to 2400 baud communication. Still, by the time 2400 baud modems were affordable there were hardly any companies willing to build them specifically for the 64 (Aprotek is the only one that comes to mind). With 2400 baud modems nearly worthless in most people’s eyes and the RS-232 kit clocking in well under $25, you could turn a 64 into an exceptionally low-cost text terminal for about $30 if you shop well.

You'll also get the ability to use null modems, which were never constructed for the 64 user port specifically. Null modems are devices that allow you to hook up two machines directly to one

10

another via the serial port and transfer files and datajustas one wouldifcallinga BBS witha “real” modem. Without getting into more expensive adapters that allow you to hook upa Commodore drive to a different computer, this is often the cheapest way to get data from a 64 into another type of machine. Ifyou're looking for higher rates ofspeed, you've put yourselfin SwiftLink territory and will need the cartridge-based expansion.

In theory, a standard external MIDI interface device could be plugged into such an RS-232 port, but I have yet to see any software that would support a serial MIDI box.

Centronics Parallel (Printer) Interfaces Early in the game, printer manufacturers were more than happy to build 64-specific models of their products. But not many of these were particularly good—many suffered from not having true “descenders”, or letters such as “g” which would drop below other letters. But when users craved for more, they would often find that there was simply not a 64-specific printer for their needs. Are you surprised that someone, in fact several someones, found a solution? AgreatnumberofC-64 parallel interfaces have emerged on the market. The parallel port standard was established on the PC and is more or less fully supported by Amiga computers. (Maes, of course, have their own unique serial bus and no parallel bus.) For a time, the most popular of the parallel interfaces was the Xetec Super Graphix and Super Graphix Jr. These devices put the parallel printers on the 64's serial (disk) bus, and they also had to draw power from the 64's cassette port—not convenient if you, for

Issue 16

example, have a dongle currently residing there, or are using a Datasette as a digitizer.

Enter the CMD geoCable II. It truly keeps the “parallel” in “parallel bus” and takes the printers away from the contested disk bus. The device is remarkably straightforward. It consists exactly of a circuit board, connectors at each end—one female user port connector to plug into the 64 and another male user port connector to plug other user port devices into for pass-through purposes, a 25-pin parallel port connector that faces sideways, and a large switch. That's all.

What it does, simply and elegantly, is turn your user port intoa parallel port, allowing youto plugin thestandard $3 cable that parallel printers use and be up and running in no time, with or without the specific GEOS drivers included. The switch disables the parallel port and enables the other user-port device currently plugged into the pass-through connector.

EPROM Burning

For hardware hackers, EPROMs are wonderful tools. AnumberofEPROM burners are available for the 64, but many of them are cartridge port devices. Datel manufactured the EPROMMER 64 to fit in the user port so as to avoid conflicts with other devices you mightwantto keep resident

Paxtron|

CORPORATION

in your cartridge port. Not for the faint of heart, but ifyou know your way around programmable chips, here’s your device.

Voice Synthesis

While some were mightily impressed with the SAM speech synthesis available for the 64 that used only the built-in SID chip, others wanted to do more. The Jameco Voice Synthesizer was actually an external box that connected to the 64 via custom cable, with included software to drive the unit. Just another example of what you can do

with a 64 if you put your mind and a little bit of

effort into it.

Currah Technologies built the Voice Messenger, a device that just keeps popping up. Its principle is roughly the same—it generates speech from internal circuitry and speakers. The heart of the unit is the EZ Speech software,

Video Digitization

Now we're talking. The big talk in the industry is multimedia, and all the Microsoft ads like to show you how much fun and productivity you can have when you put video on your computer. 64 peripherals did it a long time ago. Devices known as Computereyes and Video Byte allow you to “framegrab”, or

digitize single video images from a standard source. While they can’t go so far as to offer you the sort of accuracy available on more expensive equipment, such as capturing a single frame in real-time, they can “slow-scan” images, such as an unmoving object or person in front of a camera (or a rock-solid pause, as found on laser dises and very, very good VCRs). Since these were built in the day before widespread support ofsome of the more clever 64 graphics modes was available, you'll be looking at greyscale or colorized output given the 64’s standard 16-color set restrictions. But for greyscale images in particular, a good grab is plenty good to get the point across.

These devices will save their pictures into standard 64 file formats such as Koala. A real coup would be a new driver—perhaps a GoDot module—that could harness the greater color depthavailable to clever programmers and exploit thatfromascanner suchas these, or other devices.

Surely, this is not the final word on user port expansion, but it is a broad sampling of the sorts ofclever expansions thatare floating out there for the 64. Keep your eyes open—you never know when you'll have an opportunity to own your very own video digitizing station.

Upgrade Chips

6510, 6526, 6567,6569, 6581, 6522, 8502, 8562, 8500, 8563, 8564, 8721, 8722, 325302, 390059, 251968 .. $8.95 901225, 901226, 901227, 906114PLA...$6.95 251715, 251913, 8580,WD1772 .. $10.95 314972-03 (C128 ROM Upgrade) .. $24.95

Motherboards AGATE (PROMI) sissiacaisscescicccectes $14.95 154111 (NEW) uy bd (NEW) ..

6 64 (untested, as is, all chips) . $17: 95 C-128 (NEW) C-128-D (NEW)...

Diagnostics & Manuals Commodore Diagnostician; Guide to diagnose & fix C64/128/1541 .... $6.95 C128 Diagnostic Cartridge and manual 5 Manuals: MPS 802 & 1230, 1084, 1902, 1581, 1526, 1571, 801, C64, C128 .. Call We are now receiving manuals for all Commodore products from SMG Call

i iv

1541) (Refurb:) csicisceisescscccccsssasese $44.50 154111 w/ P.S, (NEW)... .--. $69.95 157.1 (RRORUFD.), srerercccccssnsescsrsrersers $89.50

Paxtron

CORPORATION

August/September 1996

28 Grove Street Spring Valley, NY 10977

Miscellaneous

C-64 Keyboard

1351 Commodore Mouse

Monitor Cables

Used Monitors (Low Prices)

1541/1571 Alignment Kit

1230 CBM Printer

1084S Motherboard w/ Flyback $79.95 1084S Power Supply Board (Refurb.) $29.95 C-64 Cabinet (Top/Bottom) $12.95 Commodore Joystick ..... :

256 x 1 (41256)

1541 Serial Cable

Video Cable

Verbatim 5.25 SS/DD Disks(10 Pak) . $1.99 Amiga A500 (Rev.3) NEW Motherboard with all Chips

Pe

(All Power Supplies are NEW)

C-64 non-repairable

C-64 repairable

C-64 Heavy Duty (5.2 amps) i C-128 Heavy Duty (5.2 Amps) .. $39.95 5.2 amps for Ram Expander Units $39.95 154111 external 110 volts

1581 external 110 volts ...

1084S Flyback (Phillips) ..

1084-D1 Flyback

1084 Flyback (Daewoo)

Str54041 for 1802C Monitor

ORDERS 800-595-5534 * 800-815-3241 »* 888-PAXTRON Info 914-578-6522 * FAX 914-624-3239

11

‘CORPORATION |

* A500 Computer: Includes Power Supply and latest chips (eg:

Agnus, 2.04 O/S). Plus choice of following: Starter Kit, Discovery Kit (incl. Kind Words, Deluxe Paint Il) or Deluxe Kit $149.95 CD32 MorHersoarp: Contains all chips(Lisa, Alice, Paula, 68020-16, ADV101) except the 512K memories With all memory Commopore C65 Motnersoaro: Contains all RAM operating at 3.5 MHz speed. Includes all chips (tested) 1084S Mortnersoaro with FiyBack TRANSFORMER: This new CBM board will cure 90% of 1084S problems. Simply switch the PCB and your monitor problems are solved! This motherboard with factory mounted flyback, is the exact replacement and works with all 1084S monitors. It is also very easy to install $79.95 Commopore 1976 Scientiric Catcutator: Save a piece of the past. Brand new with charger and manual C64 Emercency Diacnostic/Repair Kir: Each kit contains: 6526 CIA, fuse, 6581 SID, 6510 CPU, 906114 PLA, 6567 VIC, 901225 BASIC ROM, 901226 Character ROM and Commodore Diagnostician ($70 Value) C128/128-D Emercency Diacnostic/Repair Kir: Eachkitcontains: 6526 CIA, 8563/8564 80/40 column CRT Controllers, 390059-01 Character ROM, 8721 PLA, 8722 MMU, 6581 SID and Commodore Diagnostician ($70 Value) $49.95 C64/128 Unity Cartrioce: 30 programming functions on one plug-in cartridge

Hours: 9AM-5 PM EST We gladly accept:

Add $6.00 for UPS Charges Psa C=-] ss,

COMMODORE WORLD

Graphic Interpretation

While rereading the user’s manual of Creative Micro Designs’ “Perfect Print LQ for GEOS,” a statement in the introduction stood out to me: “geoWriteis the most used application in GEOS.” This holds quite true for myself—I used it daily (and nightly) through college, and still use it to create articles, calligraphy, resumes and newsletters. Over the years numerous programmers have invented different applications, drivers and desk accessories that can boost geoWrite’s capabilities, and some of these may have never received much publicity following QuantumLink’s demise in 1994. Thus it seemed appropriate to make this the focus of this issue’s geoSphere article. In this two-part series, we will look at some tools and techniques that can help make this great application work even better for you!

For this series’ first part, we will look at improving input: text, fonts, directories and formatting. In the second part, printer output and quality will be discussed.

Let's begin at. the beginning, before even entering geoWrite. Do you have a mouse configured as yourinput driver? Andifso, has the uselessness of the right button ever made you think, “wouldn't it be nice if only it worked?” Good news—Andrew Milesk created an input driver called simply “Doubleclicker” (version 2.0, dated 2/4/90), It is a very effective alternative to the 1351/1351(a) COM mouse driver. When selected, it does what the name says: it double- clicks with a single press of the right button, This saves on wear and tear for the left button, and not to sound like a George Reeves “Superman” episode, but... you are able to leap into applications with a single click... it’s a file, it’s a driver, it's DOUBLE-CLICK! I myselfhave grown

COMMODORE WORLD

by Paw Sullivan

GEOWRITE DONE RIGHT

so accustomed to it that I look for that function

when using the computer at my workplace, and that ultramodern IBM doesn't doit! You'll find it a simple but handy feature to have.

Allright, now you enter geoWrite, and realize that the font you need is tenth on the disk... nuts! Yet another shortcoming of geoWrite is the limited eight font accessibility. Now you have to exit your file and do the usual font-switch tango... or do you? Not if you get Payton W. Snider's Fontswap 1.0, which I mentioned briefly lastissue. Notto insult anyone's intelligence, but again, the name says it all. This desk accessory is perfect for disks with large numbers of fonts and a user whose font choices vary with each new file. The first nine fonts on the disk are listed. If there are many more, they can be scrolled through one ata time, or page by page. You may toggle any seven, and when ready, select the melodramatic “DO IT!" icon. And it'll do it.

Now, let's hypothesize. You are a third-year college student and have over several dozen geoWritefilesin your archives. The particular file

12

you want is lost somewhere on a disk with a very large directory. But you need to find it quick! Let Nate Fiedler’s 2k shareware jewel “FindFile” (version 1.0, 8/1/91) look forit! First ofall, thisis a desk accessory, so it can be used within any application including geoWrite. Then it has a very adept search function—enter the filename, press RETURN, and it will list its deskTop notepad’s page number and file location number (1-6). Did you forget the file’s name? No problem—the search function also uses wildcard characters suchas the asterisk and question mark to help with your search. For example, if you enter “history *,” FindFile will list up to the first nine files beginning with “history,” be it “history American” to “history Zanzibarian” or even “history: Zzzzzzz.” And with its “drive” option, drives A, B, C (and D if you can configure it) can beaccessed. Each time you press the drive button, FindFile opens the next consecutive drive available. Once you have this desk accessory, you'll be able to sing, “it’s a small disk after all...” Large directories can be very intimidating, and even with such helpful tools as FindFile, it IS nice to have files neatly arranged on disk. Dir(ectory)Master version 1.0, by Kent L. Smotherman, is a powerful 4K application that can quickly arrange files in the order that you desire. What is most remarkable about this gem is its flexibility. The files can be categorically arranged by alphabet, reverse alphabet, size, type or date. What's more, you can toggle (select) all files ona disk, orjusta few. The directory appears vertically, and so all files can be easily seen and selected. This means that even boot disks can be neatened up—just remember to deselect the boot files (they are rendered inoperative if they are moved from their first positions on a disk.)

Issue 16

Through the years I have increased my font library—some new onesI'd purchased from GEOS FontPaksor others downloaded from Q-Linkjoined older ones, But the occasion came when I needed a very unique font—one for a “history of English language” class. The font was named “LP.A.” for the International Phonetic Alphabet. It was done

on Jim Collette’s Font Editor 2.2 (10/8/88), and if

you ever need to modify or create fonts, this is an excellent tool to do it with. Months before my new font was needed I'd received this application, not knowing its capabilities. Once the program is entered, you may either create a new font or adapt one on the current drive. It enables the user to edit thedesired font by displaying oneletter afteranother on a large pixel map. Point/click to select a pixel, and repeat to deselect. All modifications made to the letter appear WYSIWYG on the left side of the screen, You can therefore see how each letter will appear with each pixel you add or remove, and modify it accordingly.

It should be mentioned also that the Font Utilities that come with Creative Micro Designs’ “Perfect Print LQ for GEOS” carry out a similar function in that new fonts can be created. Additionally the LQ fonts that result from those utilities are then usable with the high resolution Print System, which we will look at next issue.

Text file archives build up quickly over time, and you will eventually need to browse through some old writing samples. Sure enough, you will find an old file that will pique your curiosity, and upon opening it, it will upgrade from 1.3 to 2.1. Then you notice it is in the BSW font... and you'll wonder, WHICH font was it originally in? Here is where Dennis N. Seitz’s “Identifont 3.2” (2/7/89) can assist you. Once selected, this application examines the text file or even the disk of your choice and

determines the font(s) present. In the case of

an unrecognizable font, a “hex.” and “dec.” number will be given.

Once your new file is done, your text is entered and you want to be sure that you met the essay requirements. Raymond A. Kerby’s Copy Editor 1.0 (5/5/89) will do the job admirably. This application can run through a multi-page geoWrite document in seconds and gives the following data: total number of words in the document, total number of sentences and long words, average words per sentences, and a reader's index (approximate reading level). Itisa fast and easy way of getting a quality check on finished writing.

Now, you have completed your text, with all the needed fonts identified, swapped,

modified and or created. Itis the proper length, and Copy Editor gives youa good review. Now I would like to direct you to Rick Krantz’s Toolkit 1.2 (12/20/88) which is a file formatting wonder-worker. You know those LOOOOOONG documents that need every page to get a new font, different margins... takes some time without good help, doesn’t it? Toolkit can perform entire document formatting at the touch of a button. Select “edit” mode, and the chosen file will be put into 40-column mode. “Print” puts the file into 80 column mode, and nicely adds paragraph indentations and one-inch margins ateach “return.” “Combine” can join two Write files together for more convenient printing, and “all fonts” will put the document into the font that is stored in the existing text scrap. These and other features make the Toolkit a must-have, and makes the finishing touch very quick indeed!

Voila! Your geoWrite file is now printer ready, and in less time than usual. Now for the next step—output improvement. In the next edition of geoSphere, we will look at some fonts, printer drivers and applications that will make even a nine pin dot matrix put out first rate material!

%)

AMIGA

Repairs ¢ Upgrades ¢ Sales e Sell ¢ Trade Amiga Hardware

64 USERS SPECIALS 128 USERS 5.25 SS/DD RECYCLED FLOPPY DISKS $49 CASE 5.25 DS/DD RECYCLED FLOPPY DISKS $59 CASE CASE IS 1000 DISKS « ADD $11 S&H PER CASE 1200 BPS MODEMS 10/329 + $6 S&H Integrated Teknologies Inc

1101 Chestnut St * Suite A ¢ Roselle * NJ 07203

FON 908 245-1313 FAX 908 245-9409 Hours Mon & Fri 1 - 6 PM Wed 1 - 8 PM

TECH STAR COMPUTER CENTER (206) 251-9040

We'll repair your Commodore. Seruing the Commodore community dince 1984.

REFURBISHED SPECIALS

1541......$69.00 1541 II...$79.00 1571......$89.00

$CALL

C64 & 1541 $120.00 64C & 1541 II....140.00 C128 & 1571

128D

$79.00 $89.00 $59.00

M R 1701 $119.00 1702 $119.00 1802 $119.00 1080 $159.00 1084 $159.00 1084S $159.00 CMONO...$ 29.00 MONO......8 59.00

1525

1526

SG10

Star 15X

MPS 803

DPS 1101....$99.00 OKI 10 OKI 20 $79.00

$59.00 $69.00 $79.00 $89.00 $99.00 $69.00

Don’t forget to notify COMMODORE WORLD!

Please call or write with your change of address 6 to 8 weeks prior to your move so that you won't miss a single issue!

CW Adaress Change, P.O. Box 646,

E. Longmeadow, MA 01028 413-525-0023

MISC. Power supplies, cables, ribbons, paper, disks, cartridges, programs new and used, books, magazines, accessories.

August/September 1996 13 COMMODORE WORLD

by Sherry Preedline

In the time since our first installment, I've found a few items to share with you. The most exciting itemis the 4k Demo Contest sponsored by Driven magazine. This recent competition closed on July 1, 1996. Each entry was limited to one file of no more than $1000 bytes (4K), must be executable with the BASIC RUN command and, and had to be NTSC C-64 compatible. The prize was simply that of knowing your demo won the contest. Witha contest of this nature the creators have the fun of participating in the contest, while the demo fans gain valuable additions to their demo collections, Competitions such as this help keep the scene alive.

Secondly, [stumbled across another magazine during one of my surfing expeditions. The magazine was produced by FOE (Forces of Evil) and is known as Coder’s World. Three issues have been released, and the magazine is done in the style ofa demo—similar to Driven magazine but with a different focus. Coder’s World was introduced to the demo scene to provide the Commodore Community with a valuable reference guide for creating demos. [have enjoyed viewing demos for many years and the thought of learning how to create my own demo has crossed my mind many times—Coder's World provides folks such as myself with the tools to get started,

The most recentrelease of Coder's World, issue 3, contains articles demonstrating how to code 1x2 scrolls, character animation, playing music behind BASIC, logo swings, sprite scrolls, text fades, and more. Additionally, they've included an article on how to add class to your demos as well as revealing a few of their own machine language tips and tricks. Issue 3 also contains example programs demonstrating each of the routines explored within the issue.

I think Coder's World was long overdue, anda very welcome addition to the demo scene. | applaud FOE (made up of The Phantom and Wrong Way) for their efforts and support. However, a word of warning is necessary due to the presence of some profanity in each issue of Coder’s World, But, aside from that, it’s a worthwhile read. Currently, FOE is working on

an all new magazine called Solutions, Thanks FOE!

One more item I'd like to relay before moving along to the reviewsis that of the explosion of demo sites on the Internet. | remember last year looking high and low in order to find “active” FTP Commodore demo sites. Ifyou haven't been on the

net lately, you'll be surprised at the number of

places now available to satisfy all those demo urges. Almost every Commodore Demo group now has their own web page. From these web pages you can learn the history of the group, download their demos, and even view screen shots straight from their demos. The best feature ofall is the creativity of their pages. Of course this can’t yet be seen with a Commodore 64, We've always known these groups were creative, but now we get to see a whole new side of their creativity! Located elsewhere in this article you'll finda sidebar listing demo groups possessing their own web pages. So, while you're waiting forthat next demotobereleased, takesome time to check out their sites. You'll be amazed at what you'll find!

Now it’s finally time to move ahead to a few reviews. This issue’s classic demos are Trap and Max Headroom. This issue’s new soon-to-be classic demos are Digital Magic and Dawnfall.

Trap Tony Crowthers and Ben

Daglish Driven The1986demo,Trap,isademo _ Electron of many names. You may also ce know it as the Space Movie or apg the Drummer Boy. The demo Style

opens with a view of what looks like a native preparing to play a drum. In the upper right hand

Bonzai corner is a movie screen where —_ Camelot themajorityofthedemo'saction —_ Chalice takes place. Loin Shao

1 entarer tlimnabive’ Equinoxe map ec scarey, f yenativein Extend the lower right hand corner Fairlight begins to play hisdrumandthe —_ Light movie begins. As the demo scan moves along, you're treated toa padua visit fromanastronaut(ofcourse Triad

he's beamed down from his spaceship), a holographic style flashing face, and visits from other spaceships.

The whole demo lasts for more than eight minutes! All this comes from an amazingly small file of 43 blocks! At the end of the demo's movie are scrolling credits just like what you'd see at the real theater.

The demo's music reminds one of the movie 2001, creating an appropriate atmosphere for the space movie. Trap is a classic because it demonstrates all that can be done with the Commodore 64 andit does itwell. Andremember, this was still very early in the Commodore Demo

NTSC Demo Group Web Pages

http://soho.ios.com/~coolhnd http//soho.ios.com/~coolhnd/tron.htm http:/Awww.cl.ais.net/wrongway/ http://hack.lakeheadu.ca/~revenge/ http://www. earthcom,.net/~pegasus/rpg/

http//test.dev-com.com/~interconnection/Style Waveform/Millenium

http://marie.az.com/~waveform

PAL Demo Group Web Pages

http://chrom.imbg.ku.dk/sshbin/bonzai, htm! http:/www.diku.dk/students/slammer/ http:/www.nada.kth.se/~d95-she/chalice http://www. inf.bme.hu/~mre/ http://rphet physik.uni-regensburg.de/~pem03049/eqx http:/Avww.lut.fi/~pora/extend/ http://www.ludd.luth.se/~watchman/fairlight/

httpy/www.hh.se/stud/d94fa/lightlight.htm!

http://login.nord.eunet.no/~scroll/msp.htm http://www-und,ida.liu.se/~q95henra/ http://www.obh.snafu.de/~poing/padua/

http:/www.df.Ith.se/~triad/Triad_Home.html

era. Trap was definitely a demo well ahead of its time. Even back then folks knew the Commodore 64 would be capable of more than we could have ever dreamed,

Max Headroom Brian Stephenson Next on my list of classics is the 1986 Max Headroom demo.

This demo is only partially famous because of Max Headroom. The main reason I've added it to my collection is because of the fantastic art work contained within this demo. The demo features no music, just a screen sized picture of Max opening and closing his mouth, But, the graphics are so well done that you may forget you are looking at a Commodore 64 screen.

After this demo was released, there were a few more Max Headroom demos appearing on the scene, Most memorable of them is the Max Headroom Swings demo in which smaller renditions of Max are accompanied by music.

Hmmm... I wonder if Max knows he’s a Commodore Classic?

Dawnfall by OXYRON

Dawnfall is an extraordinary demo production resulting from the Party 95 demo competition, Throughout the entire demo one can’t help but

Wh

N\\ \\"

\\

a ZZ

notice the professional quality in which it is presented. The demo is contained solely within one file and moves along without any required interaction from the viewer.

August/September 1996

Dawnfall’s introductory screen reveals the letters of “Dawnfall” tumbling down upon an eclipse bearing a triangular Oxyron symbol. The letters then explode off into oblivion and the screen fades into the next portion of the introduction. Next the video type presentation zoomsinand out onascrolling Oxyron landscape. While you're busy marveling over the display, eerie music will hold you in suspense leading you to wonder what's in store for you next.

Naturally, now it’s time for the opening demo credits. | loved the manner in which they are presented. The screen flashes and the names appear in large letters on your display until all the personsinvolved have been introduced. It’s pretty hard to explain, but believe me, when you see it, you'll realize that it definitely adds to the overall professional quality of Dawnfall.

Now the fun begins as you are treated to a variety of three dimensional texture mapping routines. Included are a rotating chess board, a green, yellow and blue lattice design, a 3-D rotating upscroller and a few other items. The 3—D effects and the texture mapping are stunning! You'll easily forget that the graphics are displayed on a flat screen.

After the routines have decided they've truly astonished you, the music comes to a dead stop and the word “End” is flashed onto the screen. The music starts up again and, as in any normal video production, the end credits, thank you's and greetings roll up your screen. Behind the credits a plotter is hard at work holding your attention by designing a variety of shapes.

The demo ends with a teaser enticing you to find hidden pictures within the demo. To date I have found two of them. But, I've been told there are a total of three hidden pictures. The pictures are accessed by pressing a key or a combination of keys at the beginning, middle, and end of the demo, Unfortunately, Graham of Oxyron has asked me not to reveal the secrets. Are the secrets worth pursuing? Definitely!

Kudos to Oxyron, Jeff and Biz Kid of Camelot, and Sire of Lego for providing the Commodore Demoscenewithsuchahigh quality presentation— I hope we see more from them soon!

Digital Magic hy FOF

FOE has really started 1996 off with a bang. Besides the above-mentioned Coder’s World magazines, they have released three very impressive demos: S.E.T. (Smoke Exploration

Tool), CAT (Copper Analysis Thingy), and, of

course, Digital Magic. Each of these demos are so impressive that I had a very tough time selecting which one to review, And, just because I've selected Digital Magic, it doesn’t mean the other

15

twoaren't worthy of your time. Ifyou fail to check them out, you'll be missing some very valuable additions to your collection!

Digital Magic is what the demo world calls a “mega-demo”. It contains nine whole screens of graphics and music for you to enjoy! I'm going to highlight two of my favorites.

My first favorite display is on Digital Magic's fourth screen. FOE treats us to a page featuring eight sinus’ waving through the screen. These sines place a total of 8,192 items on the screen! The colors are black and blue and leave the viewer in a nice relaxed state of mind. Of course, the whole mega-demo features outstanding music in addition to the cool graphic routines.

My other favorite screen is on page six of the demo. This page is known as Subliminal Colors. Here thecreators, The Phantomand Wrong Way, have embedded the FOE logo into two animated color displays—one each the bottom and top halves of the screen, At first they may be hard to see. But keep looking because they are definitely there. It’s a really cool effect that I haven't seen used in the past.

Toreach each page of Digital Magic, you must press the space bar. What's unique about Digital Magic is that, first of all, the title page appears again each time you load a new page. Secondly, Digital Magic appears to be never ending due to the fact that once you've reached the final page it starts the demo over again.

Asfaras the other screens go, I'll leave them for you toexplore. Because, afterall, part of the fun of demos are the surprises contained within!

In Conclusion...

Before wrapping up this issue, I'd like to thank the members of FOE and Oxyron for taking the time to answer all my many questions while researching their respective demos. Also, I'd like to announce that all the demos reviewed here in Commodore World Magazine can be found on my web page: hittp://Avww.lm.com/~ql/.

That's it for this issue! See you next time!

»

COMMODORE WORLD

Commodore 64

When you first start to learn about computers, it’s only natural to compare how a computer “thinks” with how people do. As you learn more, you tend to stop making such comparisons because you come to realize that far from the literal, dumb servants they're often pictured as in movies, computers are completely different from people both in how they operate and the kinds of problems they can solve.

Butit’s still fascinating to compare a computer to a human brain. Researchers are beginning to discover principles which may explain how the brain works, and while much of this research is extremely complicated and requires large,expensive computers, your Commodore 64 can be programmed in BASIC to mimic one fundamental part of brain function, pattern recognition, In doing this, your computer is not only doing something the brain does (and your reaction may be “I didn’t know a computer could do that!”), it’s doing it the brain's way—by simulating the neurons (brain cells) with which you think.

Computer Storage and Human Memory First, let’s compare what the word “memory” means in a computer as opposed to a human being. A computer memory is really a huge collection of pigeonholes into which numbers are stuffed. If you want to store something that

On a

by John Walher

isn’tanumber, suchasa piece of text, a picture, or a sequence of musical notes, you first have to convert it to numbers, then put those numbers into the pigeonholes of the computer's memory. Machine language programming is just translating the instructions for solving a problem into numbers the computer can remember. A computer stores numbers.

Human memory is richer and much more complicated, What comes to mind when you look at the picture in Figure 1? Even though this picture is nothing more than 63 straight black lines on a white piece of paper, your brain immediately recognizes it as a sleeping cat. You

can even imagine how a real cat would look if

seen from other angles. The human brain seems to store and recall patterns. These patterns don't have to be pictures. You can recall pieces of music

from only a few notes of the melody, think of

words that rhyme with “frog” or that end with “ple”, and quickly name the American presidents that have the same names as automobiles.

It isn’t that human memory is better or worse than computer memory, but rather that they are entirely different things. Some computer scientists prefer the term “storage” to “memory” because it more accurately describes what the computer does. Ifyou walk up to a computer and ask it “what is the name of the famous bridge in the same state as Disneyland” you won't have

Neural Network

much success, but most people will immediately answer, “The Golden Gate Bridge”. On the other hand, if you try to memorize a list of 20,000 two digit numbers, you probably won't succeed, yet a Commodore 64 can do this in less than a second and not make a single mistake. That computer and human memory are so different isn’t all that surprising when you consider how differently constructed are the brain and a computer.

What Brains Are Made Of

The portion of the brain believed responsible for thought and memory consists primarily of nerve cells, or neurons. Each neuron has three parts, dendrites, a cell body, and an axon. The dendrites connect to the axons of other neurons. When these other neurons are stimulated, the dendrites convey the signal to the cell body via a synapse or connection, which either excites or inhibits the neuron (with a different strength for each synapse). When the excitation sufficiently outweighs inhibition, the neuron “fires”. This sends a signal down its axon which in turn excites or inhibits other neurons, and perhaps causes a muscle to move.

Because neurons primarily connect to other neurons they form networks of great complexity. Figure 3 shows two fields of five neurons each, in which each neuron connects to every neuron in the other field. In this simple case we have 10

neurons with 5 connections (or synapses) each, fora total of 50 synapses. Now consider the brain. Researchers believe that the brain contains between ten anda hundred billion neurons, each of which connects to anywhere from a thousand to a hundred thousand other neurons, forming atleast ten trillion connections, and probably far more, Compare this to the read-write memory of the Commodore 64, which is made up of about a quarter million transistors, and remember that each transistor is only aswitch—far simpler than a neuron,

The Brain Simulator

Ten billion neurons, ten trillion connections: does it make sense to talk about simulating the brain on a computer? Can we make a computer recognize patterns the way a brain does? Remarkably, we can. A simple program can simulate the behavior of a network of interconnected neurons. You can show this program patterns and it will remember them. Then if you show it a similar pattern, it will find the pattern it has learned that is most like the pattern itis being shown. The technical name for thisisan “associative memory”, so called because itrecallsitems based on similarity, like the brain, as opposed to location, like a computer.

The Brain Simulator is written in BASIC for the 64 and 128 (in 64 mode). When you've finished typing in the program, save a copy to tape or disk. To run the program, simply load it and type RUN. You'll see two blank windows on_ the screen. Below them is a legend that explains the action of the function keys. When you type a letter or number, the dot pattern for that symbol appears in the left window. Try typing a few letters and numbers to see how this works. When you start the program, it doesn’t know any patterns—so we'll teach it some. To learn a pattern, place it in the left window by pressing the key forthe letter ornumberandthen press F1. The program trains its simulated neurons to memorize the pattern (this takes about 30 seconds). READY reappears on the screen when the pattern has been learned. Go ahead and teach the program three different-looking letters, “A”, “T”,and “Z”,

Now let’s try recalling a pattern. Press the “A” key to place an A in the left window. Now press F3—this introduces errors in the pattern by randomly changing about 10% of the dots in the pattern each time you pressit. After you press F3, you'll havea pattern that looks something like an A, but doesn’t exactly match what we taught the program. Press FS to start the recall process. The pattern is run back and forth through the neuron network until it stabilizes on a fixed pattern (an

August/September 1996

Figure 1

arrow in the middle of the screen shows the direction of the transfer). After the neuron network has “thought” about the problem for a few cycles, you'll probably get back the original A we taught the program (just like the brain, this process doesn’talways remember the right thing; if the random changes made the pattern more like another pattern the program has learned, that one will be found instead).

Try entering T and Z, creating errors in them by pressing F3 one or two times, and recalling with F5, Note how the neuron network almost always recalls the correct pattern even though you've given it something quite different from what it learned. Enter “I” and try recalling with FS. The network recognizes this as T because I looks more like T than A or Z, the other patterns it has learned. This is what your brain does when it sees a pattern of lines and immediately thinks of a sleeping cat. Many researchers think the basic process the brain uses is much the same as the one used by this program,

You can make the program forget everything it has learned by pressing F4. Ifyou press F'6, the program exits to BASIC. When you leave the program everything it has learned is forgotten, but you can save learned patterns on the disk by pressing F7 and entering a file name. The next time you run the program you can reload the program's memory by pressing F8 and entering the same file name.

Figure 2

A Neuron

Dendrites

17

How it Works The remarkable thing about this program is that it doesn’t “know” it’s recognizing letters and numbers. As far as the program is concerned, it could be learning phrases of music, combinations of medical symptoms, or pictures of animals. The program simulates two fields of neurons with the arrays F1% and F2%, and displays these fields in the two windows on the screen. When you type a letter or number, the dot pattern for that symbol is read from the character ROM and stored in F1%. Lighted dots are stored as 1 and background dots as -1. The character patterns

Figure 3

Field 1

Field 2

are 6 dots wide by 7 dots high, so F1% and F2% both hold 42 numbers.

Each neuron ina field potentially connects to every neuron in the other field. Each connection, which is equivalent to a synapse in the brain, has, its own weight: positive to excite, negative to inhibit, and zero if there is no connection. These weights are stored in the 42x42 matrix M%, fora total of 1,764 connections. To learna pattern, we form a matrix from the pattern in F1% and add it to the weight matrix M% (see lines 1020-1060 in the program). To recall a pattern we take the pattern in F1% and multiply it by the weight matrix (lines 1410-1480). Ifthe value is 1 ormore, we place a 1 in that position of F2%; if it’s negative, we store a -1 there. If the value is zero, we leave the value in F2% alone. Then we take the

COMMODORE WORLD

value in F2% and multiply it back through the matrix, but swapping rows and columns, and store it back into F1% (lines 1540-1610). We keep this up until the pattern in F1% stops changing. That's our final value, the pattern we've recalled from the network.

Limits of Learning

The number of different patterns a neuron network can learn is determined by the number of neurons and connections. This very small network can learn only 2 or 3 distinct patterns before it begins to get confused. Ifyou try to teach it 4 or 5 patterns, it will often recall the wrong pattern, or even a spurious pattern you never taughtit. That’s where the enormous complexity of the brain comes in; your brain has at least five billion times as many connections as this little

13 rem screen configuration

2@ poke 53280,@

3@ poke 53281,0

4@ print "{CLEAR/HOME}

5@ open 15,8,15

6 rem variable

70 dim

80 dim v%,j,i

90 rem initialise

10@ print

11@ print

ciative memory"

l print print print

screen "{CLEAR/HOME}"

"{HOME} {1

"fl - teach

Ph Ph

to

dump

forget recall

x 4

7 ee Do p

Ulm WwW

PA Ph

rin

D print 200 print 210 print 22% print 23 print "“é @-9: 240 rl = 4 a: 250 rl = 4s el = 25 26% gosub 75@

270 gosub 860 280 gosub 970: .

quit" disc disc

290 get é 4 if soe goto

AOA 1h Ar in 1d 300 g > J/Osprinct {10

310 }

320 if ="@"anda$<="9"thenk

®

330 if $ < A S > *% "fetch

34® gosub 97@:print 35@ 1%=@

360 k=(k-64) *8+53248 37@ poke56333,127:poke 380 390 poke “Epes or 49@ for ‘s = A to 6 410 k (494@08+i)/2 420 5

COMMODORE WORLD

Geclarations

£1%(42),£2%(42) ,m%(42,42)

"{4 SPACES)neuron network asso

CRSR DN}"; pattern(5

matrix" randomize pattern "; all’

pattern{4

save({9 loadg"

load pattern"

gosub 600 gosub 600 ready {

eCDarDpe)\ a SPACES }

2" then

1,peek(1)and251 fori=@to6:poke49408+i,peek (k+i): 4:poke

program, so your ability to learn and remember is correspondingly greater.

But like a singing dog, it’s not how well it sings but the factit sings at all. With less than 250 lines of BASIC, we can make the Commodore 64 play the brain’s game, pattern recognition, the brain’s way, by simulating a neuron network, It can learn simply by being shown patterns and recall a similar pattern when shown something it’s never seen before. Research into neuron networks isoneofthemost exciting and rapidly expanding fields in science today, bringing together computer science, psychology, mathematics, and biology to discover how the brain accomplishes the remarkable things it does. This research may lead to computers that can recognize faces, understand speech, and answer complicated questions. But more importantly, we may find

430 440 450 460 470 next 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 6 3@ 640 6 50 660 670 680 690 700 71@ poke 720 poke 4 SPACES 2 730 r 2990 74@O ret 750

760

77

780 79 BOO

SPACES)"

Pho rh rh Ph Ph Ph Ph et

SPACES}

fox SPACES}"; next

=k+64:got

50@ "sas

poke next next

next

$6333,129

gosub rem dispatch J $= -asc(a$)-132 VE R=] 3%=5 j{%=2 j}%=6 j%=3 j%=7 j$=4 j%=8 to chat

poke = Vv, east

answers to questions as old as mankind: “What is thought?”, “What is memory?”, and “How do people reason?”. That your home computer can help you understand and experiment with such matters is testimony to the power latent within it.

For Further Information

This article only scratches the surface of the topic of neuron networks and associative memory. If you're interested in learning more, the following article and book are a good way to start:

Kosko, B., “Constructing an Associative Memory”. Byte, September 1987.

Rumelhart, A.,and McClelland, J., eds., Parallel Distributed Processing (two volumes), MIT Press, 1986.

©)

goto 280 function key commands

75@ : gosub 860

then then then then then then then then

199%: goto

1080: goto 121@:goto 168@:goto

L29@: goto z "">;closel5:end L8@@:goto I9@ 199@:goto 90

gosub gosub gosub gosub gosub print gosub gosub

-1+(i*8))+cl -3*i) =l to 8

poke ‘ve, 67

|

poke v+9,11@+(15*i) next i

for w=. to 7 V=1024+4@* (r1+i)+cl v,93

v+9,93

1024+40* (1+5) +6 452 elerti 1% (1%) =1lthenpokevt+ (8-3) ,81

to 7

:gotos

vt+(8-j),32

return

rem update

1%=0

18

field £1% on

screen

Issue 16

for i= @to 6 next 3 V$=1024+40* (1+5) +26 vt=sgn(v%)

for j=2 to 7 ) Lfv%<>@andv$<>£1% (i) thenf1%(i)=v%:c 1%$=1%4+1

if £2%(1%)=1 then poke v%+(8-j),81:9 next j 940 20 gosub 75@ poke v%+(8-j) ,32 3@ if c%<>@ goto 1380 next j 1 poke p%,asc(" ") next i poke p%+l,asc(" ") return ] poke p%+2,asc(" ") rem position to status area 7@ return print “({HOME}{22 CRSR DN}"; ) rem forget all - clear memory return 5 gosub 97@:print “forget” rem train on pattern in f1% 710®@ for i=l to 42

gosub 97@:print "training" £1%(i)=0

for i = 1 tod? 20 £2%(1i)=0

Lox. 7 =ol itord2 5 for j=l. te 42

ms (i,j) =m%(i,j)+£1%(i)*£1% (5) m%(i,j)=@

next j next j

next i 76@ next i

return 7®@ gosub 750

rem print part of matrix gosub 860

print "{CLEAR/HOME}"; return

for i=l to 24 rem save state to disc file for j=1 to 39 dD gosub 97@:print “save” ifm%(i,j)<@thenprint "";:gotol114@ print "{CLEAR/HOME}"; prink ©"; input "file name: ";a$ print chr$(asc("@")+abs (m%(i,j3))); D aS="@QO:"+aS+",5,w"

next j 5@ open 5,8,5,a$

print 9M for i=1 to 42:print#5, £1%(1i) :next next i gosub 2240

print “press any key to continue:"; for i=1 to 42:print#5,f2%(i):next get a$ : if aS="" goto 1190 gosub 2240

return for i=1 to 42

rem randomise 10 percent of f1% for j=1 to 42

gosub 970:print "random" 29 print#5,m%$(i,j)

For i=1 ito: 42 3@ next j

if rnd(@) > @.1 then 1260 gosub 2240

£1%(i)=-£1%(i) 1 next i

next i close 5

gosub 75@ print wees

return return

rem recall from pattern rem restore state from disc file gosub 97@:print "recall" gosub 97@:print "restore" pt=1024+40*9+19 210 print "“{CLEAR/HOME}";

rem initially copy fl to £2 202 input "file name: "“;a$ poke p%+l,asc("=") aS="@O:"+a$+",s,r"

for i=l to: 42 2 p%=asc ("m")

£2%(i)=£1%(i) 2 gosub 2246

next i 206% open 5,8,5,a$

gosub 860 7@ for i=l to 42

rem fl to £2 pass input#5,£1%(i)

poke p%,asc("=") next i

poke p%+2,asc(">") gosub 2240

for j=1 to 42 2 dD for i=l to 42

vt=O 2120 input#5,£2%(i)

for’ i=1 to42 2 next i

VB=VB+E£E1% (i) *ms (i,j) 214@ gosub 2240

next i 2 for L=1. te: 42

v%=sgn (v%) for j=l to 42

if v%<>@ then £2%(j)=v% input #5,mS(i,j)

next j 2 next j

gosub 860 19® gosub 2246

rem £2 to fl pass 2200 next i

ct=0 22 close 5

poke p%,asc("<") 2220 return

poke p%+2,asc("=") 223® rem disc error check

for i=l to 42 224® input#15,en,em$,et,es vt=0 2250 if en>@then print en,em$,et,es:stop for’ j=1 \to.42 2260 return

vS=vb+£2% (5) *m% (i,j)

August/September 1996 19 COMMODORE WORLD

fter programming in 6502 machine language for over a decade, |

was getting a bit BORED. One can only code the same routines with

the same opcodes so many times before the nausea of repetition becomes overpowering. When I heard the news that CMD was building a cartridge based on a 20 MHz 65816 I was overjoyed. For years I've heard those with 65816 based systems brag about its capabilities. To us old 6502 programmers, the opportunity to program the fabled 65816 is a new lease on life.

The 65816 is an 8-/16-bit register selectable upgrade to the 6502 series processor. With 24 bit addressing of up to 16 Megabytes of RAM, the powerful 65816 is a logical upgrade that leaves 6502 programmers feeling right at home. It is amazing how fast one can adapt to the new processor. It sounds funny to say it, but the only difficulty I have had learning the 65816 is that there are so many options and choices to complete the same task, that it is hard to decide which method is best.

To get started programming the 65816, I would recommend purchasing the book, “Programming the 65816” from The Western Design Center, manufacturer of the 65816. While it is a bit pricey, the sheer quality and content of the 600 page book is worth the money. Rarely, ifever, has there been a CPU manual as thorough and detailed as the Western Design book. Ifyou know 6502 assembly, then Programming the 65816 is probably the only 65816 book you will ever need.

Getting a Feel for the Modes

The 65816 may be operated in Native mode or 6502 Emulation mode. Emulation modeisa 100% 6502 compatible mode where the whole processor looks and feels like a vintage 6502. Native mode offers 8- or 16-bit user registers and full access to 24-bit addressing.

While in emulation mode, not only are all the 6502 opcodes present in their virgin form, but the new 65816 instructions are also available for usage. In fact, the first lesson to learn about programming the 65816 is that emulation mode is much more powerful than a stock 6502. The only true difference between emulation modeand our venerable C64’s 65 10 processor is that unimplemented opcodes will not produce the results expected on the former. Since all 256 of the potential opcodes are now implemented on the 65816, older C64 software that uses previously unimplemented opcodes will produce erratic results.

To select between emulation and native modes, a new phantom hidden emulation bit (E) was added to the status register. Shown in programming models hanging on top of the Carry bit, the emulation bit is only accessible by one instruction. The new instruction (XCE) exchanges the status of the Carry bit and Emulation bit. To move to emulation mode, set the carry and issue an XCE instruction, To move to native mode, clear the carry and issue the XCE instruction.

My, How Your Index Registers Have Grown!

While in native mode there are two new directly accessible bits present in the status register. The 65816 implements new hardware interrupt vectors which include a new hardware BRK vector in ROM; therefore, the old BRK bit of the status register is no longer needed. The BRK bit is replaced with the X bit to select either 8- or 16-bit index registers, The former empty bit 5 is now filled with the M bit to specify the accumulator and memory access as 8- or 16-bit.

August/September 1996

21

Two new instructions are used to clear or set bits within the status register. The SEP instruction sets bits, and REP clears bits. SEP and REP use aone byte immediate addressing mode operand to specify which bits are to be set or cleared. For example, to set the X bit for 8 bit user registers:

SEP #%00010000 ; set bit 4 for 8-bit index ; registers. Or to clear bit 4: REP #%00010000 ; clear bit 4 for 16-bit index

; registers.

When in 8 bit mode, the index registers perform their function in standard 6502 form. When status bit X is set to 0, both the X and Y index registers become 16 bits wide. With a 16-bit index register you can now reach out to a full 64K with the various indexed addressing modes. An absolute load to an index register in 16-bit mode will retrieve 2 bytes of memory—the one at the effective address and the one at the effective address plus one. Simple things like INX or DEY work on a full 16 bits, which means you no longer have to specify a memory location for various counters, and loops based on index counters can now be coded in a more efficient manner.

The formerly empty status register bit 5 is now referred to as bit M. Mis used to specify an 8- or 16-bit wide accumulator and memory accesses. When in 8 bit mode, (M=1), the high order 8 bits are still accessible by exchanging the low and high bytes with a XBA instruction—itis like having twoaccumulators! I lowever; when set fora full 16-bit wide accumulator, all math and accumulator oriented logical instructions operate on all 16 bits! Ifyou add up the clock cycles and bytes required to perform a standard two byte addition, you can start to see the true power of 16-bit registers.

More Register Improvements Zero Page has now been renamed to Direct Page—corporate thinking, go figure. A new processor register D was added to allow Direct Page to be moved anywhere within the first 64K of memory. The direct page register is 16 bits wide, so you can now specify the start of direct page at any byte. Several old instructions now include direct page addressing as well. To move direct page, just push the new value onto the stack (16 bits) and then PLD to pull it into the direct page register. You may also transfer the value from the 16-bit accumulator to the direct page register with the TCD instruction, Direct page may also be moved while in emulation mode.

While in native mode, the stack pointer is a full 16 bits wide, which means the stack is no longer limited to just 256 bytes. It can be moved anywhere within the first 64K of memory (although while in emulation mode, the stack is located at page one). There are several new addressing modes that can use the stack pointer as a quasi-index register to access memory. Numerous new push and pullinstructions allow youto manipulate thestack. A few ofthe more useful stack instructions useful to programmers, are the new instructions to push & pull index registers with PHX/PHY and PLX/PLY.

Two other new processor registers are the Program Bank Register (PBR) and the Data Bank Register (DBR). The Program Bank Register can be

COMMODORE WORLD

thought ofas extending the program counter out to 24 bits. Although you can JSR and JMP to routines located in other RAM banks, individual routines on the 65816 still must run within a single bank of 64K—there's no automatic rollover from one bank of RAM to the next when executing successive instructions. In this sense, it may help to think of the 65816 processor asa marriage of Commodore's C128 Memory Management Unit (MMU) and an ‘enhanced’ 6502—a very similar concept.

The Data Bank Register is used to reach out to any address within the 16 megabyte address space of the 65816. When any of the addressing modes that specify a 16-bit address are used, the Data Bank byte is appended to the instruction address. This allows access to all 16 megabytes without having to resort to 24-bit addressing instruction, and helps enable code that can operate from any bank.

New Addressing Modes

Thereareninenewaddressing modes on the 658 16. Several newinstructions are designed to help create relocatable code that can execute at any address.

65816 Native Mode

The use of relocatable code on the 6502 was extremely limited. With 16 megabytes of address space, writing relocatable code increases the overall utility of the program. To write relocatable code, several new instructions use Program Counter Relative Long addressing. This allows relative branching within a64K bank of RAM. There’salso Stack Relative addressing, anda push instruction to place the program counter onto the stack, so that a code fragment can pull it back off and can instantly know its execution address,

Another new feature are two Block Move instructions, one for forward MVP and one for backward MVN. Simply load the 16-bit X register with the starting address, the Y index register with the ending address, the accumulator with the number of bytes to move, and issue the MVP or MVN instructions. MVN is for move negative, and MVP is for move positive, so that your moves don’toverwrite themselves. Block Moves use two operand bytes: one for the source bank of 64K and one for the destination bank. Memory is moved at the rate of seven clock cycles per byte.

Several new addressing modes are used to access the full address space. A 65816 assembler would decode “long” addressing given this input:

Programming Model

Processor is in Native (65816) mode when Processor Status flag e = 0

z 0

16 Accumulator A is 16-bit when Processor Status flag m = 0 ACCUMULATOR MSB (8) ACCUMULATOR LSB (A) (8-bit if m = 1)

DATA BANK REGISTER (DBR)

Index Registers are 16-bit when XINGES HEGISTER'(X)

Processor Status flag x = 0 (8-bit if x = 1)

PROGRAM BANK REGISTER (PBR)

Y INDEX REGISTER (Y)

DIRECT PAGE REGISTER (D) STACK POINTER (S) PROGRAM COUNTER (PC)

PROCESSOR STATUS REGISTER (P)

Native Mode Options While in Native Mode, the m flag controls the size of Accumulator A and most Memory operations, while the x flag controls the size of the X and Y Index Registers. This provides 4 different configuration possibilities, as charted below, The REP and SEP instructions are used in combination to switch configurations

m AJM xy 16-bit 16-bit 16-bit = 8-bit

Instructions REP #$30 REP #$20 SEP #$10 REP #$10 SEP #$20 SEP #$30

8-bit 16-bit

8-bit 8-bit It is important to note that the m flag will control the size of all operations dealing with memory except in operations involving the X and Y Index Registers (CPX, CPY, LOX, LDY, STX and STY) where the x flag controls the size.

COMMODORE WORLD

22

Emulation 0 = Native Mode

Note: To switch to Emulation mode, sot carry with SEC, then use XCE to exchange the c and @ flags.

1 = Carry

1 = Result Zero

1 = Disabled

1 = Decimal, 0 = Binary 1 = 8-bit, 0 = 16-bit

1 = 8-bit, O = 16-bit

1 = Overflow

1 = Negative

IRQ Disable

Decimal Mode

Index Register Select Memory/Accumulator Select Overflow

Negative

Issue 16

LDA S0445F2 ; load byte from $45F2 of

; bank 4

RAM

LDA

$03412F,x ;

; plus x.

load byte from $412F of

Quite a few instructions have been given new addressing modes. How

many times have you wanted to do this:

LDA ($12) ; load indirect without an ; offse Or how about a table of routine addresses: JSR ($1234,x) ; jump to a subroutine via

; indexed indirect addressing!

Other fun new instructions:

TXY,TYX Transfer directly between index registers BRA Branch always regardless of status bits TSB Test and set any bit of a byte TRB Test and reset (clear) any bit of a byte INC A/DEC A_ Increment or decrement the accumulator directly STZ Store a zero to any byte Summing Up

As you cansee, the 65816 opens up a whole new world of programming— it feels like a new lease on life. Of course, it’s going to take some time to learn the new processor. But while the 20 MHz speed is a nice perk, | believe that the real power of CMD’s new peripheral is indeed the engine under its hood: the 65816—a super CPU!

%)

65816 Emulation Mode Programming Model

Processor is in Emulation (6502) mode when Processor Status flag e = 1 (power-on default)

Processor is in Emulation mode

DATA BANK REGISTER (DBR)

Accumulator A is 8-bit when {

Processor is in Emulation mode

7 0

X INDEX REGISTER (xX) Index Registers are 8-bit when

Emulation Notes

While in Emulation Mode, Accumulator Ais forced to 8-bit mode. You can, however, access the upper 8 bits with instructions that specify Accumulator B, and all 16 bits at once with instructions that specify Accumulator C, The X and Y Index Registers are also forced to 8-bit mode, with no means available to access the upper 8 bits. To further assist in compatibility, the Stack is forced to Page 1 of Bank 0. The Direct Page Register (D) is fully functional in this mode, allowing direct page to be placed anywhere in Bank 0. Likewise, the Program Bank Register (PBR) and Data Bank Register (DBR) are also fully functional. While it would seem that these latter Items would allow programs to operate from any bank in Emulation mode, there are some caveats; interrupts will force the program bank to zero without saving the PBR first, and RTI won't attempt to restore the bank. Therefore, Native mode would be recommended to execute programs in other banks.

August/September 1996

23

Y INDEX REGISTER (Y)

—— Emulation 1 = Emulation Mode

Note: To switch to Native mode, clear carry with CLC, then use XCE to exchange the c and e flags,

Carry

Zero

IRQ Disable Decimal Mode Break Instruction

1 = Carry

1 = Result Zero

1 = Disabled

1 = Decimal, 0 = Binary

1 = Break caused Interrupt

1 = Overflow

1 = Negative

Overflow Negative

COMMODORE WORLD

Guide to 6502/65C02/65816 Instructions

Assembler Example HEX Addressing Mode 02 C02 816 Bytes Cycles ADC Add With Carry [Flags affected: n.v,z,c]

ADC (dp,X) 61 DP Indexed Indirect,X Vv ¥ ADC sr,S Stack Relative / ADC dp Direct Page

ADC [dp] DP Indirect Long

ADC #const Immediate

ADC addr Absolute

ADC long Absolute Long

ADC (dp), Y DP Indirect Indexed, Y

ADC (dp) DP Indirect

ADC (sr,S),Y SR Indirect Indexed, Y

ADC dp,X DP Indexed,X

ADC [dp], ¥ OP Indirect Long Indexed, Y ADC adary Absolute Indexed, Y

ADC adar,X 7D Absolute Indexed,X

ADC long,X 7F Absolute Long Indexed,X

<

eu Us es 3

2 SO A Gi

<—

V Vv

PWOWONMNNNNAWANNMMNMM

AND (dp,X) AND sr,S AND dp AND [dp] AND #const AND addr AND long AND (dp), Y AND (dp) AND (srS),Y AND dp,X AND [dp], Y AND adar,Y AND adar,X AND /ong,X

DP Indexed Indirect,X Stack Relative Direct Page DP Indirect Long Immediate Absolute Absolute Long OP Indirect Indexed, Y DP Indirect SR Indirect Indexed, Y OP Indexed,X DP Indirect Long Indexed, Y 39 Absolute Indexed, Y 3D Absolute Indexed,X 3F Absolute Long Indexed,X

PEE POS

“a.

a i a a an

i a a.

ASL dp ASLA ASL addr

06 Direct Page

OA Accumulator

OE Absolute

ASL dp,X 16 DP Indexed,X ASL adadr,X 1E Absolute Indexed,X

BCC Branch if Carry Clear [Flags affected: none] (Alias: BLT] BCC nearlabel 90 Program Counter Relative BCS Branch if Carry Set [Flags affected: none] (Alias: BGE] BCS nearlabel BO Program Counter Relative Vv Vv VY 2 278

BEQ Branch if Equal (Flags affected: none] BEQ nearlabel FO Program Counter Relative VY VY Vv 2 278 BIT Test Bits [Flags affected: z (immediate mode) n,v,z (non-immediate modes)] | y j

BIT dp BIT addr BIT dp,X

VON: (2° 2%

24 Direct Page

2C Absolute

34 DP Indexed,x

BIT adar,X 3C Absolute Indexed,X BIT #const 89 Immediate

BMI = Branch if Minus [Flags affected: none]

BMI nearlabel 30 Program CounterRelative ¥Y Vv 2 278

BNE Branch if Not Equal (Flags affected: none}

BNE nearlabel DO Program Counter Relative VN EN Seg ote BPL nearlabel 10 Program CounterRelative ¥ ¥ 2 278 BRA Branch Always (Flags affected: none]

BRA nearlabel 80 Program Counter Relative Vv 2 3 BRK 00 Stack/Interrupt Ree nf Al ne 18878.

BVC Branch if Overtiow Clear [Flags affected: none] BVC nearlabel 50 Program Counter Relative VV Vv Vv 2 278

BVS Branch if Overflow Set [Flags affected: none]

BVS nearlabel 70 Program Counter Relative ¥ ¥ YY 2 278

N Vv

i

Nv V Vf Vv

COMMODORE WORLD

24

CMP (dp,X) C1 DP Indexed Indirect,X Vv CMP sr,S C3 Stack Relative

CMP dp C5 Direct Page

CMP [dp] C7 DP Indirect Long

CMP #const C9 Immediate

CMP addr CD Absolute

CMP long CF Absolute Long

CMP (dp), Y D1 DP Indirect Indexed, Y

CMP (dp) D2 DP Indirect

CMP (sr,S),Y D3 SR Indirect Indexed, Y

CMP dp,X D5 DP Indexed,x

CMP [dp], Y D7 DP Indirect Long Indexed, Y

CMP agar,Y D9 Absolute Indexed, Y

CMP adar,X DD Absolute Indexed,X bette CMP long,X DF Absolute Long Indexed,X ;

COP Co-Processor Enable (Flags atfected: d, i) COP const 02 Stack/Interrupt Vi GeReT CPX Compare Index Register X with Memory [Flags affected: n,z,c} 7 ]

CPX #const EO Immediate CPX dp E4 Direct Page Viotny, CPX addr EC Absolute V ov

CPY Compare Index Register Y with Memory [Flags affected: n,z,c] j v

CPY #const CO Immediate VV pte are CPY dp C4 Direct Page YN Nim 2 5g2to CPY addr CC Absolute VY VV 8 410

DEC Decrement (Flags affected: n,z]

DEC A 3A Accumulator Vy DEC dp C6 Direct Page

DEC adar CE Absolute

DEC dp,X D6 DP Indexed,X

DEC adar,X DE Absolute Indexed,X VN oN

1 Vy

: Vv EOR (dp,X) 41 DP Indexed Indirect,Xx vv EOR sr,S 43 Stack Relative EOR dp 45 Direct Page EOR [dp] 47 DP Indirect Long EOR #const 49 Immediate EOR adar 4D Absolute EOR long 4F Absolute Long EOR (dp), Y 51 DP Indirect Indexed, Y EOR (dp) 52 DP Indirect EOR (sr,S),Y 53 SR Indirect Indexed, Y EOR dp,X 55 DP Indexed,xX EOR [dp], Y 57 DP Indirect Long Indexed, Y EOR adary 59 Absolute Indexed, Y EOR adar,X 5D Absolute Indexed,X EOR /ong,X 5F Absolute Long Indexed,X

INC Increment (Flags affected: n,z]

INCA 1A Accumulator INC dp E6 Direct Page

INC addr EE Absolute

INC dp,X F6 DP Indexed,x

INC ador,X FE Absolute indexed,X

a

FPOWNMNNNNLANNMNNDN

v

} Vv

-

N N

SWWNNNNMNMSOMMMMl

44 eee

Issue 16

Assembler Example HEX Addressing Mode 02 C02 816 Bytes Cycles Assembier Example HEX Addressing Mode 02 C02 816 Bytes Cycles

PEI Push Effective Indirect Address [Flags affected: none]

PEI (dp) D4 Stack (DP Indirect) V2 ¢ uN pics ue acon vv y : : PER label 62 Stack (PC Relative Long) Vv 3 6 ey AR RES es veel Pet JMP (adar,X) 7C Absolute Indexed Indirect Nov : PHA 48 Stack (Push) 5 ES en es ee

f UME aad DG Absolute Indirect Long 4 PHB Push Data Bank Register (Flags affected: none}

JSR Jump to Subroutine [Flags affected: none] (Alias: JSL for Absolute Long)

PHB 8B Stack (Push) Nios S

JSR addr 20 Absolute ORS De PRR Pa JSR long 22 Ab sbibte Long Sek : 4 8 PHD Push Direct Page Register [Flags affected: none] JSR (addr,X) FC Absolute Indexed Indirect Vo 3008 PHD OB Stack (Push) Ne A

LDA Load Accumulator from Memory (Flags affected: n,z} PHK Push Program Bank Register [Flags affected: none]

LDA (dp,X) A1 DP Indexed Indirect,X VN VN Vv 2 62 PHK 4B Stack (Push) Vie eteets

LDA srS A3 Stack Relative VY 2 4

LDA dp A5 Direct Page ¥ VN 2 39%

LDA [dp} A7 DP Indirect Long V 2 6

LDA #const AQ Immediate Vv Vv 22!

LDA ador AD Absolute vv v 3 4!

LDA long AF Absolute Long 4.5}

LDA (dp), Y B1 DP Indirect Indexed, Y VN VvV VN 2 5123

LDA (dp) B2 DP Indirect VY Vv 2 512

LDA (sr,8),Y B3 SR Indirect Indexed, Y Nini One 74

LDA dp,X B5 DP Indexed,X VV VV 2 4'2

LDA [dp], Y B7 DP Indirect Long Indexed, Y NV 2 6!2

LDA adar,Y B9 Absolute Indexed, Y y y 3 4i8 PLA 68 Stack (Pull) NNR eat

13

EEA RES: ee abeaure Ung mensieecs 2 was

aE Sees Tn

PLD Pull Direct Page Register {Flags affected: n,z]

LDX #const A2 |Immediate Vie NbN

LDX dp A6 Direct Page v Visi N ee ge PLD 2B Stack (Pull) syctea Wi} J t

ae soy aS areas y y y y : i PLP Pull Processor Status Register (Flags affected: n,z]

LDX adar,Y BE Absolute Indexed, Y VY Vv 3 481 PLP 28 Stack (Pull) VEN NE ed:

LDY #const AO Immediate

LDY dp A4 Direct Page

LDY adar AC Absolute

LDY dp,X B4 DP Indexed,x . PLY 7A Stack (Pull) VIN aa

LDY addnx BO’ Absolute Indexed, x REP Reset Processor Status Bits [Flags affected: all except b per operand] LSR Logical Shift Memory or Accumulator Right (Flags affected: n,z,c] REP #const G2 Immediate Y 2 3

ben cp an resol nis J y 1 2 ROL Rotate Memory or Accumulator Left [Flags affected: n,z,c] LSR addr 4E Absolute N) ONY AN. GiR'6s ROL dp 26 Direct Page ne ee ; LSR dp,X 56 DP Indexed,X Vv 2 6 ROLA 2A Accumulator 5 a as es LSR adar,X 5E Absolute Indexed,X ROL addr 2E Absolute Vy y 3 6 2 ROL dp,X 36 DP Indexed,X Nini BA MVN_ Block Move Negative [Flags affected: none] (Registers: X,Y,C} ROL addr.X 3E Absolute Indexed,X , 3 MVN srebk.destbk 54" Block Move . Noro Ea ROR Aotate Memory or Accumulator Right [Flags affected: n,z,c} MVP Block Move Positive (Flags affected: none] (Registers: X,Y,C] ROR dp 66 Direct Page 7 MVN srcbk,destbk 44 BlockMove NGES AI? RORA 6A Accumulator \ ; ROR addr 6E Absolute ViiN Ne 3.68 NOP _ No Operation [Flags affected: none] ROR dp,X 76 DP Indexed,X etal Sal’ Pont eas NOP EA Implied NN MeN nA 2: ROR adar,X 7E Absolute Indexed,X V vq ORA OR Accumulator with Memory (Flags affected: n,z} RTI = Return from Interrupt [Flags affected: all except b] ORA (dp,X) 01 DP Indexed Indirect,X Vv Vv , 2 6! RTI 40 Stack (RTI) ALS Sa SUSE lati BEA ae ee hae Rece that me is a 2 RTL Return from Subroutine Long (Flags affected: none} ORA [dp] 07 DP Indirect Long y 2. 6'2 RTL 6B Stack (RTL) SPSS i} | 17 1 SA vila Ae spunea Nae A ri RTS Return from Subroutine [Flags affected: none] ORA /ong OF Absolute Long 2 CASES RTS 60 Stack (RTS) 0 es a PES ST: U j 12.3 cae py i Be joie: Indexed, Y V y y S 2 2 SBC Subtract with Borrow from Accumulator (Flags affected: n,v,z,c] ORA (sr,S),¥ 13 SR Indirect Indexed, Y Vie os 7s SBC (dp,X) E1 DP Indexed Indirect,X | ORA dp,X 15 DP Indexed,X VY Vv 2 4% SBC sr,S E3 Stack Relative N ORA [ap], Y 17 DP Indirect Long Indexed, Y Vic oanO SBC dp E5 Direct Page NieN ey ORA adar,Y 19 Absolute Indexed, Y NEON) Vin 31a 410 SBC [dp} E7 DP Indirect Long : v ORA adar,X 1D Absolute Indexed,X Vv Vv 3 48 SBC #const ES Immediate Vv WV ORA long,X 1F Absolute Long Indexed,X Ni ge 5! SBC addr ED Absolute Vv 4 3 4t

SBC long EF Absolute Long

August/September 1996 25 COMMODORE WORLD

SBC (dp),Y F1 DP Indirect Indexed, Y VE NGN SQ TAX Transfer Accumulator to Index Register X [Flags affected: n,z] SBC (dp) F2 DP Indirect AX AA Implied ATA, A

SBC (sr,S),Y F3 SR Indirect Indexed, Y

F5 DP Indexed,X

F7 DP Indirect Long Indexed, Y F9 Absolute Indexed, Y

FD Absolute Indexed,X

SBC dp,X

SBC [dp], Y SBC adar,Y SBC adar,X

TAY Transfer Accumulator to Index Register Y (Flags affected: n,z] T A8 Implied Ape [ian aa TCD Transfer 16-bit Accumulator to Direct Page Register [Flags affected; n,z}

24242444

SBC /ong,X FF Absolute Long Indexed,X

SEC _ Set Carry Flag [Flags affected: c) TCS Transfer 16-bit Accumulator to Stack Pointer (Flags affected: none]

aT YY —_

Te!

2

12

Cat ae:

S 38 Implied Vv 2 TCS 1B Implied Vv SED Set Decimal Flag [Flags affected: d] TDC Transfer Direct Page Register to 16-bit Accumulator [Flags affected: n,z] 5 F8 Implied Nios 2 DC 7B Implied \ Vv oN 2 S 3 V

TRB dp 14 Direct Page Vv v2) 5%

EC i 1 ED i v 1 SEI __ Set interrupt Disable Flag (Flags affected: i) TRB Test and Reset Memory Bits Against Accumulator (Flags affected: 2} SEI 78 Implied 1 SEP Set Processor Status Bits [Flags affected: all except b per operand] TRB addr 1C Absolute 2 Nopen' lor foes) EP i 2 V

STA Store Accumulator to Memory [Flags affected: none] TSB dp 04 Direct Page QI St

V TSB addr OC Absolute A ee Bir 68

TSC Transfer Stack Pointer to 16-bit Accumulator [Flags affected: n,z] TSC 3B Implied 1 }

Vv J Vv E2 Immediate V TSB Test and Set Memory Bits Against Accumulator (Flags affected: z] v {

STA (dp,X) 81 STA sr,S

STA dp

STA [dp]

STA addr

STA long

STA (dp), Y

STA (dp)

STA (sr,S),Y

STA dp,X

DP Indexed Indirect,X Stack Relative ot Direct Page N DP Indirect Long Absolute v Absolute Long

DP Indirect Indexed, Y v DP Indirect ; SR Indirect Indexed, Y

DP Indexed, X

STA [dp], Y DP Indirect Long Indexed, Y

TXA Transfer Index Register X to Accumulator [Flags affected: n,z] STA adadr,Y Absolute Indexed, Y

2 TSX = Transfer Stack Pointer to Index Register X (Flags affected: n,z}

TSX BA Implied 2 TXA 8A Implied 2 TXS Transfer Index Register X to Stack Pointer [Flags affected: none] STA addr,.X 9D Absolute Indexed, x 3 , = 2 2

Fe a ES Se EE , SFOWNNNNNSONNMNND

V 2 is aie No oN Yv TX 9A Implied eS STA long,X 9F Absolute Long Indexed,X TXY Transfer Index Register X to Index Register Y (Flags affected: n,z] STP Stop Processor (Flags affected: none] TXY 9B Implied Vv STP DB Implied TSE TYA Transfer Index Register Y to Accumulator (Flags affected: n,z] STX Store Index Register X to Memory [Flags affected: none] TYA 98 Implied Nov Vv | y :n, 8E Absolute j y ; 96 DP Indexed,Y v TYX BB’ Implied y 2 WAI Wait for Interrupt [Flags affected: none] WAI CB Implied Vv 3's WDM Reserved for Future Expansion (Flags affected: none (subject to change)] WDM 42 nla N28 n/até XBA_ Exchange B and A 8-bit Accumulators (Flags affected: n,z] y Vv

86 Direct Page TYX Transfer Index Register Y to Index Register X [Flags affected: n,z]

84 Direct Page N 8C Absolute N 94 DP Indexed,X N

1 1 1 1 1 1 1 1

64 Direct Page

74 DP Indexed,X

9C Absolute

9E Absolute Indexed,X

XBA EB Implied 3 XCE Exchange Carry and Emulation Flags (Flags affected: m,b/x,c,e] XCE FB Implied Wa

STZ addr,X

‘Add 1 cycie if m=0 (16-bit memory/accumulator)

*Add 1 cycle if low byte of Direct Page Register is non-zero

“Add 1 cycle if adding index crosses a page boundary

‘Add 1 cycle if 65C02 and d=1 (65C02 in decimal mode)

“Add 2 cycles if m=0 (16-bit memory/accumulator)

®Subtract 1 cycle if 65C02 and no page boundary crossed

“Add 1 cycle if branch is taken

®Add 1 cycle if branch taken crosses page boundary on 6502, 65C02, or 65816’s 6502 emulation mode (e=1)

°*Add 1 cycle for 65816 native mode (e=0)

Add 1 cycle if x=0 (16-bit index registers)

"Add 1 cycle if 65C02

"°6502: Yields incorrect results if low byte of operand is SFF (i.e., operand is $xxFF)

COMMODORE WORLD

26

‘87 cycles per byte moved

SUses 3 cycles to shut the processor down: additional cycles are required by reset to restart it

"Uses 3 cycles to shut the processor down: additional cycles are required by interrupt to restart it

‘°Byte and cycle counts subject to change in future processors which expand WDM into 2-byte opcode portions of instruc- tions of varying lengths

Add 1 byte if m=0 (16-bit memory/accumulator)

"’Opcode is 1 byte, but program counter value pushed onto stack is incremented by 2 allowing for optional signature byte

"Add 1 byte if x=0 (16-bit index registers)

Issue 16

<vV <# ty

Leen,

HEP HEHEHE HEHE Hee eet Se te te At Be BE SE SE SE SE TS OTE AE BE tt te tH

++ ts

+ . . + t . * . . . . * . t . . . . * * . . . * *

# # = # # # # #t a # # # # # # # # # # ft # # My # # # vy tt # # a # # # # v a # a v v # MH =

CBM 1660 (300 baud modem)

Serial Cables 3'

Midwest Micro 64 Terminal S501

BP Pro Joystick

CBM Datasette (1530)

California Games

C64 Graphics with COMAL

Commodore 64 Fun & Games

Commodore 64 Games

Computer Monsters

Computer Olympics

Computer Space Adventures

Computes 1st Book/C64

Computes 1st Book/C64 Games

Computes 2nd Book of C64

EPYX Programmers Basic Toolkit

Dictionary of Computer Terms

GEOS - Inside and Out

Instant Activities For Your C64

Jet: 82 New Adventures

Machine Language For Beginners

Mapping the Commodore 64

Micro Adventures #3 Million

DollarGamble

Pilgrim in the Micro-World

Programming the Commodore 64

Write Your Own (Adv.Graphics

Haunted House)

Write Your Own (Synthesizer)

Alice in Wonderland

Arcade Game Construction Kit

Ardok the Barbarian

Arkanoid

Arkanoid Il, Revenge of DOH

Artic Fox

Awardware

Bank Street Filer

Batman

Batman - The Caped Crusader

Beyond Castle Wolfenstein

Bits, Pieces & Clues

Blood Money

Bubble Bobble

Captain Commando Challenge

Card Sharks

Cauldron

Cave of the Word Wizard

Caveman UGH-lympics

Championship Golf

Chernobyl - Nuclear Plant Simul.

Chomp

Clowning Around

Commodore Basic Programming

Concentration

Cut Throats

Double Dragon II - The Revenge

F-15 Strike Eagle

Fairlight

Family Feud

Fast Tracks

Feud

Final Conflict

Frankie Goes To Hollywood

Frogger

Fun House

Gauntlet

Ghostbusters

Grand Prix Circuit

Guerilla

Hangman Roulette

Hardball

Heartland

August/September 1996

DOS Cat eC Pah © 2 DP evVeehaas H 2 6 8 8 1) Oeawe ew ee 8 8 ee REE ES 8 fe ee wee: & Ce tap © © ee-S TE OnE: @ EE

n

strrtrtBeeBeeet—

RBereeei Pee -<-FBteiSsSBeeiBsBeBTtTBTBTeBeBseBseseseiKeFBTsssesweeiB,ersTtTsrrewseweetsteiisBPee fete Bee

retrst >

CMD’* 2nd Annual

Warehouse Sale

Surplus Inventory Must Go by October

i seco

Helicopter Emergency Rescue Operation

High Roller

Invaders of the Lost Tomb Jeopardy

Jeopardy (Junior Edition) Jingle Disk - Holiday Card Maker Jordan vs, Bird

Jumpman

Karate Chop

Ken Uston's Professional Blackjack King Cribbage

Kings of the Beach

Kung Fu Il, Sticks of Death Label Maker

Lords of Conquest

Main Frame

Maniac Mansion

Math Blaster

Maxwell Manor

Mean Streets

Realm of Impossibility

Mini Putt

Monday Night Football Monkey Business

Murder By The Dozen

Night Mission Pinball Operation Wolf

PHM Pegasus

Pinball Construction Kit

Pole Position

Powerplay Hockey - USA vs. USSR Predator

Presidential Campaign

Remote Control Renegade

Sargon Il

Sky Fox

Snooper Troops Case#2 Snow Strike

Speedball

Stationfall

Summer Games II

Super Huey

Super Password

Swiss Family Robinson Tag Team Wrestling Take Down

The Artist

The Home Manager

The Money Manager The President Is Missing The Sentry

The Seven Cities of Gold The Three Stooges V2 The Wizard of Oz

The Writer

Thud Ridge

Total Eclipse

Trilogy

Typing Tutor III

War in Middle Earth Wheel of Fortune

Wheel of Fortune 2nd Edition Where in the World is Carmen Sandiego

Win, Lose or Draw 2nd Edition Word Writer

Word Writer 3

World Games

Zenji

nrTr TS TPREeBe ttn

Atlantis

Congo Bongo Gort

Omega Race Pirates Cove Practicale 20 Sargon II Chess The Sky !s Falling Tutankam

Master Type 64 (Edu) Popeye

Lazarian

Omega Race

Se.0c

Abacus - Anatomy of the 1541 Abacus - C128 Basic Training Guide Abacus - C128 C.A.D.

Abacus - Ideas for use on C64 Abacus - Science & Engineering/64 Abacus - Tricks and Tips for C-64 Data Manager 2

Intro to Basic/ Part!

Intro to Programming 1

Music Construction Set

Navy Seals

Panorama

Print Power

Printed Word & Calc Programming Kit #3

Swift Calc

Word Writer 4

Delta Drawing (Edu)

coe FF SC Ce CEE SC OO EEA AA H— AHA

<<< tt Ue tH TD 3 te

Pe ee a a a

22

i

1541 Disk Drive (For Parts Only) Amtech (71) w/out PS (Parts Only) Epyx Fastload Cart. FSD-2 no PS. (For Parts Only) M3 Mouse Mach 5 Cart. Navarone Port Expander AcroJet Airborn Ranger Atomino Ballistix Blood Money Dr.T’s Midi Librarian (4 OP) Or.T's Midi Librarian (CZ Rider) Or.T's Midi Librarian (OX Heaven) Flight Simulator Il Scenery Disk #1 Flight Simulator Il Scenery Disk #5 Main Frame Menace Rings of Medusa Rings of Medusa Silent Service Skate or Die Ultima V (disks only) 8k Ram Cartridge 15

1571 Drive Head Assembly 1700 REU (128K) Aprotek Minimodem C (1200) Cardco G-wiz Datashare CadPak 128 Flight Simulator I! Home Designs (Cad for 128) Where in the USA is Carmen

Sandiego Partner 64 Cartridge

COMMODORE WORLD

30, 1996

Lecenp

(6) weed (\) new (@) Printer intertace (0) 64 Printer (*) Game (t) Productivity 64 () Productivity 128 (<) Misc. Hware (1) Drive (%) Centronics Printer

Cardco G+

Xetec Supergraphics, Jr. Data Manager 128 Swift Cale 128

Sylvia Porter's Personal Finance 128

Word Writer 128

Blue Chip / Protecto Micro R&D MW-350

Star Gemini 10X

Votalker (Speech Synthesizer) Xetec Super Graphics Jr. Accounting Series (Payables) Accounting Series (Receivable) Accounting Series (Invent. Cntr!) Accounting Series (Invoicing)

CBM 1526

MPS-801

MPS-802

MPS-803

Seikosha SP-1000VC

Animation Station & Design Pad Voice Messenger w/Easy Speech & Intelligent Talking Terminal

Vizastar 128 (SS,dB, Graphics) Vizawrite 128 (WP)

Amtech RF512C (71 clone)w/ PS Enhancer 2000 w/ PS(41 Clone) Epson FxX-85 $40.00 Okimate 10 $40.00 Okimate 20 $40.00 Okimate 20 (Centronics)

Laser 190E (Epson 9 Pin) MPS-1000 w/out Tractor

ESBS As MARCEE 50 - 5.25" DSDD Disks in Storage Case $20.00

25 - 5.25 DSDD Disks in Storage Case $12.00

1670 modem (1200 baud) $14.00 FSD-2 Drive (1541) w/ PS $50.00 MPS-1000 w/ Tractor $55.00 Okidata 120 $60.00

1701/1702 Color Monitor $79.00 Star NX-1000C $75.00 RAMLink 1MB (Rev.1) $149.00 CMD HD-100 Hard Drive $239.00

ING

Minimum total order $20.00. No product will bo held awaiting check/MO, Woe suggest payment by major Credit Card (MC/Visa/Disc./Amox) Allitems have been tested and are guarranteed to work upon delivery. CMD will warranty above merchandise for 10 days. Defects may be roturned for replacement or merchandise credit only with prior authorization, No Retunds,

Shipping Cont. US only:Printers $10.00; Drives $8,50; Monitors $20.00. All other products will be shipped based on the shipping chart found in our main ad elsewhere in this magazine.

<V

A

AASCACOCOT7A a

HD-170, 170 MB ( pec! lo HD-500, 500+ MB (Special Edition) . HD-1000, 1 GB (Special Edition) . HD-2000, 2 GB (Special Edition) .

FD-2000 (800K and 1.6 MB) .. FD Real-Time-Clock Option/Ki Box of 10, High Density Disks (1.6MB) . Box of 10, aoe Density Disks (3.2 MB) .. ; “WiifyDos

(Specily computer serial number and drive model) JittyDOS C64/SX-64 System .. . $39. JiffyDOS C-128/128-D System Additional Drive ROM's ..

$14. . $29.00

80-column Monitors (Refurb Action-Replay Cartridge

Aprotok 3-Way User Port Expander Aprotek User Port Extension Cable C-64 Computer (Refurb, w/JD) . C-64C Computer (Refurb, w/JD) C-64/64C Power Supply (Repairable) $39.00 C-64/64C Heavy Duty Power Supply (Repairable) ni 95 128-D Computer w/ Int. 1571 (Refurb, w/JD) we CAL C-128 Computer (Refurb, w/JD) ..

C-128 Computer (Refurb, w/JD, no PS) C-128 Power Supply (Repairable) Cannon BJC-4100 Color Bubble Jet Printer Commodore 1541 Disk Drives (Refurb, w/JD) Commodore 1541-1! Disk Drive (Refurb, w/JD) Commodore 1571 Disk Drive (Refurb, w/ JD) Commodore 1702 40-column Monitor (Refurb) ....... Commodore 1802 40-column Monitor (Refurb) CMD EX2+1 3-Port Cartridge Port Expander .. CMD EX 3-Port Cartridge Port Expander CMD Gamepad/Joystick Controller ...

CMD GeoCabie II Print Cable 6ft./15ft

CMD SmartMouse (1351 Compatible Mouse) .. CMD SmartTrack (1351 al Trackball) Inkwell Light Pen Model 1700 ....... . Monitor Cables CALL Mouse Pad... » $2.95 MW-350 Printer Interface (OK/8K Buffer) $49. Oays60. 00 Panasonic KXP-1150 9- “pin Printer Panasonic KXP-2023 24-pin Printe: Panasonic KXP-2135 24-pin Color Printer

. $49.95 $69.95 .. $75.00

JittyMON-64 (ML Monitor) ... The Compression Kit ‘94 (M

Collette Utilities (Handy Geos Utilities) . Desk Pack Plus

Oweoezils Greatest Hits (NewTools2,Stamp,L FONTPACK Plus

g geoFile 64/128 geoMakeBoot (Makos. Bootable copies) geoProgrammer eoPublish .... EOS 64 v2.0 GEOS 128 v2, geoSHELL V2.2 (Cu International FONTPACK ......... Perfect Print LQ for GEOS (Laser- RUN GEOS Companion RUN GEOS Power Pak | or II (Specify)

Anatomy of the 1541...

C-64 Science & Engineering ...

C128 Computer Aided Design

C128 BASIC Training Guide .........c.c00 Commodore 64 Tricks and Tips ..........000. ; GEOS Programmers Reference Guide Graphics Book for the C-64 Hitchhikers Guide to GEOS

\deas for Use on Your C-64

Printer Book for the C64 .

Mapping the C64 .

Simple Internet

Handyscenner... Pagefox.....

Video Digitizer Videotox

eee Major Credit Cards Accepted eee

L Cadpak 64 (Abacus)

| Laser Squad

RAMLInk Base Model (OMB, No RAMCard) RAMLink w/1 MB RAMCard (Special!) RAMLink w/4 MB RAMCard iepecielt) RAMCard RTC OptionKit .......00 RAMLInk Battery Back-up (Optional Parallel Cable (RAMLInk to HD) ..

> Mipr & Sound Digimaster SID Symphony Stereo Canridge Sonus 64 Sequencer, MIDI Interface, Cables . Sonus 128 Sequencer, MIDI Interface, Cables ...

Suages & Compares

BASIC 64 Compiler (Abacus) ... BASIC 128 Compiler (Abacus) . Blitz! 64 Compiler (Skyles) . Blitz! 128 Compiler (Skyles) .. Buddy 64/128 Assembler ... Cobol 64 (Abacus) ....

Fortran 64 (Abacus)

Pascal 64 (Abacus) ....

Power C 64 (Spinnaker) .

Productivity

Cadpak 128 (Abacus) Chartpak 64 (Abacus) Chartpak 128 (Abacus) . Data Manager 64 (Timeworks) .. | Paint v1.5 (128, 80-col., 64K VDC) (Living Proof) . | Port v1.54 (128, 80-col,, 64K VDC) (Living pela sis Personal Portfolio Manager (Abacus) $ Pocket Writer 1 (64) Digital Sol,).. Pocket Writer 2 (64/128) (Digital Sol.) .

Pocket Writer 3 (64 or 128) (Digital Sol

Pocket Planner 2 or Pocket Filer 2 (Digital Sol.) RUN Productivity Pak |, II, or Ill (Specify) RUN Super Starter Pak 1541 or 1581 RUN Works . i SEC Check Register 128 . SuperScript 64 (Precision) . : SuperScript 128 (Precision) .. Suberbase 64 Version 3.01 (Precision) .. Superbase 128 Version 3.01 (Precision) SwiftCale 64 (Timeworks) ..

TWS 64 w/Speller (Busy Bee) ..

TWS 128 w/Speller (Busy Bee)

TWS Modules (HD/RUllustrator) .

~ Siecommunications

Aprotek MiniModem C-24 (C= ready, 2400 ti $69 00 Aprotek MiniModem C (C= ready, 1200 baud) .. .00 Aprotek Com-Modem Adapter (for ext modem) . Aprotek Com-Modem Adapter Cable BOCA 2400 w/SwiltLink and Cable . BOCA 14,4K bps FaxModem ... BOCA 14.4K w/SwiftLink & Cable BOCA V.34 28.8K bps FaxModem .. BOCA V.34 w/SwiftLink & Cabie ..

00 Commodore 1670 Modem (1200 bau

Dialogue 128 Nova Term Version 9.6 ON DIS!

BSwiftLink RS-232 Cartridge (Up to 38.4K baud) .. SwiftLink Modem Cable (DB9-DB25) ..

Atomino Ballistix Blood Money . Chomp! Day in the Life of Prehistoric Man . Escape Route ..... Flummi’s World Heavenbound Island of the Dragon

Lazer Duel ,...... Lions of the Universe . Mainframe F Menace ..

Navy Seal

Rings of Medusa RUN C128 Funpak .... RUN C64 Gamepak ... Shoot ‘Em Up Pack (Gangster/Time Traveler) Skate or Die , Slaterman ..., The Amazing Spider-Man ,. The President Is Missing! ... The Three Stooges ........... Tie Break Tennis Total Eclipse ...... Walker ........456 Wings of Circe .....

Mastercard ¢ Visa * Discover ¢ American Express

P.O. Box 646

East Longmeadow, MA 01028

Creative Micro Designs, Inc.

Info: (413) 525-0023 Fax: (413) 525-0147

00° Supports High Speed Interfaces like

, * Supports ANSI color/graphics, VT102, and

| + SOFTWARE - CMD OTN ovaterm| =1,/

version 9.6

Join the Telecommunications Revolution... get on the Information Super Highway TODAY!

* New faster 80 column modes: Soft-80 on C-64 (enhanced scrolling w/ REU); and 25- or 28-line C-128 VDC 80-col. mode.

+ Now use any memory device as a buffer including: 17xx REU, RAMLInk partition, GeoRAM, C128 VDC, BBGRAM, and internal C64 memory,

* New text capture features:Capture text on- ine and store in any device; High-speed transfers directly into memory and now retain buffer contents with battery/power backed RAM devices such as RAMLink.

* Enhanced full featured Text editor can now load/save files from the buffer and has an integrated script compiler.

* Script language for automatic operations

* Simple BBS mode - dial-in downloading

* Supports real-time clocks in CMD devices

+ All new user's manual

Increase Speed Up to 1500% while retaining 100% compatibility

* Easy-to-use novice user configuration

* Now supports UUencode and UUdecode and converts files on disk orin a buffer. Also ASCII <> PETSCII and PETSCII to Unix,

* Protocal support; Zmodem - up/down load, resume (crash recovery), streaming to buffer; Ymodem batch, Ymodem-g; Xmodem-1k, Xmodem-1k-g(to buffer) Xmodem-CRC; Punter; Kermit; WXmodem.

SwiftLink for baud rates up to 38,400 baud

VT52 in 80 col, Plus C= color graphics and ANSI color in 40 col. All emulation

modules now load from one window.

Now Just

$29.95 (Specify 5.25" or 3.5" disk)

THE NEWS MAGAZINE FOR C-64 & 128 USERS

For more than two years, Commodore World has been keeping the C-64/128 market alive with up-to-date information from some of the brightest minds in the Commodore community. From beginner to expert, CW has something for everyone. Columns regularly cover: Programming, what's new, reviews, games, GEOS, telecom, projects and much more! Stop listening to everyone telling you what you can't do with a Commodore and see what the latest innovations can do for you!

Subscribe for only $29.95 Canada $35.95, EC Countries $45.95, Other Foreign $57.95

Shipping and Handling Charges

Continental United States UPS 2nd Noxt

AK Ground Day Day HI, PR | Canada | | | Foreign $4.50 $13.00 |

CALL | $15.00 | $5.00 | CALL $5.50 | catt | $17.00 | [seer CALL $6.50 ‘cate | $19.00 | $9.00

~ | $7.60 | s ‘cate | $28.00 | $12.00 | $10.00 CALL | $35.00 | $20.00 $15.00 | $29.00 | CALL | $40.00 | $25.00 $20.00 | CALL | CALL | $50.00 | $38.50 | UPS C.O.D. add $5.00 (US/PR only)

Policies: CMD accepts: Major Credit Cards, Money Orders, COD and Personal Checks. Personal Checks are held 3 weeks. Customer is responsible for shipping charges on refusals. Most items are stock, contact CMD for firm delivery. Returns for merchandise credit only within 30 days with prior authorization, Crodits are less shipping, handling, taxes, customs, duties, and a 10% restocking charge. No refunds or credits on opened software, All prices and spocitications are subject to change without notice

Order Subtotal

$0.01 to $19.99

$20, 00 to $29. 99

$30.00 to $59.99

$60. 00 to $149.99 $150.00 to $299.99 $300.00 to $799.99 $800.00 and up

a 3p

Stic i ricing

of d ' ) On ithe fastest, mos? aavanced storage devices md J 4 i | <F "i > o> Pa qvantanie torine ©-64 and G- 123 computer.

Power-Backed Expandable RAM-disk Drive

* Fastest possible method of storage with capacities up to 16 MB. Power and battery back-up retains data even when computer is turned off!

¢ Equipped with CMD DOS for flexibility and optimum compatibility, RAMLink can emulate multiple 1541, 1571, & 1581 disks or use CMD Native partitions.

e Ideal for use with GEOS as RAM Disk, RAM Expansion or both.

* Easily connects to cartridge/expansion port yet behaves and operates like a super-fast disk drive with built-in JiffyDOS and SWAP features.

¢ Built-in Pass-thru port for other cartridges, RAM-Port for REU's & GEORAM and Parallel port for fast access to CMD hard drives.

RL w/1MB $189 » RL

Wf 2) Wl sps)ee

Add tastsry 24 ifs 545+"

Full Featured High Density 3.5" Disk Drive

¢ The FD-2000 uses modern High Density diskettes (1.6 MB) just like Pentiums or the Power PCs. The FD-2000 is the highest capacity floppy drive available for the C-64/128 and is more compatible with existing software than the 1581!

¢ Equipped with CMD DOS for compatibility and speed, the FD-2000 also reads

FDSeries’

and writes 1581 disks, and can emulate multiple 1541 or 1571 disks.

¢ Easily connects to the serial bus just like any other drive and features JiffyDOS for greatly enhanced speed on JiffyDOS equipped computers.

e Features: SWAP 8/9 switch, Device # switches (8-15), GEOS compatibility software, FD Utilities disk and very small size (7.625"L x 4.75" W x 2.375"H).

PH-2O09 Only = DO HealSins Sloss add g404

eries.

Fast SCSI Hard Disk Drives for the C-64/128

HD Series Hard Drives are available in capacities up to 2 GB, are fully partitionable, and can emulate 1541, 1571, & 1581 disks as well as provide Native partitions which can be up to 16 MB in size and utilize MS-DOS-style subdirectories. HD's connect easily to the serial bus or to RAMLink via a high-speed parallel cable. They are many times faster than any other type of physical disk drive. Includes built-in JiffyDOS, SWAP feature and Real-Time Clock. HD’s offer superior compatibility with most commercial software including BBS, Productivity and GEOS. And with new pricing, HD Series drives offer the lowest cost per megabyte of any C64/128 storage device. Imagine... No more thumbing through endless piles of disks looking for the right one use your hard drive like a huge file cabinet to organize and store hundreds or thousands of disks. Each 40 MB holds up to 240 -1541 disks. Get yours Today!

hed 5).

40 MB Only $249°°

170 MB: 42) = jesse 4 200) MB: SISOS oes 1,000 MB CALL 4 Z000 MB 7} 2} }< eae J

* Only valid at time of RAMLink purchase.

Offers valid only in U.S. and Canada through October 31, 1996. Prices do not include shipping and handling. Pricing and spec's subject to change without notice. See our main ad for shipping prices and policies. May not be combined with any other offers.

Forgotten Worlds Capcom (available from SSI)

Heroes have it rough. They're constantly being outfitted with the barest essentials and shoved out to take on a slew of hostile aliens with little or no hope of survival, with the small comforts of the occasional weapons shop to keep them company.

That's Forgotten Worlds for you. Capcom wastes no time (the manual is barely two pages long) setting the stage for you and hurling you into the action. You, the hero, outfitted with an anti-gravity device and a photon gun, must take on Lord Bios’ swarm of alien invaders who threaten to conquer the Earth, Nobody said life would be easy...

You progress across a scrolling landscape as wave after wave of nicely detailed opponent comes at you. Your photon gun can fire in eight directions as you fly across the screen, which is a good thing, because the enemy comes from all angles. Successful kills often leave behind Zennys—coins you can collect forlater use towardimproved weaponry at the strategically located weaponry stores.

The action is fast-paced and often the enemy seems to be endless, so you may want to bring a friend who plays simultaneously. This allows for some much-needed strategy. For example, one player can cover ground enemies while the other picks off airborne targets, or one player can take on enemies that approach from the right ofthe screen (in the direction of motion) while the other covers those that attack

COMMODORE WORLD

from behind. Either way, there will be plenty to do,

You, the hero, are imbued with a great deal of energy, which is depleted by enemy fire and collisions. This energy supply can be recharged at shops, but that can get expensive quickly. You have but one life, although you havea limited number of continuation credits at your disposal.

The graphics are amazingly rich in this game, from the loading title screen onward, Unfortunately, the programmers did not cover all of their tracks and you may find the tophalfofyour character disappears ifyou venture too near the top of the screen while there is a lot of action going on. This can get a little distracting when the fleet is almost upon you.

I can’t stress enough how much better this game is with two players. The ability to aim your gun isa great one, but the control systern makes it somewhat difficult to keep your gun pointed in one direction while you move in another. Having a backup increases your odds of surviving. Even when you master the firing angles, the enemy comes from so many places it’s good to have someone to watch your back.

On the single-player mode, consider yourselfa skilled beginner ifyou can clear the first few waves of attackers without losing all of your energy. The attacks are that intense. After a while, you start to settle into a rhythm, which gets shaken up as soonastheattacksstartin from other

angles. Having another player around is a great boon in this case, and it’s not many action games that allow for cooperation, so it would be best to

take advantage of it while you can. Forgotten Worlds doesa great job ofcreatinga graphically atmospheric realm for you to do battle on, and has an excellent two-player option. Itisashame that the follow-through on the more ambitious visual effects was not very strong, and of course the control system does leave something to be desired. But Forgotten Worlds is a great space- blasting adventure in its own right. -Jason Compton

Grand Prix Circuit Accolade (available from SSI)

Have youeverclimbed behind the wheel of your car and wished you were climbing into a Formula One race car? Have you ever stopped at a red light and revved your engine for that ultimate moment whenitfinally turns green? Do you geta thrill from being the first one off the block at that same red light? Do you love the challenge ofa narrow winding road? Well, if you've answered yes to any orall ofthe above questions, you are ready for the Challenge ofthe Grand Prix Circuit.

Accolade presents the Commodore owner with the challenge of a lifetime, that of the Grand Prix Circuit, a Formula One Racing Simulation, For those of you not familiar with the Grand Prix Circuit, it is a racing tour open only

30

this sort of

to Formula One race cars. The races themselves are held on specially constructed tracks filled with challenging twists, turns, and even tunnels. The Grand Prix has strict qualifying requirements and presently there are only around 30 drivers in the entire world who have what it takes to enter this Formula One event. So as you can see, it’s a challenge few have managed to conquer. Keep this in mind as you settle down into your favorite computer chair to race in the Grand Prix Circuit.

When the game begins you are first presented with an option screen. From here you can choose to practice, partake in a single race or the championship circuit. Below these options isa difficulty level bar. There are five different levels of difficulty. The first two levels are for beginners and provide you with automatic shifting and the inability to blow an engine. Level three is the first real driving level. Here you get to shift your gears yourselfand your car begins to get damaged much more easily. In level four you begin to realize that you're not racing against your buddies but real opponents who want to win as much as you do, And finally, in level five, you meet up with the pros of the Grand Prix Circuit where anything can happen. Next you'll need to type in your name and choose the number of laps you'd like for each race. I love having the freedom to choose how many laps I want to race because this means I have the choice of playing a long or short game.

Issue 16

fam. rvifran 0 (G/\IY\35 © SL SUVULI CY rm \ i] f Lv ( O (G/a\ Leal 145 0

After you've completed these options, you're whisked away to the next screen where youget to view each of the eight different tracks of the Circuit. The tracks are located in Brazil, Monaco, Canada, Detroit, Britain, Germany, Italy, and Japan. Forthefirst time player, recommend choosing the Hockenheim-Ring in Germany. Although it presents you with a few amazing bends, it’s certainly a lot easier than the loops and tunnels of the Suzuka International Race Course in Japan.

Finally, it’s time to choose your car. There are three Formula One race cars to choose from: the Ferrari—the best of the three for the beginning player because it’s the easiest to steer; the Williams—good for the intermediate player because of its speed and braking abilities; and the McLaren—the speediest of the three and the most difficult to handle. The game displays each of the three cars on a screen of its own along with its relative statistics and features. Once you've made your decision, it’s off to the races you go!

Well now, how does the game play? As I sat in my chair I found myselfactually twisting and turning with the bends. It’s pretty realistic. The graphics are gorgeous, giving you the feeling of actually being in all of the eight different countries and the sound and music are just as good. But, the game is difficult. Even in the practice levels | found myself ruining my car for quite some time. What I finally realized is that speed isn’t everything in the Grand Prix Circuit. Sometimes due to the all the bends you'll find that you just have to take it slow. Once you've realized this, you'll find yourself actually finishing the races and then it’s finally time to try the single race. Thereal races outside of the practice

August/September 1996

races, require you to qualify before you actually partake in a race. I had no problem qualifying. I even managed to qualify for the ninth position! And just as surprising | managed tocomplete my first actual race and bein the top five! Of course this was at the easiest difficulty setting.

To rap it up, Grand Prix is what you would expect from a racing simulation. However, because it is the Grand Prix you'll find it more challenging than other games of this variety. Who knows, perhaps you could be the next Mario Andretti!

-Sherry Freedline

Death Sword Epyx (available from SSD

Death Sword is a one- or two- playersword fight simulation for the Commodore 64. A joystick is required for each player.

In Death Sword you take on the role of Gorth, a warrior prince of the Northlands. During your travels you learn of Drax, an evil sorcerer, who has seized the city’s throneand, even worse yet, imprisoned their princess with the intentions of making her

31

his future bride. Of course, being the noble, fearless warrior that you are, you decide to take on the challenge of rescuing the princess and restoring her to her rightful throne. By doing so, you will become a legendary hero and be awarded wealth and riches befitting such an accomplishment.

On side one of the Death Sword disk is a practice game. Here your companions will help you train for your battles. When you feel satisfied thatyou've become anaccomplished swordsman, flip the disk over to begin your search for Drax.

Before you can fight Drax for the

princess’ freedom, you must fight and overcome the warriors located

in the castle’s throne room, the enchanted forest, the lava pit, and then in the palace’s dungeon. If you lose, the sorcerer’s pet, Grundel—a slobbering green creature—will have you for lunch!

Allin allitsounds like a fun game. Afterreading the manual I was quite eager to play the game. I plopped the game in the disk drive, loaded it up, went to grab a drink and came back

to find a major disappointment. Death Swordis definitely nota game of commercial quality. The plot, the goal, and even the game play are all what you would expect to find in a good commercial game. However, it’sthegraphicsandsound that cause the feeling ofdisappointment. Aside from the clinking and clanging of the swords and an occasional small musical sound effect, the game is silent.

Fighting a warriorisdone through the use of your joystick. For instance by moving the joystick upward you can jump, move it in the southwest position to roll backward. Pressing thejoystick button while moving the joystick gives you additional moves suchas overhead chops, head-butts, and the web of death. The practice mode comes in handy for learning all these combinations. Despite the low quality graphics and sound, | did still enjoy the fight.

As mentioned above, the game can be played by one or two players. In the one player game there are no time restrictions involved when it comes to fighting the enemy. However, in the two player games the fights can last up to a total of ninety seconds. If you and your friend survive this time period the battle is considered won and you will regain your strength in preparation for the next battle.

So, I guess when it comes down to the option of purchasing or not purchasing this game you'll have to weigh your odds. Ifyoulike games of this nature involving a good fight, youwill probably beable to overlook the weaknesses in the graphics and sound. However, if you're simply looking fora diversion you may want to look elsewhere.

-Sherry Freedline %)

COMMODORE WORLD

The Software Manual

Programming the 65816

David Eyes and Ron Lichty; $65.00; The Western Design Center, Inc, 2166 East Brown Road, Mesa, AZ 85213; (602) 962-4545

All of the discussion surrounding the CMD SuperCPU introduction has raised questions about the 65C816S CPU that forms the heart of the CMD unit and what advantages it offers over the 6502 CPU. For those interested in learning the specifics on this new IC, help is available.

Western Design Center, manufacturer's of the CPU, offers a book designed to help answer questions concerning the WDC line of CPUs and how to develop applications on them. Titled “Programming the 65816, Including the 6502, 65C02, and 65802” is written by David Eyes and Ron Lichty, andis offered by WDC as a reference manual. Although written in 1985, the information is timely and accurate.

The book is divided into 4 main sections and contains a number of appendices. Assuming nothing about the reader's prior knowledge of the 65XX line of CPUs or programming in assembly language, the first section details concepts crucial to understanding CPU operation and software development.

Topics covered include:

- Descriptions of bits, nybbles, and bytes

- Displaying quantities in hexadecimal format - Boolean Logic

- Performing arithmetic in a CPU

- Writing programs in assembly language

With the reader having some grasp of the basics, section 2 details the architecture of the three main microprocessors described in this manual, the 6502, the 65C02, and the 65816. Many advanced readers will find the 6502 chapter of only slight importance, but inexperienced programmers will find the chapter full of important insights into the workings of the 65XX CPU line. The basic register set and status flags are described, as are the various instructions and the layout of memory. Stack operations and the

COMMODORE WORLD

stack page are also detailed. At the close of the chapter, various “bug” or quirks present in the original 6502 as designed by MOS Technologies. Most are completely accurate, although this reference, as wellas the various WDC data sheets, specifies that the NMOS decimal mode leaves important registers in unknown states. Although this might be true, information to the contrary has been presented by Commodore users. Chapter 3 details the 65C02, the CMOS 6502 designed by WDC to replace the original 6502. This chapter is very brief, describing only the 27 new opcodes available in this variant of the CPU. For advanced developers, the 65C02 brings with it the ability to branch unconditionally (BRA), as well as the ability to push and pull the index registers off the stack. (No more PLA, TAY, PLA, TAX). One section describes the advantages of the CMOS fabrication process over the NMOS process used on the 65XX CPUs used in the Commodore line of computers. Finally, the last paragraph describes the differences between the NMOS 6502 and the CMOS 65C02 CPUs. Programmers will be happy to note that the quirks of the NMOS 6502 have been fixed. However, in some ways, the 65C02 is too good. In fixing the problems in the NMOS 6502, some opcodes in the 65C02 actually execute faster. In a few instances, the extra speed might wreak some havoc, but the ending sentence in Chapter 3 claims that “this has affected little software”. For programmers eager to start developing SuperCPU native mode applications and take full advantage of the powerful 65816 should pay special attention to this book starting with Chapter 4. This chapter introduces the 65816 and the 65802 (the version of the 65816 that is pin compatible with the 6502/C02). The two “modes” (emulation and native) are discussed, as is which mode the CPU powers up in (emulation). The 65802's restrictions compared to the 65816

32

are described in passing, and the important advantages of the 65816 and 65802 are detailed. Many already know the 65816 can address up to 16 megabytes of memory directly, but few will note that stack and zero page have been widened to include all of the first 64 kilobyte bank of memory.

Detailed diagrams of the 65816 register set are illustrated, and some nomenclature specific to the 65816 is discussed in this chapter. The book shows programmers how to view the 16 megabytes in “banks”, as well as “pages”. Direct Page (the expansion of zero page) is described in some detail, and each new register is outlined with its functions detailed. Introduced in the chapteras wellisthe notion of 16 bitaccumulators and index registers. As this concept and how to utilize the resulting registers subtly affects programming choices, the books takes ample time to discuss this new feature. As programmers might guess, theexpansion of these registers affect standard 6502 opcodes, and the books describes thisas well. The 9 new addressing modes available in the 65816 are outlined, as are the 78 new opcodes available in this CPU. The remainder of this chapter describes the 65802 and howit differs from the 65816. Interestingly, this chapter closes describing how the 65816 and 65802 provide slightly better compatibility with the 6502 than the 65C02 does. The cause: The 65816/802 does notalterany timing ofany 6502 opcodes, whereas the 65C02 does.

Part 3 of this book begins the Tutorial Section. This section begins by outlining the REP and SEP opcodes, used to switch the 65816 between modes, Then, the assembler notation used throughout the tutorial section is described, Readers should beware that, although the concepts and codes presented in this tutorial are accurate, the assembler syntax and some directives used in the samples will not be familiar

Issue 16

to Commodore developers. The samples were developed on an Apple computer using an Apple assembler, so some alterations by the reader will need to be made in order to create correctly assembled samples. To give some indication of this sections importance, it occupies almost 200 pages, while the previous 2 receive only 75 pages.

Much of this tutorial information applies to all the CPU models referenced by the book’s title. However, someinformation and some addressing modes are only applicable to the 65816 and 65802. Like all machine language tutorials, this one shows how to move data around, how to use the various addressing modes on each CPU, how toalter the flow ofa program, and how to perform simple math using the CPU. Further chapters describe logic and bit operations, utilizing the complex addressing modes available on the 65816/802, how to write programs as collections of “subroutines”, and how to take advantage of “interrupts”. Veteran developers will find much of the information redundant, but new programmers may find themselves overwhelmed. I would suggest attempting the tutorial in stages.

Section 4 provides some examples of code used to perform real world work, from multiplying numbers to dividing them, An entire chapter is devoted to describing andimplementinga 65816

step and trace debugger called DEBUG 16. A final chapter in this section outlines several “gotchas” in developing applications and offers ways to alleviate or eliminate these problems.

If, perchance, you are the type who can quote hexinyoursleep, can assemble complex programs by hand or in your head in minutes, dream in binary, oris referred to by others in hushed tones as “guru” or“master programmer”, youcan safely skip to the Sth and final section. This section provides a wealth of reference materials for all. Chapter 17 describes each of the 65XX/65XXX addressing modes in detail, while Chapter 18 describes each instruction available in this line of CPUs. The final chapter, 19, lists all the instructions and which CPU can utilize each one. In addition, the complete opcode matrix table showing opcode values, instruction lengths, and execution times is presented.

With the book, two appendices are provided, The first describes each of the pins on the various CPUs discussed in the book, while the second describes some of the support ICs available for the 65XX line of CPUs. If you are electronically inclined, these chapters will prove useful when interfacing to any of the CPUs described.

Although not part of the book itself, Western Design Center includes a current set of data

specifications on one or more of its CPU line in the book’s 3 ring binder. Although the information is somewhat redundant given the content of the book, readers can use the data sheets as an additional reference to double check accuracy of the book. It can also be used asa quick programming reference, as the 571 page book can prove somewhat unwieldy to use when developing applications.

The usefulness of this book depends on your needs. If you are learning to develop 65XX applications for the Commodore computer, the size and wealth of information in this reference is overkill. In addition, the extra information on the 65816 and 65802 will simply confuse you. However, if you are gearing up to develop 65816 native mode applications for the SuperCPU or other ‘816 equipped accelerator cartridge, you can find no better reference. Although the data sheets on the ‘816 provide some information on programming the CPU, theinformation is sketchy andincomplete at best. The data sheets are meant to provide basic information, not substitute fora programmer's guide. So, before you start developing those native mode apps for the CMD SuperCPU, graba copy of this book to understand the features available to you.

-Jim Brain

CW & RUN BACK ISSUES

For years, RUN Magazine provided Commodore Users with a great source of information, and now CMD has given you Commodore World. Don't let this valuable information slip away—fill in the voids in your library now!

RUN Magazine Back Issues Any 3 issues for $12.00, any 6 for $18.00, or any 12 for only $24.00

RMJAN89 January 1989 RMJUNSO June/July 1990 RMFEB89 February 1989 RMDEC90 December 1990 RMMAY89 May 1989 RMJAN91 Jan/Feb 1991 RMJUN89 June 1989 RMJUN91 JuneJuly 1991 RMJUL89 July 1989 RMJAN92 Jan/Feb 1992 RMAUG89 August 1989 RMMAR92 March/April 1992 RMSEP89 September 1989 RMMAY92 May/June 1992 RMOCT89 October 1989 RMJUL92 July/August 1992 RMSP89 Special Issue 1989 RMSEP92 Sep/October 1992 RMJANSO January 1990 RMNOV92 Nov/December 1992 RMMAY90 May 1990

Shipping: 3-6 issues - U.S. $3.00, Canada $5.00, Foreign $15.00; 12 issues U.S. $5.00; Canada $7.00; Foreign $20.00

Commodore World Back Issues $4.95 each, or any 3 for only $12.00

Cws

Commodore World Issue 1 Commodore World Issue 9

CW2 Commodore World Issue 2 CW10 Commodore World Issue 10 CW3 Commodore World |lssue3 CW11 Commodore World Issue 11 CW4 Commodore World Issue4 CW12 Commodore World Issue 12 CW5 Commodore World Issue 5 CW13 Commodore World Issue 13 CW6 Commodore World Issue 6 CW14 Commodore World Issue 14 CW7 Commodore World Issue 7 CW15 Commodore World Issue 15

Shipping: U.S, and Canada $2.00 for first issue, plus $1.00 per additional issues,; Foreign $5.00 per issue.

TO ORDER CALL 1-800-638-3263

August/September 1996

33

INTERCORP COMMUNICATION Presents CSOFT Wares! {As Seen on Many BBS's} Digi<—>Dex Vi.

a SEQ. file reader that will read text as well as art.and supperts drive’ 8-11Jt also has many Digi-seunds which are very entertaining. $7.00 + $2.00 Sail D.S.11 Carteens” 10 of your Favorite Carteen Digi Samples en one disk with avery cas to use Menu System fer leading and playing. Great For the Kids! $3.00 + $2.60 Sail Send erders te Intercerp Communication 100 Pinegreve Pentiac,M!, 48342 Alaska, Hawil.a International add $1.80 te Sah SHELTON, WA.

CPU =

The Commodore 128/64 Power User Newsletter

CPU is a quarterly publication that for two years now has kept its readers abreast of new developements and helped those to get more out of their investments.

Sample/Back Issues: $3.50

6 Issue Subscription: $15.00 us International: $27.00 us Canada and Mexico: $21.00 us Ushering the Commodore user into the 21st Century.

P.O. BOX 1817

COMMODORE WORLD

The SvsOp's Corner

Notice of Disclaimer:

Many of the ideas and instructions used in this column are specific to a single Bulletin Board Program. Many things may work with other programs, and many may not. Some of the topics that I touch on are a direct result of over 3500 hours working with several computer configurations, and up to eight modems, Some of my ideas may not work with your configuration. Before you try any of them, be sure to check with your manual, or whomever is

providing you with customer support. Those who assisted in the background information for this column:

Andrew L. Fish, Marquette University, Michigan (list of ANSI commands)

Andrew Bernhardt, author of Does The Job BBS

Ali R. Talaie, author of Computer Acronyms, Jirst edition

Sanford Walke IV, Isthmus corp. SYSOP (provides UNIX command help)

This particular column will continue with basic instructions for use of some of the ANSI codes that you can use on your BBS to create graphics, menus and screens that will keep your users interested in what you have to offer. I know that a lot of BBSs for the Commodores use the native graphics that Commodores use, so | will just give you some of the basic ANSI commands right now, and if there are enough requests for more,

COMMODORE WORLD

by Maz Cottrell

(mcphoto@izzy.net)

then I will get into them in more detail ina future column. Before I continue, I think it's important to touch on another item.

Most of my company’s presence is on the Internet: my photography company and my newspaper publish on a daily basis there. As a result, | am a regular maven in the newsgroups. My favorite of which (ofcourse) iscomp.sys.cbm. Lately, I've noticed that BBS programs are a hotly debated topic. If you want to start a debate, mention a BBS program, then stand back. Each programmer has worked hard to create a great program, and often each one has its own features (and quirks) that sets it apart from the others. Each SYSOP, potential or running a board, has a horror story to tell.

Thereseemsto bea certain amountof difficulty in finding just the right BBS program, and when you decide which one you want, actually getting the thing to disk drive can be the hardest part of

34

getting a BBS online. After seeing a lot of ground teeth lying around the newsgroups, I have set out to find the various programmers and software distributors that deal with BBS programs. Beginning with my next column, I'll try to highlight a few.

The Fun Stuff

O.K., onto the fun stuff. We'll create a basic text file that will allow you to see some of the cool stuff that you can do with graphics and commands. One of the things that you should consider is at what modem speed the user will be logging on. Sometimes if you are doing an animation, a 2400 baud user will not see as good ofan effect asa 14.4 baud user. Likewise a 14.4 user might blink and miss a 20 frame animation.

ANSI graphics are a powerful tool that you can use to create some pretty neat things on the users screen. If you have the time and patience, you can really get some wild effects. Most of what I have done on my BBS is information based (asin no games or fun stuff) so I really have to keep hopping to keep a user's interest. The part that I like the best is the ASCII artwork that artists around the world create for BBS SYSOPs to use. I mentioned in my last column that Iam setting up my BBS to allow you, the reader, the ability to see what I am talking about online while reading about how to do them here. I also have a nice gallery of artwork. I have used most of them on my BBS at one time or another, and like them, so I am passing them along to you. Unfortunately, these things can be complicated,

Issue 16

so I won't type any of them in here. Doug is probably pretty happy about that!

Instead, if you email me, I will give you the logon instructions. I have set up the system to demonstrate how to make a menu look good to the user, and how to give the user what they want withoutasking, along with giving yousome ASCII art that will work on just about any BBS.

ANSI was designed to be used onall computers,

but has been associated with IBM computers. IBM (ora clone ) manuals come with a listing of ANSI commandsand how tousethem. But, where ANSIreally shinesisin telecommunications. You can see some pretty cool graphics on various BBSs that use ANSI. This is because of the character control that it gives you when you are using a text based telecommunications program. You can think of ANSI graphics as a poor cousin to HTML (HyperText Markup Language). The United States Government has a BBS for federal jobs listings that uses a lot of these graphics. Even on my Commodore equipped with a terminal program like Novaterm and a low budget color monitor, you can see the most advanced of them. Some BBS programs will use PETASCII graphics and not ANSI. Here's another bit of trivia for you. Ifyou have a shell account on an Internet Service Provider, the menus that they use also use ANSI commands. The whole idea behind ANSI graphics is cursor and color control. I also use ASCII art, which is keyboard characters arrainged into a picture. Some of these can be really detailed. However, they almost always require a black background and screen clears to view them properly, which is where we should start.

The Structure of ANSI

ANSI, likeany other language for computers (even though its uses are for textfiles and animation, you can consider it a language of a sort), has specific families of commands. Let’s look at color control. Here are some of the ANSI commands that are available, thanks to Mr. Fish.

How to Input the Commands

As you read my instructions on using graphics, you'll see (esc) used a lot. This means that you must use whatever code that your BBS uses for an escape sequence. This tells the computer that you are giving it a command. The BBS program that Loperate uses CTRL P (holding down the Control key and pressing the ‘P’ key at the same time), or Commodore P to tell the system that an ANSI or some other command is about to be issued. The CTRL P is part of the escape coding from MS- DOS (Microsoft DOS—if you look at your C128's 40-or 80-column start-up screen, you will see the Microsoft copyright). As we all know, Microsoft

August/September 1996

provided Commodore with some ofthe DOS that we use on our machines. IBMs will have you press the escape key to send an ANSI command. Commodore 64s don’t normally have an escape key, so only part of the command, CTRL P, or Commodore P is used. This is not true in all Commodore programs. As another example, if you were using a UNIX system (some IBM owners and most Internet providers use UNIX ora newer version called LIUNIX), the escape sequence would be CTRL V.

Cursor Control

Controlling your cursor is a very importing activity. With ANSI, youcan makeit goup, down, sideways, just as ifyou were using the cursor keys ina print statement on a Commodore. Well, you are doing this on a Commodore, you are just using a different route to get the same results. Here isa list of the cursor commands that should be available to you. Note that ‘x’ is a number.

COMMAND DESCRIPTION

[xA moves cursor up x lines,same column

[xB moves cursor down x lines, same column

[xC moves right x columns, same line

[xD movesleftx columns, same line

[xsyH moves cursor to location x,y onscreen

[xX erases spot that

cursor is on and x characters

This is not a complete listing of the text control commands. These are the ones that I have used with my system, so I know that they work. You can get some neat effects with these commands. One of the things that I do on my system when it is time for the user to input a system command (log off, download, etc.) is draw a reverse line of spaces, and then move the cursor back to the beginning of the line. When the user types in a command, the type shows up as non-reversed letters. It’s a little thing, but looks great on the screen.

Colors

The background colors are separated from foreground (text) colors by the numbered prefix in the command. The use of an ‘m’ (note that it’s a lowercase m) will tell the BBS that you are issuing a color command. The foreground is indicated by a ‘3’ and the background a ‘4.’ Here are the color commands:

35

FOREGROUND COLOR BACKROUND 30 black 40 31 red 41 32 green 42 33 yellow 43 34 blue 44 35 magenta 45 36 cyan 46 37 white 47

You can see that the last digit of the color commands are the same for both the foreground and background. Only the 3 and 4 are the different. Keep in mind that an ‘m’ is used at the end of the command. An example of this command might be: (esc)[40m. This turns the background black.

Attributes Attributes are things like reverse text, blinking and underlining.

COMMAND ATTRIBUTE {Om All attributes off {5m Blinking on

{7m Reverse on

[25m Blinking off {27m Reverse off

Clearing the Screen

When creating a menu or textfile, you need to decide whether ornot youwant toclearthescreen. If the file has a lot of text or graphics, then I usually issue a screen clear. If there are just a few lines, then I might just use a few carriage returns to separate the lines of text. An example would be ifyouhada gamethat you created. The top half of the screen can be left alone for a graphic or a menu, and using cursor commands you can just add promptsat the bottom ofthe screen, changing the picture as needed. The biggest things is whether or not the previous screen needs to be on the monitorstill. For instance, clearing the screen after letting the user see a disk directory is not a good use of this command. Clearing it for the Command input menu that your BBS uses is. Sometimes. The final decision is up to you, the SYSOP. Thisis another time where the beta tester and logging on from another computer come in handy.

You'll notice that ANSI commands are usually anescape key input, followed bya number(s) and then a letter. The letter part ofa ANSI command iscase sensitive, which is most important because an upper case J will do something different than a lower case j.

To add a screen clear toa file, we must use the command (esc)[2]. You can add a screen clear

COMMODORE WORLD

part way through the file. This can be of help if you are doing some kind of animation, or want to have multiple on screen prompts within a single textfile. The addition of the [ character is also from our old friend MS-DOS, You should note that in an animation sequence, each code should have the escape sequence, evenifthesystemallows for multiple ANSI commands. Mostly, it is for neatness of the coding, but having a single escape key sequence can sometimes have poor results. Don't ask me why, I just heard that from a UNIX guru.

So, to start our textfile, we will enter our first ANSI command!

(esc)[2J

This will clear the screen. Now, let's assume that you will be showing the user a textfile that will show them the system specifications of your BBS,

The next thing that we should do is to use a color command to make the screen background black so the the art will show up clearly.

(esc)[40m

Now we have aclear black screen. But what about the text color? How about a nice red?

(esc)[31m

There. Now we can add some specs about our BBS, Let's assume for the sake of this article that we are doing this on my BBS. You can change the text to suit your own system. I'malso going toadd some other commands that we'll talk about next, so the full listing in the sidebar, “ANSI Info Screen”. As you can see, there are a lot more commands in this little bit of text than you might think, What we just did was to reverse the text (esc)[7m and change the text colors (esc)[3#m so that what we want highlighted will be in reverse. You also have to make sure that you change the screen back to the black background, red text when you are done by using (ese)[0m (turn offall attributes) and (esc)[3. Lm after EACH series of text. To answer the question that all newcomers have to this, yes itis a lot of work. That is why you should only do the fancy stuff with files that will stay the same most of the time such as command menus, help files, etc... As far as shutting off the attributes (colors, reverse text) every time I change some aspect of the file, | do it from personal habit, not because you have to do it that way. Some will tell you to do this a little differently, but I like it because it makes sure that you have the text and background set correctly.

COMMODORE WORLD

Youwill probably gravitate toward some ANSI commands that appeal to you more than others, which is where the personality of your BBS will come to life. After all, it is how a system looks to the user, whether it is an Internet Provider running ona SUN and UNIX ora Commodore 64 running a BBS and using ANSI, that shows the world the SYSOPs personality.

So, we have cleared the screen, changed the text color, and made some parts of sentences a reversed screen. You should be able to figure out how the rest of the commands work without too much trouble. A complete list of the ANSI commands is one of the things that lam planning on putting on my BBS. All of the commands follow thesamerules and techniques forinputting them.

I'llleave youwitha description of the technique that Luse to create my files and animations. First, Ilog onto my BBS from my other computer. Then | use the editor in the BBS to create the file while

online, After each line, | test the file to see if it is working correctly. One important thing to remember about ANSI is that the commands are not seen when the file is listed. So, writing down what you are doing on a sheet of paper is pretty important. Why? Because the command is not visable on the screen once you list the file. In fact it is very important. I know, because I can forget what I coded and when I go back to change something, | forget things like the number of columns I moved the cursor. This particular edition of the SysOps Corner should have given youa pretty good idea on using these commands. ANSI can bea powerful tool ifitis used right. But in the wrong hands...

Next time, I will start with my big ‘Interview the Programmers’ project which should be entertaining to say the least. Until then, you can email me with questions, flames, input, ideas or even log on instructions.

%)

ANSI Info Screen

(esc) [27 (esc) [40m (esc) [31m

Welcome to the

(esc) [7m (esc) [36m

SySops Corner Demonstration BBS (esc) [0m (esc) [31m System specifications:

Computer: (esc) {7m (esc) [31m

Commodore C128D (esc) [0m (esc) [31m

Drives: (esc)[7m (esc) [36m

FD2000, HD-20, RamLink (4 meg) (esc) [0m (esc)31m

Modem (esc) [7m (esc) [32m

US Robotics Courier 14.4 with ASL/V.32 (esc) [Om (esc) {31m

Todays date and time:

(esc) [7m

( Today’s time and date ) (esc) [0m (esc) [31m

36

Issue 16

fi Grower's Guide to

User Groups

The President of the Tampa Commodore User Group shares his group's methads for increasing ing membership

As an old ‘die hard’ supporter of Commodore and active user group president on and off for the last ten years, I've seen Commodore go up and down and up again as we move through time. As with all things, times change, as so the struggle to survive presents itselfasa constant need to adapt. Commodoreisstill a viable machine as it was way back in 1982. Only the nature of the computer has changed. The users of Commodore are old ‘die hards’ and still a new large array of first time computer owners. I've been in contact with several other sister clubs, all experiencing the problem of loss of members. So it may be true, except for us in Tampa. Keeping abreast of changing times, we have realized that our mission as a support club has also changed. In fact, we are more important than ever. Commodore is still a hot machine, only the price has changed from in store purchase newtoused. Inmany cases the first time computer owner, happy at finally being a computer owner, suddenly realizes the support has disappeared off the open market. This, of course, is not true. The support has just moved from local stores to mail order. New programming and hardware advances has made the C64 and C128 still the best home computer, in my opinion, of anything around.

Here in Tampa, we see our mission as one to pickup the 'stragglers’. Oh yes, Commodore users are still out there, but do they know that your local Commodore support group is there? As a club, we have all the support companies on file to service new members. And we have many new members. Infact, we havetripled our membership since the institution of new policies since January 1996. And we shall quadruple or more in size before this year ends, reaching our former strength not seen since the late 80's.

Here is the six part plan we instituted:

(1) STORE FLYERS - If you have a local store available, print up some detailed in-store flyers

August/September 1996

advertising your club. This will become your main source of growth.

(2) BUSINESS CARDS - Have business cards printed up to advertise your user group. On ours, we have our club name and a few lines such as “C64 and C128 support”, “programming”, “large software libraries”, and “printer re-inking”. We also have “more information” and the phone number of the new member coordinator. These business cards can be put up on store bulliten boards, handed out to flea market dealers, at garage sales selling Commodore equipment, taped onto equipment at thrift stores and alike, and passed unto sellers of equipment advertised in local papers. These business cards are welcomed as it helps sell the Commodores being offered forsale. The first thing that thenew owner will do is to contact your club for support and information.

(3) LOCAL BBS-Ifyouhavealocal Commodore BBS in you area, align your club with it. Many times most on line users, for whatever reasons, don't participate with their local club. But here in Tampa, we have merged the two concepts together. Asa club, we even have private message bases and downloading of club owned public domain software libraries. We have also designed the club to conduct on-line business for those members unable to make a voting meeting. We pride ourselves with BBS get togethers quarterly where we litterly take over a local resturuant establishment for a Sunday noon brunch with lively conversation on the latest Commodore upgrades and software.

(4) LOCAL COMPUTER PUBLICATIONS - Local computer magazines and such are probably offerer free and distributed widely among local computer stores. Check these out for free advertisements of your user group. You may be surprised of old Commodore owners, who have lost touch and out shopping for a new system. You may be further surprised that they are more

37

interestedin upgrading their Commodore system rather than to invest more capital into a new one. Remember, you club has the listing of Commodore support no longer seen in computer stores.

(5) LOCAL NEWSPAPERS - Check out your local neighborhood newspapers for free advertising of you user group. You can get free news print under the Weekly News or Club Information sections. You may have to send weekly letters or fax the club meeting times or place to keep this kind of advertisement active.

(6) CABLE TV ACCESS - All cables companies offer a free local access channel. Your cable company may also offer a channel free of charge advertising local clubs and community events. Design a clubad and have it on the tube. We have had several contacts and new members through this kind of advertisement.

Oh yes, Commodore has changed! But so has the world and all computering. All the above ideas have worked successfully for us. Try it in your local support group. Only a few local users and no organized support, form a local group, advertise, and watch it grow. Commodore is still around. In most areas, users are unaware as to how much it has been upgraded in hardware and software. Computering is still a fun hobby in the home, with great educational and in-home business applications. The mission and life blood of Commodore users groups as we reach into the millenium is to reach out to the silent army of ‘stragglers’ and new first time owners, excited about their first affordable home computer. My words to you are “ADVERTISE AND GROW", Can you beat our club growth rate as we have experienced here in Tampa?

Jayme Rice President, Tampa Commodore Users Group

%)

COMMODORE WORLD

(arrier Detect

By Gaelyne R. Gasson

<>

TRANSFERRING FILES ON THE INTERNET WITH FTP

As Easy As FTP

A recent advert for the Internet grabbed my attention with big bold lettering: “Welcome to the smorgasbord!”. It went on to describe things they had to offer, including the ability to download files from hundreds of Internet sites via FTP. What’s FTP all about? It sounds mysterious. It uses Unix commands. It must be terribly difficult to do, right? Wrong.

What is it?

FTPing is similar to being able to view BBS download directories without the benefit of havinga program to give you the file descriptions. The basic gist of it goes something like this. First you log onto an FTP site, (usually anonymously). Then, just as you would with your Commodore computer when looking fora particular program, you move about the directories, listing them. When you find what you're looking for (or something that interests you), you send the file to your home directory on your Internet Provider. Once the files are in your home directory, youcan download it to your computer. Some FTP systems let you skip this step and download files to your computer without exiting the FTP program. That's not too difficult is it? What's that? You're worried about all the little steps between and what commands you need to use? That's understandable. | felt the same way the first time I read about FTPing. Let's walk through the process and discuss it along the way.

FTPisan acronym for “File Transfer Protocol”, and it’s a utility, not a command. Once you start it, it’s in control until you exit or quit the utility. How you go about starting a session depends on the type of Internet access you have. If you're using an Online service, or your provider has a menu, you will find FTP as a menu option, otherwise you will be usinga Unix shell. Although

COMMODORE WORLD

it may seem easier witha menu, it may be faster to use the shell instead. Another advantage of using the Unix shell is that most text and commands will match articles, such as this one, or books you read on the subject. When you FTP usinga menu, you're at the mercy of whomever wrote the menu program for the type of prompts you get. | know it’s a weird type of choice to make—no prompts at all versus prompts that might not make any sense. Welcome to the Internet. <smile>

Anonymous Logins

We're going to jump in via the plain FTP utility from a Unix shell. There are two ways to start FTP, One way is to type “ftp” on the command line, but thisisn’t very efficient since you will next be telling the utility where you want to go. One Internet site with heaps of Commodore files is cenga.uwaterloo.ca, so let’s go check it out. On the command line, type:

ftp cenga.uwaterloo.ca <return> My first attempts at FTPing were frustrating for me because the system kept telling me no such place existed. After several tries, I finally found |

was typing with dyslexic fingers, and I'd

38

transposed two characters. (I'dbeen typing “gna” instead of nga”). Once I typed the name correctly, everything worked fine. Ifyou misspell the initial address, you will find that you're already within the utility, and can tell this because your prompt will have changed to “ftp>”. From this prompt, you must tell it to “open” the site you wish to go to. For example:

open cenga.uwaterloo.ca <return>

Once you've connected, youshouldseesomething like:

Connected to cenga.uwaterloo.ca. 220 punisher FTP server (SunOS 4.1) ready. Name (hal9000.net.au:moranec):

Your Emailaddress will appear in the parenthesis, anda cursor will beapparentrightafterthe colon. Ifyoutypein yourname here, the system assumes you'rea pre-registered user of cenga.uwaterloo.ca and will expect areal password. Instead, type the word “anonymous” and press return. You'll be prompted for the password:

331 Guest login ok, send ident as password. Password:

Translated to English, “send ident as password” means “type your Email address for your password”. As you type, you'll notice that you can't see what you're typing, as it doesn’t “echo” your password. So type carefully. If you define a macro in your term program with your Email address you can enter this very quickly without errors.

If you mistype “anonymous” or your Email address, you may be able to continuewith logging in by typing “user anonymous” and pressing

Issue 16

return, This doesn’t always work with every Internet site, but is worth trying, If you've made a typing mistake, it’s possible that the remote system (in this case, cenga.uwaterloo.ca) might “close the connection” and you find yourself looking at the FTP prompt on your own system. Don't panic. Try again, but type more carefully or define macros in your term program to do the typing for you.

On slow systems, itcan be along time between typing a command and something happening. Have patience. Don't keep pressing keys, that will only make it more confusing for you. Once you've successfully logged in, you'll see:

230 Guest login ok, access restrictions apply. ftp>

Your cursor will be next to the “ftp>” prompt.

Moving Around and Seeing the Sites

From here you use Unix commands to navigate. You'll have to move to the area where the Commodorefilesare held. On ccnga.uwaterloo.ca you'll want to move to the /pub/cbm directory. The command to change directories is the same as you use on your Unix account: the ed (change directory) command. Type:

cd /pub/cbm

Unlike Unix, when you send a command that works the FTP utility returns a message such as:

250 CWD command successful. or 200 PORT command successful.

After changing directories you'll want to look at what's in it so you can decide what goodies to download. This is where FTP takes a different turn from Unix, as you can type “dir” and press return OR use the Unix commands:

“Is” or “Is-al” (see Example 1).

This list is abbreviated to save space. In fact, it’s solong, it will scroll offyour screen! You can send a command that will show the directory and “page” it to the screen, so you can use the space bar to scroll each screen. The command is:

“Is -l more” Addthis to your term program’s macros and you can hit the macro key instead of typing it each

time you need it. A similar command is “Is -C”, this will show you the files and directory names in

August/September 1996

multiple columns but you won't have the added information about each file. To stop a paged listing so you can send other commands while seeing a filename, press the CTRL and ‘c’ keys simultaneously.

Speaking of info, just what ARE we looking at? Thisisa Unix directory listing. Working from left to right, the left-most column shows the permissions” for each file and directory. If the very first column has a letter “d” in it, that entry is another directory. In the above example, there are two files, and the rest are directories. The next column relates to the something called the “link count”, and we can ignore it. Most Commodore users who do much telecommunications will recognize the name shown in the third column. Craig Bruce is the administrator for this site, and he is the owner of the files and directories. In other FTP directories on cenga.uwaterloo.ca, you will see “ftp” or “nobody” in this column. Just after this you'll see the size of the file or directory in bytes. The date displayed shows when the file or directory was last modified. This can be useful if you're planning to use FTP to stay up to date with the files. Many people check the INCOMING directory daily, and check the date shown next to

the directory name to see when new files have been uploaded. The last itemis the file or directory name. This is Unix, so the filenames are case sensitive, Type the filenames as they appear in the listing.

The first file in the directory is “QOREADME”, You can read this by typing: “more 0OREADME”, It will display one screen at a time, and you use the space bar to see the next. Any text file can be read this way, which is useful for reading file descriptions, or the rules for using an FTP site.

Let’s check out the INCOMING directory and see what's new. To do this, we move to the directory with the cd command we used earlier. Type: “cd INCOMING”. Use the “Is -] Imore” command to list the directory (see Example 2). Here you see the same names as were in the main /pub/cbm directory. To save himself time, Craig set this area up so those who upload files can put them in the appropriate INCOMING directory. This way, after he’s checked the files, he can move them to the directories that fit the file category. In other words, this is a temporary holding place for files.

EXAMPLE 1 200 PORT command successful. -Yw-r-r— 1 ecsbruce 5331 Apr 25 1994 OOREBADME drwxr-xr-x 21 csbruce 512 Nov 6 19:38 INCOMING Grwxr-xr-x 3 csbruce 1024 Nov 6 19:55 archivers -Yw-r-r—- 1 csbruce 2048 Nov 6 22:41 ls-1R drwxr-xr-x 4 csbruce 1024 Jun 15 21:28 telecomm drwxr-xr-x 4 csbruce 1024 dul 26 20:42 utill28 rwxr=xr-x 5 csbruce 1536 Nov 6 22:2 util64 drwxr-xr-x 2 csbruce 1024 Nov 6 22:25 vico-20 EXAMPLE 2 INCOMING: total 25 =rw-r-r- 1 csbruce 2145 Oct 22 18:23 QOREADME Grwxrwxrwx 2 csbruce 512 Nov 6 19: archivers drwxrwxrwx 2 csbruce 512 Dec 25 05:15 telecomm drwxrwxrwx 2 csbruce 512 Jan 1 13342 unix Grwxrwxrwx 2 csbruce 512 Feb 6 18:29 uctili238 drwxrwxrwx 2 csbruce 512 Feb 3 09:37 util6ea drwxrwxrwx 2 csbruce 512 Nov 6 22:25 vic-20 EXAMPLE 3 cd telecomm dir INCOMING/telecomm: : -rw-rY-r—- 1 csbruce 47872 Sep 16 01:42 des200-1.stx -rw-r-I1- 1 csbruce 28160 Sep 16 01:43 des200-2.sfix -Yw-r-r— 1 csbruce 43776 Sep 16 01:44 des200-3.sfx -rw-r—r— Lt csbruce 20736 Sep 16 01:45 des200-4.sfx -rw-r—-r— 1 csbruce 32768 Dec 25 05:37 wavedemo.sfx -Yw-Y—r— 1 csbruce 366 Dec 25 05:37 wavedemo.txt 39 COMMODORE WORLD

Let's check out the INCOMING/telecomm directory. First we change to the directory with the cd command, then we list it (see Example 3).

Again, this directory has been shortened and changed for demonstration purposes. Someone uploaded the demo of Maurice Randall’s “The Wave” terminal program on Christmas—and it has a readme type file. You can find out what it's all about by typing: “more wavedemo.txt”.

Now that we've found the files we want, let's grab them, and I'll show the different commands used when getting a text and binary file.

Getting Files

FTP uses different protocols when sending text or binary files, so you must tell it which one to use whenever you get files. Send the command: “ascii”. You'll see a message that says “200 Type set to A”, (The A is for ASCII). Type: “get wavedemo.txt”, and the system will respond that it’s opening an ASCII transfer. You won't see much until it finishes the job, but since the text file is only 366 bytes, it won't take very long at all and you'll see something like:

local: wavedemo.txt remote: wavedemo.txt 200 PORT command successful.

150 Opening ASCII mode data connection for wavedemo.txt (366 bytes).

When finished, it will show:

226 Transfer complete. 376 bytes received in 0.18 seconds (2.1 Kbytes/s)

Nowwe'reready to get the SFX file. Type: “binary” and press return. This time the message you'll see is “Type set to 1”. The ‘I’ stands for “image”. | know, it seems like it should say “Type set to B” (as in Binary), but this is Unix where not everything appears to make sense. Type: “get wavedemo.sfx” and you'll get a message that it's openinga binary transfer, andaftera few minutes you'll get a message back similar to the one above.

You can’t hurt an ASCII file by transferring it as binary, but you WILL have problems if you transfer a binary file using the ASCII protocol. Always remember to set the type to binary before transferring a program or other binary file. How do you know the difference between binary and ASCII? Binary files are any that you would load and run, such as programs or any files that are archived. ASCII files are text files and usually end with the letters “.txt’ or..‘doc’, or they have names that are dead give-aways like “README”.

What if you want to get several files at once? Easy. We can use the mget command (the ‘m’

means “multi”) and a wildcard. For instance, if

you want the Desterm files shown above, you would start by typing “binary”, then “mget

FTP COMMANDS

Start an FTP session Login as

Send ident as password Change directories

ftp <sitename> or ncftp <sitename> anonymous

your Email address

cd <dirname> or <dirpath>

View directory dir Is Is-al w/paging Is -l more columns & paging Is -C

Stop dir list CTRL-c

Read textfile more <filename>

Set transfer to ASCII ascii

Set transfer to Binary binary

Suppress prompt toggle prompt

Show progress

Get one file

Get multiple files

Put file on FTP site

Put multiple files on site Quit FTP utility

Download using Zmodem: Download using Ymodem: Download using Xmodem: Delete files after download

COMMODORE WORLD

# (hashmark or American pound symbol) get <filename>

mget <filenam*> or mget <file1 file2>

put <filename>

mput <filename>

quit, exit or control c.

sz <filename(s)>

sb <filename(s)>

xb <filename>

rm <filename>

40

des200*”, Before transferring each file you'll be asked “mget des200-1.sfx?”. Answer each prompt with the letter ‘y’ for yes or‘n’ for no (ifit displays a file you don’t want to transfer).

Once you're experienced with using Unix wildcards you probably won't want to baby-sit the process and answer prompts for each file. To avoid this before using “mget”, use another command called “prompt”. This will turn off the questionsand thefiles will be transferred without any stops between each file. Another useful command is the hash mark (#). The hash lets you see what's happening as the files are transferred. If you give this command prior to beginning a transfer, you'll have something to watch, and an indication the system is indeed doing something. Both prompt and the hash are toggle commands —you turn them on and off by using the same command, You need only use these once during asession, For example, ifyou're downloading the above files and wish to turn off the prompts and have it display information during the transfer, you would type:

prompt

+ a

binary mget des200*

Sometimes getting files via FTP can be extremely fast and efficient. Other times it can be a slow process. This depends on the speed of your Internet providerand how many usersare online, along with the FTP sites’ speed, and how many other users areaccessingit. Also, alot depends on WHERE youareFTPing to. It's best, ifpossible, to use FTP sites thatarenearertoyou geographically, as thereisa noticeable lag time when transferring files from one side of the world to the other.

We'redonewith using the FTP utility so wecan exit it with the “quit” command. Wait a minute