@(#)top: ######## ################## ###### ###### ##### ##### #### #### ## ##### #### #### #### #### #### ##### ##### ## ## #### ## ## ## ### ## #### ## ## ## ##### ######## ## ## ## ##### ## ## ## ## ## ##### ## ## ######## ## ## ## ### ## ## #### ## ## ##### #### #### #### #### ##### #### #### #### #### #### ###### ##### ## ###### ###### Issue #13 ################## Version 1.0 ######## July 1996 ------------------------------------------------------------------------- @(#)contents: Table of Contents Features 6. OS/A65: A Multitasking Operating System by Andre Fachat (Reference: os) Just when you thought it was safe to run a single program on your Commodore 64, Andre ups the ante and details a framework that allows you to coax your machine to do multiple things at once. If one app was trouble enough, try taming two or more at a time! 8. Using UQWK with QWKRR128 by Gaelyne Moranec (Reference: uqwk) After years of using QWKRR128 to read BBS email and FIDO echoes, you want to access the Internet as well. Does that mean you'll have to shelve QWKRR128? No way! Gaelyne details how to use a UNIX program called UQWK to package up USENET newsgroups and Internet electronic mail for offline perusal by QWKR128. 10. Brad Templeton: The Programmer's Friend - An Interview by Jim Lawless (Reference: pal) Templeton, the originator of the PAL assembler and a driving force in programmer aids in the late 70's and early 80's, reflects on those early years, where programmer tools were pretty spartan. Travel in time with Brad to an era where IBM specialized in mainframes, and proprietary schemes were commonplace. 12. Hacking Graphics by Stephen Judd (Reference: demo) We've talked about 2D graphics, and we've talked about 3D graphics. So now it's time to talk about 4D graphics. This article will explain how to do just that, and includes source and binaries for dim4, an entry in the recent 4k demo contest held by Driven magazine. 13. Exploiting the 65C816S CPU by Jim Brain (Reference: cpu) So, the eagerly anticipated accelerator from CMD is becoming available. Sure it's fast, and it'll boost speeds in existing applications. However, you know users won't be content for long. Learn how to take advantage of the extra addressing modes and wider CPU registers when you flip the '816 into Native mode. In addition, Jim will detail the preliminary set of "magic" memory locations in the CMD SuperCPU. 14. Using HTML on the Commodore, Part 1 by Jim Brain (Reference: html) Your IBM friends are drooling over the World Wide Web and its markup language: HyperText Markup Language (HTML). Are you worried your CBM machine might not be able to handle HTML? Worry no more. Jim will teach you the HTML language and how it can be used on the Commodore system. In part 1, Jim details the language and its elements and lays the ground work for a Commodore HTML parsing engine. Columns 4. Hi Tech Trickery by Alan Jones (Reference: trick) Here's the proof you need to kill off the persistent myth that 8-bitters can't cut the mustard in complex computations. Alan lays some groundwork and details a few tricks in stretching those 8-bits to the limit and beyond. 15. Hacking Graphics by Todd Elliott (Reference: gfx) So you have created the world's nastiest dungeon engine for your torture chamber of a game. Don't forget the presentation. Todd shows how to create a 3-dimensional scene that will bring your dungeon to life. This will give your unsuspecting victim the most realistic gameplay possible. Departments 1. The (cough, cough) Hacking Editor (Reference: editor) 2. Input/Output (Reference: io) 3. Newsfront (Reference: news) 5. Hacking the Mags (Reference: mags) 7. UseNuggets (Reference: usenet) 9. FIDO's Nuggets (Reference: fido) 11. Hack Surfing (Reference: surf) 16. Commodore Trivia (Reference: trivia) 17. ? DS, DS$: rem The Error Channel (Reference: error) 18. The Next Hack (Reference: next) 19. Hacking the Code (Reference: code) ------------------------------------------------------------------------- @(#)legal: Commodore Hacking Legal Notice Commodore and the respective Commodore product names are trademarks or registered trademarks of ESCOM GmbH. Commodore Hacking is in no way affiliated with ESCOM GmbH, owners of said trademarks. Commodore Hacking is published 4 times yearly by: Brain Innovations Inc. 10710 Bruhn Avenue Bennington, NE 68007 The magazine is published on on-line networks free of charge, and a nominal fee is charged for alternate mediums of transmission. Permission is granted to re-distribute this "net-magazine" or "e-zine" in its entirety for non-profit use. A charge of no more than US$5.00 may be charged by redistribution parties to cover printed duplication and no more than US$10.00 for other types of duplication to cover duplication and media costs for this publication. If this publications is included in a for-profit compilation, this publication must be alternately available separately or as part of a non-profit compilation. This publication, in regards to its specific ordering and compilations of various elements, is copyright (c) 1995-96 by Brain Innovations, Incorporated, unless otherwise noted. Each work in this publication retains any and all copyrights pertaining to the individual work's contents. For redistribution rights to individual works, please contact the author of said work or Brain Innovations, Inc. Brain Innovations, Inc. assumes no responsibility for errors or omissions in editorial, article, or program listing content. ------------------------------------------------------------------------- @(#)info: Commodore Hacking Information Commodore Hacking is published via the Internet 4 times yearly, and is presented in both ISO-8859-1 and HTML versions. This and previous issues can be found at the Commodore Hacking Home Page (http://www.msen.com/~brain/chacking/), as well as via FTP (ftp://ccnga.uwaterloo.ca/pub/cbm/hacking.mag/) In addition, the Commodore Hacking mail server can be used to retrieve each issue. To request a copy of an issue, please send the following electronic mail message: To: brain@mail.msen.com Subject: MAILSERV Body of Message: help catalog send c=hacking13.txt quit To retrieve a PKZIP 1.01 archive of the individual articles in Commodore Hacking, request the file c=hacking13.zip To subscribe to the Commodore Hacking and receive new issues as they are published, add the following command to you MAILSERV message prior to the quit command: subscribe c=hacking Firstname Lastname msglen (msglen is largest size of email message in line you can receive. Each line is roughly 50 characters, so 600 lines is about 30000 bytes. When in doubt, choose 600) example: subscribe c=hacking Jim Brain 600 Although no fee is charged for this magazine, donations are gladly accepted from corporate and individual concerns. All moneys will be used to defray any administrative costs, subscribe to publications for review, and compensate the individual authors contributing to this issue. New: As part of a magazine promotion, Commodore Hacking Issue #12 was professionally laid out on printed format. These printed copies are for sale for US$6.00. Price includes shipping within the US. Any persons wishing to author articles for inclusion in Commodore Hacking are encouraged to view the submission guidelines on the WWW (http://www.msen.com/~brain/pub/c-hacking-submit.txt) or via the MAILSERV server (send c-hacking-submit.txt). ========================================================================= @(#)rch: Reading C=Hacking Starting with Issue 11 of Commodore Hacking, the new QuickFind indexing system is utilized to aid readers of the text version in navigating the magazine. At the top of each article or other important place in the magazine, a word prefixed with a special string is present. (See the title of this article for an example. Throughout the magazine, if an article is mentioned, it will be followed by a reference string. For example, if we mentioned this article, we would add (Reference: rch) after the name. By using your favorite editor's search function and searching for the string after the word "Reference:", prefixed by the magic prefix string, will move you directly to the article of choice. To merely skip to the next article in the magazine, search only for the magic prefix string. Some handy indexing strings possibly not referenced anywhere are: top top of issue bottom bottom of issue contents table of contents legal legal notice For those with access to a UNIX system, the command "what" can be run on the issue, which will result in all the article titles being printed. A slightly different magic prefix string "@(A)" is used to delimit sub-topics or main heading in articles. The text after the magic string differs depending on article content. For the Input/Output column (Reference: io), the text after the magic prefix will either be "c" for comment, or "r" for response. In features and columns, a number after the prefix indicates the ordinal of that heading or sub-topic in the article. If a specific sub-topic is referenced elsewhere in the article, a sub-topic reference will be indicated. A reference to "@(A)r" would be written as "(SubRef: r)". As time goes on, the role of this indexing system will be expanded and changed to ease navigation of the text version, but minimize the clutter added by these extra items. ========================================================================= @(#)editor: The Hacking Editor by Jim Brain (j.brain@ieee.org) I recently had to choose between my interest in Commodore computers and something else. To many, the choice was clear. Many assured me that hobbies were important, but they simply had to take a back seat when other pressing issues came up. I'll admit that the decision was hard to make. I find that strange, do you? I mean, seriously, it's just an outdated, underpowered, orphaned, incompatible, proprietary, obsolete, 8-bit computer system. Why would I even consider that important? If you can explain that to me, then you are a true Commodore enthusiast as well. We are all bound together by the immense "pull" of these systems. We don't just "own" them, we treat them like part of the family. We buy toys for them, we help them grow, we accept their limitations, we spend hours with them, and we know everything about them. Although we might have younger and faster family members, we cherish our Commodore. No person or thing could convince us to trade in our familiar family member for a newer, shinier model. As I think of it this way, it seems a bit scary, doesn't it. Not to leave you in suspense, the "something else" I alluded to above was a new employment opportunity and the subsequent relocation of myself and my family. Even as strong as my feelings are for my beloved machine, I decided that my family came first. Hobbies, no matter how important, are not quite as important. I announced my decision to others who have similar "family members" in their homes, and I pulled the plug on my hobby. Now, I don't consider myself that important in the scheme of things, but I did underestimate the consequences of my decision. As friends and I tallied up what resources would be unavailable as I left, the amount grew sizable. Luckily, just as with all situations, friends stepped forward to help and keep information from becoming unavailable. Others simply provided moral support and all offered the precious gift of patience while I turned to matters at hand. I consider myself lucky that so many offered so much to make the situation more tolerable. For reasons unknown to me, it bothered me greatly that deadlines would be missed, pieces of information would go unpublished, important updates would not be updated, and information seekers would find nothing but unanswered questions. Although I knew better, I felt I had deserted the people who depended on me. It's amazing how wrapped up in this I have become. As you may have guessed, one of the most disturbing resources that was left unfinished was this issue of Commodore Hacking. Although originally scheduled for publication in mid-June, I regretfully shelved it and spent what little time that remained in preparing for a move. Luckily, the move is over, and you now hold the newest issue of this publication. With this newest issue comes some notes. My wife, Julie, has graciously agreed to offer her services as assistant editor. This will free some of my time to write articles and concentrate on technical article editing. In our quest to find capable writers to author the columns found in each issue, Geoffrey Welsh is now writing "FIDO's Nuggets". We encourage others to help out in this way. Finally, due to the delay in publishing this issue and the length of some submissions, this issue is far larger than our maximum desired size. We apologize for those who will find the excessive size a problem, but the timeliness of the articles and the sheer volume of current events information prevented reduction in size. We will return to a more manageable size by next issue. As well, we created a professionally laid out and printed version of Commodore Hacking Issue #12. If you would like one of these copies, please see "Commodore Hacking Information" (Reference: info) for more information. Enjoy YOUR magazine, Jim Brain (j.brain@ieee.org) editor ========================================================================= @(#)io: Input/Output Obviously, Commodore Hacking depends on the comments and article submissions from the Commodore community to flourish. Everyone sees the articles, but let's not forget those comments. They are very helpful, and every attempt is made to address concerns in them. Address any comments, concerns, or suggestions to: Commodore Hacking 10710 Bruhn Avenue Bennington, NE 68007 j.brain@ieee.org (Internet) @(A)c: So, You Think You're Fast Enough, Eh? From: Ralph Mason Dear C=Hacking, Keep up the good work with C=Hacking. I was just reading your article about the Super CPU and thought I would add my 2p worth. You noted that the SuperCPU appeared to be 21.79 times faster but attributed this to the VIC chip stealing cycles. I think this is only part of the story (the smaller part). I think the most cycles are likely to be lost or gained due to the jiffy interrupt routine. The standard 64 executed this routine 660 times and scanned the keyboard etc. during it's count from 1 to 10000. The SuperCPU only executed this code 31 times. Far more of its cycle was spent actually doing work. I think if you could turn off these interrupts you would find that the SuperCPU is actually running short of the 20 times faster than it appears to be showing. It's almost stooping to silly IBM style Norton SI numbers or other useless benchmarks. These will never show the true story. From what I've read, I'd guess (user's will see) a real world speed enhancement running real application of around 400%, more or less depending on the app. Cheers, -Ralph Mason @(A)r: Jim Brain replies, Ralph, after reading your explanation, I think you are correct in stating that the bulk of the time saved on a 20 MHz unit is indeed due to the fewer interrupts it must service in a given time frame. However, since we can rarely turn off the 60 cycle interrupt, the effective speed is what people will notice. Also, while I think you are correct on this discussion waxing philosophic, I believe most users should see more than 400% increase in applications. Of course, YMMV (Your Mileage May Vary). @(A)c: A Round of Ice Water for the Editors From: drankin@crashb.megalith.miami.fl.us (Dave Rankin) Thank you for all your efforts and putting out this Mag. I and many others do enjoy seeing all this activity for the 8 bit Commodore. Dave @(A)r: Thanks for the letter. We always enjoy knowing that the hours we spend producing this magazine are appreciated by those in the community that read it. @(A)c: There's Nothing Like the Real Thing, Baby(tm) From: cjbr@gonix.gonix.com (Jim Lawless) Dear C=Hacking, Just wanted to express my enthusiasm for your electronic publication and hope to make regular contributions in the coming months. I was a C64 hacker from '84 until about '87 when I progressed throughout the Amiga and into the PeeCee world. I found out about the C64 emulators for MS-DOS/Windows...etc. and downloaded one this morning. It was a great feeling seeing the '64 startup screen again! My wife expressed some curiosity seeing a pile of old Transactor magazines next to the recliner today. I told her how excited I was about the emulator. This evening, she returned from a church auction with a C128, a 1541, a 1650 modem, a westridge mode, and a bundle of software all for $30.00. I guess it's time to get back to my roots and have some fun! Jim Lawless, cjbr@gonix.com @(A)r: We appreciate the thanks. In addition, we always encourage Commodore enthusiasts to submit articles to the magazine. However, we are most grateful that you have come home again. While emulators have their downside, we have noticed that many who download one end up buying a real machine and rediscover the simple elegance of the Commodore computer. We applaud you for your choice. @(A)c: Copy Rights! From: EricJ1@aol.com I'll make this short and sweet. But, I have to tell you, I love C= Hacking. I'd like to post this as a public bulletin on my BBS if it is not a problem. Thanks Eric @(A)r: We encourage redistribution of Commodore Hacking for non-profit means. Simply read the guidelines in the issue's legal statement (Reference: legal). As long as the conditions in that guide are met, we would love to see C=H spread throughout the Commodore community. ========================================================================= @(#)news: Newsfront @(A): ACE Release #15 ACE-15 Programmer's Reference Guide For those of you who have taken advantage of the Advanced Computing Environment (ACE) operating system written by Craig Bruce, Craig has published the programmer's reference guide for Release #15 of this popular application environment. It is available in the following locations: ftp://ccnga.uwaterloo.ca/pub/cbm/os/ace/ace15-prg.doc http://ccnga.uwaterloo.ca/~csbruce/mycommie.html If you haven't used ACE before, you should give it a try. @(A): Unscientific Study Proves Commodore Computers are Preferred! It seems that as homely as some may think the Commodore computers are, children warm up to them very quickly. In fact, the machines are chosen over more expensive machines, as the following stories attest: James Grubic (grubic@avicom.net) wrote: One of the teachers in the school I'm based in actually enjoys using the older computer systems like the Apple IIe, and her students are truly excited about using them. The other day, I gave them a 64c to use, and they were blown away! If you could just see it...a whole gang of youngsters gathered around the C64, waiting for their turn at Jupiter lander...almost brought tears to my eyes. Needless to say, I'll be arranging for them to get another one. And Bob Masse followed up with: I am not surprised. My little nine year old nephew has a brand new pentium beast with all the goodies, and he is scared to be in his room alone with it when it is on! On the other hand when He comes over to his Uncle Bob's house he has a tantrum to use this old Commodore. Bob kh6zv9@pe.net So, once again, bigger is not always better! @(A): Assembly '96 Is Coming! Have you ever been to a "demo party"? Well, if not, you are missing one of the staples of the Commodore scene since the beginning of the reign of the Commodore computer. Assembly is one such party held in Helsinki, Finland. In case you aren't aware, demo parties are where demo programmers, computer graphics artists, and computer music artists gather to compete for prizes. Assembly '96 holds parallel competitions for PC, Amiga, and C64 computer systems. Assembly '96 is to be held August 16 to 18 in the Helsinki Fair Center, Rautatielaisenkatu 3, Finland. Tickets are available for US$50.00. If you are in the vicinity, you should stop by and peruse the 1996 Commodore 64 entries. If, however, you would like to compete in the Commodore 64 class, please read the rules and information packet at: http://stekt.oulu.fi/~mysti/the_sharks/ Prizes of cash are to be awarded to 1st, 2nd, and 3rd place winners in the demo, graphics, and music categories. For more information, you can contact the organizers via the following ways: Voice: ASSEMBLY Org. +358-0-777 3741 WWW: http://www.assembly.org/assembly96 E-mail: assembly@assembly.org IRC: #asm96 Normal mail: ASSEMBLY '96 Lakkisepantie 13 00620 Helsinki FINLAND @(A): Where in the world is Novaterm 9.6 (NovaRom)? Late last year, Nick Rossi informed the Commodore community that he was developing a new version of his popular 64 terminal emulation software, Novaterm 9.6. However, Nick stated that 9.6 would be marketed as a commercial product, not as a shareware offering as in previous versions. Well, as with all announcements, speculation as to what the new version would include filled up the communication channels for quite a while. Then, in early 1996, the news that Novaterm 9.6 was to be marketed on CARTRIDGE surfaced. Nick cited concerns over piracy and ease of use in deciding to try the cartridge route. Users who asked were told that Novaterm (NovaRom by some accounts) would ONLY be offered as a cartridge. Performance Peripherals Inc. (PPI) was chosen to manufacture and market the new version. Tentative offering included the basic cartridge and an option that included PPI's CommPort Swiftlink-compatible cartridge and a PPI 3 slot cartridge expansion unit. Since creating a cartridge requires a higher level of code robustness, delays in the introduction generated reports that Nick was having trouble getting the code to a ROMable state. Other reports mentioned that PPI status as a part time endeavor was the reason for the delays. Whatever the reason, the following announcement was made by Nick Rossi concerning Novaterm 9.6 on July 5, 1996. Contrary to earlier reports, the software will be available on disk format only and will be initially be marketed directly through Nick Rossi: NOVATERM 9.6 ------------ Bring the telecommunications revolution to your Commodore 64. After many delays and headaches, I'm excited to finally announce the release of Novaterm 9.6! Novaterm 9.6 is available ON DISK, in either 1541 or 1581 format. It comes with a 90-page user's manual. The price for the disk and manual is US$29.95. ORDERING INFORMATION Send check or money order for US$29.95 to: Nick Rossi 10002 Aurora Ave. N. #3353 Seattle, WA 98133 U.S.A. INTERNET CONTACTS Check out the Novaterm 9.6 web site for more information: http://www.eskimo.com/~voyager/novaterm.html My e-mail address is voyager@eskimo.com. NOVATERM 9.6 FEATURES Novaterm 9.6 supports the following new features: * Zmodem upload, download, auto-download, and crash recovery. Also supports streaming mode with the buffer. * Ymodem-g and Xmodem-1k-g streaming protocols with the buffer. * Use any RAM expansion device as the buffer: REU, BBGRam, GEORam, RAMLink or RAMDrive partition, C128 VDC memory. * "Buffer recovery" feature retains contents of the buffer between Novaterm sessions as long as the memory device does not lose power or get overwritten. * Text editor can read and write files directly from the buffer. * Supports the SwiftLink, CommPort, HART cartridge, and Daniel Dallmann's 9600 bps user port enhancement (see http://rpool1.rus.uni-stuttgart.de/~etk10217/proj.html). * Supports the C128's fast-mode 80-column screen in terminal mode (25, 28, 43, and 50 line modes available). * C64 80-column emulation features "scroll-ahead" for better scrolling performance. Optionally supports a fast scroll if you have an REU. * Built-in ASCII translation and UUencode/decode options * Built-in 80-column file viewer * Reads real-time clock devices (BBRTC, CMD drives) for terminal mode clock display * Single-menu loading of terminal emulations (finally!) * A step-by-step user-friendly configuration utility Novaterm 9.6 still supports the basic feature set: * Terminal emulations: ANSI graphics, VT100/102, VT52, Standard, and Commodore graphics in 40 or 80 column mode * Protocols: Zmodem, Ymodem batch, Ymodem-g, Xmodem-1k, Xmodem-1k-g, Xmodem-CRC, WXmodem, Kermit, Punter, Multi-Punter * Hardware flow control for high-speed modems * Script language for automatic operation * Multiple 19-entry phone books * 16 user-definable macro keys * Miniature BBS module / answering service * Text editor utility with integrated script compiler * ASCII table editor and Font editor utility I could keep going, but you get the idea! Novaterm 9.6 supports all of the standard features from previous versions, but its capabilities have been greatly expanded. Thanks for all the support and suggestions -- the new version finally made it! @(A): BBS Magazine dead, Long Live Some Trees Gaelyne Moranec, writer of articles for magazines such as Commodore Hacking (Reference: uqwk), Commodore World, and BBS Magazine, reports that BBS Magazine is no longer. Cited as a magazine for BBS operators and users, the magazine contained a monthly series by Moranec on Commodore BBS users and systems. Being one of the few magazines not Commodore specific to cover Commodore content, its demise is sad indeed. Evidently, the magazine continued on for one issue as _BBS.NET_ but has not been published since. Some of the writers for BBS will be given space in a new magazine to take the place of BBS, but the focus will be on sysops and sysadmins. Gaelyne hopes the new magazine will allow her to continue to write, but she is somewhat doubtful of the prospect. @(A): Hide the Wolf PC: Little Red Reader-128 2.5 released! Craig Bruce has released version 2.5 of Little Red Reader-128, the popular freeware utility that allows Commodore 128 owners with 1571, 1581, or CMD FD drives to read IBM PC disks. Features available in the new release include: * miscellaneous bug fixes * date support for reading and writing files * counts of bytes of files in a directory * remove Commodore files The program is available from the following locations: ftp://ccnga.uwaterloo.ca/pub/cbm/util128/lrr25.uua (uuencoded archive) lrr25.doc (documentation) lrr25.asm (assembly source) http://ccnga.uwaterloo.ca/~csbruce/mycommie.html @(A): Basement Boys Software Demise The geoClub UK newsletter reports that Commodore software developer and distributor Basement Boys Software has ceased operation. Fortunately, Basement Boys Software completed all paid orders and settled all reported business before closing its doors. While we regret the closing due to "lack of support", we are impressed with the ethical methods of doing so. @(A): LOADSTAR LETTER Going Subscription As reported in "Hacking the Mags" (Referen