Skip to main content

computist scan 22

  • PublicationApple Periodicals
  • Pages36
  • Sourcecomputist-scan-22.pdf
← Magazines computist scan 22
/ 36
Source: Internet Archive — Aggregated Apple-era periodicals, 1981–2012.
Page 1
Loading…
Text content (OCR)
For The Serious User Of Apple ][ Computers Hardcore COM PUTIST Issue No. 22 $3.75 Softkeys For: Miner 2049er FAO Night "hat Lode Runner A2-PB1 Pinball aN Customized tS Drive Speed = Control = in = wiul! > yp : 3 Super IOB = \ ILeREss S ('\ cor’ ‘Bal Macro System qeiUrress BULK RATE U.S, Postage PAID Hardcore COMPUTIST Tacoma, WA PO Box 110846-T Permit No. 269 Tacoma, WA 98411 BACKUP PROTECTED SOFTWARE with COPY II PLUS" ver. 5 From the team who first brought you COPY It PLUS in updated disk backup utility for your Apple ompletely computer, New features include + Fully automatic bit copy*. ype inthe name of the o and COPY Il PLUS does the rest! * New utilities including Alphabetize Catalog, Fast 2-pass Disk Copy on a/c or He id an all-new Sector Editor. Supplied on a standard DOS diskette, Runs on the Apple Apple e, Apple “c. Requires 64K and one or two disk drives: are stored on disk. Simply Apple + Increase the power of your Apple //, Use COPY Il PLUS™ 5.0 Call M-F 8-5:30 (W. y Or send a check (add $3 s/h, $8 ove $39.95 ENTRAL POINT Software, Inc. 00 SWC: Portlasy Pras regularly te handle mew protectins: you as a registered ewer may pee 8 ay (B apaate, just seve original disk aud $202) We update Cog fc is peer fs 11 9 make enchie svat Sumi? DISC COMMANDER COPYMGHT 1905 wHKcAM STEVENS DISK EDITING SYSTEM | FOR THE APPLE I FAMILY OF COMPUTERS USING DOS 33 OR DOS3.3 WITH PRONTO. DOS ENHANCEMENT 4 Editorse13 Sub-editorse Completely menu drivene } or 2 drive operations INSTRUGTORIALS and TECHNICAL INFORMATION on disk Sort catalog entries@Hide catalog entrieseCreale multiple neading catalogse Greate multi-column catalogs # Reassiga lock/unlack and tile type symbols, spaces,columns.cataiog heading and program titles to any combination of NORMAL, FLASH, INVERSE, LOWER CASEor CONTROL charactorse Rename all DOS commands e Rewnte ail DOS error messages @ Make a (non-VTOG dependent) disk man showing the THACK/SECTOR LISTS, VTOC and CATALOG TRAGK/SEGTORS Trace out individual tiles @ Change the HELLO program @ Change any byte anywhere on a disk Make iostructions, disk maps. track/sector displays and traces using your printer AND MUCH MUCH MORE SO WHAT SOFTWARE 10271 Slater Ave Suite 103 Fountam Valtey.Ca 92798 TO ORDER: Send a check or money order (U.S. funds) for $29.95 plus $2.00 California residents add 6%, shipping ($5.00 foreign) est Warning: EDD is sold for the sole purpose of making archival copies ONLY. Now AVAILABLE AT YOUR LOCAL COMPUTER STORE YOUR DISKS EDD rune on Apple HF glu, 1a, lle and Apple it fin emulation mada) izing one ortwo dk drs, EDD allows you to easily and quickly make back up copies of your “uncopyabie” Apple disks. li Since EDD has been preset to copy the widest of copy-protections possible, you just simply boot up EDD, put the disk you want to copy in one disk drive and a blank disk in the other {EDD will work using one drive also} ‘and In about 2 ¥2 minutes a copy is made. ™ Unlike the “copy- cards” which only copy “single load” programs, EDD copies the entire disk. This would be similar to hooking up two cassette recorders, playing from one, and recording to the other. l We have even included an option so you can check the speed of your disk drives because drive speeds running with the purchase of EDD. i The bottom line is this; if EDD can't copy it, chances are nothing will. ($5 foreign). Mastercerd/Viea accepted. $7995 UTILICO MICROWARE 3377 Solano Ave., Suite #352 Napa, CA 94558 (707)257-2420 Ask for EOD at your local computer store, or, fo order direct: send $78.98 plus $2 shipping 8OC 8 isk? And that INCLUDES the Tyvek sleeve, too? * Sold in multiples of 25 ONLY *100% guaranteed with reinforced For only $20” Please send me___ sets (25 cha par ant) ot § 1/4" S8/00 cierto. | have enclosed $70.00 PLUS shinpig & honding for & write protect tabs included $end your order to: Disk Offer, SoftKey Publshing PO Box OBIS Tacoma, WA | 9841. Pleose enctose $3 | Nerme —__ = shieping anc handing tor the frst set PLUS Si for each addtional set. Forelgn orders edd 20% shipping & hanalingy US tunes crown on US bank. Washington state fosidents add 78% sales tox Orders shipped vio UPS Place use street cderess Adress hy Coxsitry VSAIMC___ Signoture ___ Let us know your NEW ADDRESS at fs least 30 days in advance so you won't miss a single issue of Hardcore COMPUTIST (issues missed due to non- | receipt of change of Phone —___ aks address may be L— ae J obtained at the Ss — ee current back-issue Paste present address label here or fill in old address: Tate). Name My new address is: Address City st Zip Address —__ a SH il) Sa Fill out your new address on the form provided, paste City a Ee NE your present address label in see ‘space below and send it ‘Shae faieve COMPUTIST, Subscription Dept., PO Box Phone. 110846-T, Tacoma, WA 98411 Public Domain Software SPECIAL From The COMPUTER LEARNING CENTER! GET Over 170 BUSINESS & FINANCE Programs FOR ONLY Forecast your investment profits Evaluate the worth of your stock portfolio Experiment with Visicalc formulas Design a business or personal letter writing format Organize your household expenses Balance your checkbook Manage your loans and payroll The Business & Finance SPECIAL contains the following programs and many more, Keogh Savings Program Household Exp. Profile Mortgage Caloulaton —_incorme Tax 1040 For 77 Reguiar Deposits | Check Book Balancer ‘Stocks Address File Calendar Personal Names Search Letter Weiter Gen Ledger Printer Phone List Constar Vislcalc Formutas ete... ORDER NOW! A complete catalog of Public Domain Software available from the CLC will arrive with your order. gE : #8 § | § z a 3 ere i ut 8g =s : ie i iy Bay * ie SEs $3 Ae | pee er Bas He a He fil cre i it ae | e223 aby fy i 8248 3 Baa (The Computer Learning Center's PDS Library contains over 170 volumes, ail which are formatted for Appie jf Plus computers and Apple compatibles. Most will also run on Apple /ie and //c.) any of the articles published in Hardcore COMPUTIST detail the removal of copy Protection schemes from commercial disks or contain information on copy protection and backup methods in general. We also print bit copy parameters, tips for adventure games, advanced playing techniques (APT's) for arcade game fanatics and any other information which may be of use to the serious Apple user. Hardcore COMPUTIST also contains a center CORE section which focuses on information not directly related to copy protection. Topics may include, but are not limited to; tutorials, hardware/software product reviews and application and utility programs. What Is a Softkey Anyway? Softkey is a term which we coined to describe a procedure that removes, or at least circumvents, any copy protection on a Particular disk. Once a softkey procedure has heen performed, the resulting disk can usually be copied by the use of Apple's COPYA program (on the DOS 3.3 System Master Disk) Commands and Controls: In any article appearing in Hardcore COMPUTIST, commands which @ reader is required to perform are set apart from normal text by being indented and bold. An example is: PREG Follow this with the RETURN key. The RETURN key ftuist be pressed at the end of every such command unless otherwise specified. Control characters are indicated by being boxed. An example 6GP) To complete this command, you must first type the number 6 and then place one finger on the CTRL key and one finger on the P key. Requirements: Most of the programs and softkeys which appear in Hardcore COMPUTIST require one of the Apple jf series of computers and at feast on disk drive with DOS 3.3. Occasionally, some programs and procedures have special requirements. The prerequisites for deprotection techniques or programs will always be listed at the beginning of the article under the “Requirements: '* heading. Software Recommendations: The following pro- grams (or similar ones) are strongly recommended for Teaders who wish to obtain the most benefit from our articles: 1) Applesoft Program Editor such as Global Program Line Editor (GPLE). 2) Sector Editor such as DiskEdit, ZAP from Bag of Tricks of Tricky Dick from The CIA. 3) Disk Search Utility such as The Inspector, The Tracer from The CIA ot The CORE Disk Searcher. 4) Assembler such as the S-C Assembler or Meriin/Big Mac 5) Bit Copy Program such as Copy }{ Plus, Locksmith or The Essential Data Duplicator 6) Text Editor capable of producing normal sequential text files such as Applewriter JI, Magic Window }f or Screenwriter Jf. ‘You will also find COPYA, FID and MUFFIN from the DOS 3.3 System Master Disk useful. Super IOB: This program has most recently appeared in Hardcore COMPUTIST No. 22. Several softkey procedures will make use of a Super IOB controller, a Small program that must be keyed into the middle of Super IOB, The controller changes Super IOB so that it can copy different disks. To get the latest version of this program, you may order Hardcore COMPUTIST No. 22 a5 a hack issue or order Program Library Disk No, 22. RESET Into The Monitor: Many softkey pro- cedures require that the user be able to enter the Apple's system monitor during the execution of a copy protected program. Check the following list to see what hardware you will need to obtain this ability, Apple I[ Pius - Apple //e - Apple compatibles: 1) Place an Integer BASIC ROM card in one of the Apple slots. 2) Use s non-maskable interrupt (NMI) card such as Replay or Wildcard. Apple J[ Plus - Apple compatibles: 1) Install an F8 ROM with a modified RESET vector on the computer's motherboard as detailed in the “Modified ROM's"’ article of Hardcore COMPUTIST No, 6 or the ‘Dual ROM's** article in Hardoore COMPUTIST No. 19. Apple ‘Ye - Apple //e: Install a modified CD ROM on the computer's motherboard. Don Lancastet’s company (Synergistics) sells the instructions necessary to make this modification. Making this modification to an Apple fie will void its warranty but the increased ability to remove copy protection may justify it. Recommended Literature: ‘The Apple }[ Reference Manual and DOS 3.3 manual are musts for any serious Apple user, Other helpful books include: Beneath Apple DOS, Don Worth and Peter Leichner, Quality Software, $19.95; Assembly Language For The Applesofi Programmer, Roy Meyers and C.W. Finley, Addison Wesley, $16.95; and What's Where In The Apple, ‘William Lubert, Micro Ink,, $24.95. Keying in Applesoft Programs: BASIC programs ‘ate printed in Hardcore COMPUTIST in a format that is designed to minimize errors for readers who key in these programs. To understand this format, you must first understand the formatted LIST feature of Applesoft. An illustration: If you strike these keys: 19 HOME:REMCLEAR SCREEN a program will be stored in the computer’s memory. ‘Strangely, this program will nor have a LIST that is ‘exactly us you typed it. Instead, the LIST will look like this; 10 HOME : REM CLEAR SCREEN Programs don't usually LIST the same as they were keyed in hecause Applesoft inserts spaces into a program listing before and after every command word or mathematical operator, These spaces usually don’t pose 4 problem except in line numbers which contain REM 6 DATA command words, The space inserted after these command words can be misleading. For example, if you want a program to have a list like this: 18 DATA 67,45,54,52 you would! have to omit the space directly after the DATA ‘command word. If you were to key in the space directly after the DATA command word, the LIST of the progrart would look like this: 1 DATA 67,45,54,52 This LIST is different from the LIST you wanted. The fumber of spaces you key after DATA and REM command words is very important. Al of this brings us to the Hardcore COMPUTIST L1STing format. In a BASIC LISTing, there are two types ‘of spaces; spaces that don't marter whether they are keyed. or not and spaces that must be keyed. Spaces that must be keyed in are printed as delta characters (4). All other spaces in a Hardeore COMPUTIST BASIC listing are put there for easier reading and it doesn't matter whether you type them or not. ‘There is one exception: If you want your checksums (See “Computing Checksums" section) to match up, you ‘must not key in any spaces after a DATA command word unless they are marked by delta churacters. Keying In Hexdumps: Machine language programs are printed in Hardcore COMPUTIST as both source code and hexdumps. Only one of these formats need be keyed in to get a machine language program. Hexdumps are the shortest and easiest format to type in. To key in hexdumps, you must first enter the monitor: CALL -151 Now key in the hexdump exactly as it appears in the magazine ignoring the four digit checksum at the end of each line (a "'S"” and four digits), If you hear a beep, you will know that you have typed something incorrectly ‘and must retype that line, ‘When finished, return to BASIC with a: EM3G Remember to BSAVE the program with the correct filename, address and length parameters as given inthe article. Keying In Source Code The source code portion of a machine language program is provided only to better explain the program's operation, If you wish to key it in, you will need an assembler, The $-C Assembler is used to generate all source code printed in Hardoore COMPU'TIST. Without this assembler, you will have to translate pieces of the source code into something your assembler will understand. A table of S-C Assembler directives just for this purpose was printed ia Hardcore COMPUTIST No. 17. To translate source code, you wil} need to understand the directives of your assembler and convert the directives used in the source code listing to similar directives used by your assembler, Computing Checksums Checksums arc four digit hexadecimal numbers which verify whether or not you keyed a program exactly as it was printed in Hardcore COMPUTIST. There are two types of checksums; one created by the CHECKBIN program (for machine language programs) and the other created by the CHECKSOFT program (for BASIC programs). Both programs appeared in Hardcore COMPUTIST No. 1 and ‘The Best of Hardcore Computing. An update to ‘CHECKSOFT appeared in Hardcore COMPUTIST No, 18. Tf the checksums these programs create on your computer match the checksums accompanying the program in the magazine, then you keyed in the program correctly. If not, the program is incorrect at the line where the first checksum differs. 1) To compute CHECKSOFT checksums; LOAD filename BRUNCHECKSOFT Get the checksums with & And correct the program where the checksums differ. 2) To compute CHECKBIN checksums: CALL -151 BLOAD filename Install CHECKBIN at an out of the way place BRUN CHECKBIN,AS6Q00 Get the checksums by typing the starting address, and ending uddress of the file followed by & ; sox.xxx EY) And correct the lines at which the checksums differ. How-To's Of Hardcore Welcome to Hardcore COMPUTIST, a publication devoted to the serious user of Apple }[ and Apple }{ compatible computers, Our magazine contains information you are not likely to find in any of the other major journals dedicated to the Apple market. Our editorial policy is that we do NOT condone software piracy, but we do believe that honest users are entitled to backup commercial disks they have purchased. In addition to the security of a backup disk, the removal of copy protection gives the user the option of modifying application programs to meet his or her needs. New readers are advised to read this page carefully te avoid frustration when attempting to follow a softkey or when entering the programs printed in this issue. OLD. IRONSIDES Jack Rice WRichard Hefter This month’s cover: Night Mission Pinball. Graphics from Sublogic's A2-PBI Address a advertising Inquiries to Hardcore COMPUTIST, ‘Advertising Department, PO Box 110818, Tacoma, WA 98411 Mail manuscripts or requests for Writer's Guides to Hardcore COMPUTIST, PO Box 110846K, Tacoma, WA 96411, photos, disks, or tapes if they are to be returned. Uneolictt manuscripts wile returned only adequate return postage i Included. Entire contents copyright 1985 by SohKey Publishing. All rights reserved. Gaping done fr cher an peracnw or nmal the | The editorial staff assumes no liability or responsibility for the products advertised in the magazine. ey opin ‘opinions gente by the authors are not those of Hardcore COMPUTIST magazine or SoftKey Publishing. App soul rater ote Apple of Pe Comper, and is @ trademark of Apple Computers, Inc. SUBSCRIPTIONS: Rates {lor 6 issues): US. $20, U.S, Ist Class $24, Canada $34, Mexico Foreign Scuirion to: Hardcore COMPUTIST, Supseription PO Box 108461, Te (A841, tahas meer becom Seton DOMESTIC DEALER RATES: Cal (206) 474.750 for more information. Change Of Address: Please allow 4 waeks for change of ee ee ‘On postal form 3576 supply your new ‘address and your most recent address label. issues missed due to non-receipt of change of address may be acquired at the regular back seve rate, Hardcore Issue 22 COMPUTIST Publisher Rditor: Charies R. Haight ‘Technical Editor: Ray Darrah tion & Graphles: Lynn Campos: Bev Haight Ch Michelle Frank, Debbie Koval ‘Advertising: (206) 474-5750 Printing: Valco Graphics Inc. Seatle, WA Hendeore COMPTIST be poblibed mony, except Doomube by SofKey Publishing. 5253 8. Washingon, Tacnma, WA 99409 Phone: (206) 474.5750 softkeys 10 Miner 2049er Hardcore COMPUTIST wrestles this classic arcade and achieves a victory in the form of a deprotected diskette. by Tom Phelps 11 Lode Runner Finally, you can have a COPYable version of this most-liked game. Follow this article and learn Lode Runner's secrets by Tom Phelps 13 A2-PB1 Pinball ‘The pinball machine has come a long way since its invention. Now it’s your turn to help in pinball's evolution by deprotecting this excellent representation. by Joseph W. Leathlean features 15 Customized Drive Speed Control If you’re tired of removing the disk drive cover everytime you want to adjust your drive speed, you can use this article to replace your speed control with a hand (and much more precise) knob. By William Wingfield, Jr. 17 Super I O B version 1.5 The official Hardcore COMPUTIST deprotection program has updated after seven long months of sameness, This version of Super IOB can deprotect disks 350} faster than previous versions of Super IOB. by Ray Darrah core 25 The Macro System Have you ever wanted to have the capability to type a long sequence of characters by only pressing a few keystrokes? The possibilities of this program which allows you to do just that are indeed great. By Tim Lewis departments 4 Input ing up MECC software, Deprotecting Storymaker, PFS softkey correction, Modified PROMS on the //e, SSI Deprotection help, Space invaders on Skyfox, Bootlegger problems. 6 Readers’ Softkey & Copy Exchange Bill Bood softkeys Microlab's The Heist. Bryce Swimley softkeys Xerox Educational Software's Old Ironsides. Phil Pattengale softkeys Spinnaker's Grandma’s House, and In Search Of The Most Amazing Thing. William Wingfield, Jr, softkeys EPYX"s Morlock Tower. Denny Colt softkeys Sierra Online’s Marauder. Ray Darrah softkeys Sargon III's other protection scheme 9 ADVENTURE TIPS 24 = A.P.T.s Hardcore COMPUTIST No. 22 3 bad an = Backing Up MECC Software Asa teacher, | refuse to go into a classroom without having three copies of the program I'm going to use: one to use, one in the drawer, and the original far, far away. Please try to publish more softkeys and backup information for educational material (software like the Print Shop). Most of the publishers of educational software don’t seem to realize that students can unintentionally kill a disk in an infinite number of ways. Now, let me climb down off my soapbox and offer some practical advice for other teachers. The Minnesota Educational Computing Corporation (MECC) offers a large variety of good educational material, most of which is written in BASIC making it easy to modify. Unfortunately, most of MECC's disks are protected. Fortunately, they are easy to unprotect using Super IOB with the standard Swap Controller. The only protection that MECC uses is an altered RWTS and | used the material in Ken Greeniaw’s article, "Secret Weapon; RAMcard (Hardcore COMPUTIST No. 16) to capture it, although there have been several other methods published in Hardcore. After you have removed the protection, two modifications | recommend are to put a faster DOS on the disks and rewrite the HELLO programs to eliminate the MECC hi-res “‘title page’’. Waiting for that map gets boring after awhile. One question; Does anyone know who manufactures the Disk Muncher copy Program? Everyone | know has a copy (in dozens of versions) but nobody bought it and I've never seen it advertised! It is the fastest general purpose copy program | have ever seen. | would like to use it in class to make backups of student program disks, but | don’t want to step on someone's copyright. P.S. Hardcore is the most useful computer magazine around. Keep up the good work! Tim Stahmer We at Hardcore COMPUTIST have also seen several versions of Disk Muncher (one is even marketed by ABACUS Software). We also have no idea where it originated. Deprotecting Storymaker After long hours of trying to locate the nibble count on Story Machine (Spinnaker), I decided to give the program to my friend and let him have a go at it. To my surprise, he gave me three different methods of removing the copy-protection. The requirements and the step-by-step procedure to remove the protection are listed below: Requirements: Apple or compatible with 48K One disk drive COPYA A sector editor program One blank disk You must first copy the program using COPYA. Then you can proceed in one of three ways. Each method involves either removing a command that sets a byte to a certain value or putting in a command that sets a byte to a correct value. Method 1: On track @, sector 3 change bytes 64 and 65 from AS 1E to A9 F@. Method 2: Change track 8, sector 3 byte 71 from 62 to 00. Method 3: Change track @, sector 3 bytes 72 and 73 from 69 FF to AS 66. | have tried each of these methods separtely and they all work equally well. The Programmer PFS Softkey Correction Re: Deprotecting PFS Software, Reader's Softkey Exchange (Issue No. 14). | have a small modification to make. In the original article, the reader was instructed to look for: De 64 88 98 FO 27 Instead, the search should be for: 88 98 F@ 27 because the actual routine is as follows: DO xx 88 98 F@ 27 where ‘‘xx"’ can be almost any number from $04 to $10, and the change should be to the address of: AS FF CD which can be from $27 to $35 bytes away from the $D0. Thave found the new Copy II Plus v5.2 very handy for this kind of work. The sector editor has a search feature in its disassembly list feature. This is very useful for software that uses a lot of relative jumps. For the absolute addressing problems, I am still stick with using the Integer ROM card or an Interrupt card to help find things. George Mochizuki Madera, CA 4 Hardcore COMPUTIST No. 22 Modified PROMs on the //e | read with interest the article by Ernie Young (Issue No. 6) on modifying PROMS for the Apple computer but resisted making the change because of my reluctance to work inside my machine, an Apple //e. After some hand wringing | decided to dig in and give it a try. To my surprise, the //e does not have an F8-ROM. It instead has the monitor code in the EF-ROM which is the 2364 PROM, not @ 2316. The 2364 PROM's are directly pin compatible with the 2764 EPROM's. Thus, ail | had to do was burn the modification into a 2764 and pop it directly into the /le. Everything, including the changes suggested by Mr. Mindrup (Issue No. 9), worked without any wiring changes. Similarly, | was intrigued by the articles by Ray Darrah and Earl Taylor on doubling the ROM space and an improved monitor routine (Issue No. 19). On checking, | found that the 2364 PROM and the 27128 EPROM are also pin compatible. However, the pin positions for the switch connections on the 27128 EPROM are different: ground is pin 14, pin 28 is + 5v, and pin 26 is the most significant address bit which would be used to select the appropriate bank in the 27128 EPROM. Due to my limite experience with a soldering iron | decided t make the switch connection to the appropriat pins of a low profile DIP socket instead or directly to the EPROM. This avoids potential heat damage to the EPROM and allows for changing or reprogramming the EPROM without re-soldeing the switch. in both of these cases, | have not done any modifications to the machine (no voltage inversion, etc.). It all seems fine to me. Can anyone tell me if I’ve overlooked some point that could give me problems down the toad? Also, the ‘How-To” page in your magazine mentions a modified CD-ROM available from Synergistics as a means to RESET to the monitor. Can anyone tell me why this is needed or what it does? Even though Mr. Taylor warned that his modifications were specifically for the F8-ROM, | tried to implant them in the EF- ROM. Needless to say, | encountered several Problems. The binary search routine overwrites code at $FBB4 which serves as a conduit to display and escape sequence routines on the 80-column card. Without this code the machine dies. Since this code is referenced from a number of locations, it's not @ good idea to change its position. Whether the lack of support for the arrow keys in Taylor's approach is of major or minor importance probably depends on whether the user has an Apple J[, ][+ or //e. | was able to patch Mr. Taylor’s code into the EF-ROM and retain all features except for the blinking cursor and the NMI code. The ‘only way | could see to implant the blinking underline cursor was to alter the PROM on the 80-column card. Since | wanted to use the second cursor to indicate which version of the monitor was active, making an “always active” change to the PROM did not seem beneficial. Because | don't know how to initiate an NMI and typically want my machine to boot a disk on powerup, | deleted the NMI code and changed the NMI and reset vectors (SFFFA-$FFFD) to mimic the code by Mr. Mindrup (i.e, 1. Boot a disk on powerup, 2. On RESET followed by a return, use the vector at $03F2. | find a reset to the intended program vector to be useful in boot tracing some types of programs.) Here are the steps for adding Mr. Taylor's modifications to the EF-ROM of the Apple //e: 1, Load a copy of the Apple //e monitor into RAM 1000<E000.FFFFM 2. Alter RESET routine to go to NEWRESET thru the old NMI vector. Kill jump. to the print title code 2AA3: 6C FA FF EA EA EA 3. Part 2 of the routine to set up search display 2B60: AS 3C E9 OF 85 3A AS 3D 2B68: E9 6@ 85 3B 4C 84 FE 4, Jump to check for ‘esc H* 2898: 4C ED FE 5. NEWRESET- same as Taylor's except uses vector at $03F2 2CC9; AD @@ C8 10 FB 2C 10 2CD@: C@ 29 DF C9 D3 F@ 87 C9 2CD8; CD F@ 2D 6C F2 03 BA 8E 2CH@: 03 29 Ad 68 BO 00 06 99 2CES8: 0@ 20 BY 6@ O1 99 08 21 2CF#: C8 D@ Fl 84 3C 84 3E 84 2CF8: 42 A9 #2 85 3D Ad 89 8S 2D00: 3F A9 22 85 43 20 2C FE 2D08: 4C 59 FF EA 6. Taylor's MOD.NOTCR 2D58: E@ F8 90 03 20 3A FF E8 7. Taylor's STOP PATCH 2D7E: 4C 84 FD E8 A9 88 8. Taylor's LIST2 MOD 2E74: AA 9. Misc. Code, Disassembler Mod, Window set & vector to SEARCH, Tape error, Test for “esc H" and CRMON 2EC2: 60 EA EA 4C F8 03 2EC8: 20 SE FE A9 61 2@ 63 FE 2ED@: AD 6@ Cé 10 FB 2C 16 Ce 2ED8: C9 95 F@ EC C9 Ad FO EB 2EE@: C9 9B 68 A9 02 85 22 4C 2EE8: FD FE 4C 2D FF C9 C8 D@ 2EF@: #2 A9 C® 4C 2C FC 20 06 2EF8: FE 68 68 DO 6C 10. Taylor's SEARCH and Part 1 of display setup for SEARCH 2EFD: Aé 00 B9 2F@:.02 02 CD 00 @2 FO 04 DI 208: 3C DO 13 C8 CC 61 62 90 2F10: EE 20 80 FE 26 26 FF A2 2F18: 60 20 C8 FE Fé 05 26 BA 2F20: FC 99 DA 4C 2F FB 20 92 2F28: FD 4C 60 FB EA 11. Modification to Monitor's CHRTBL so vector will function 2FCF: ED 2FD2: EC 12. Modification to Monitor's SUBTBL to set vectors for 7, S,L, Wand R commands 2FE4: C4 2FE6: El 2FE9: E2 2FF2: C7 E9 2FFS: ED 13. Modification of NMI and RESET vectors 2FFA: C9 FC 62 FA BSAVE MODROM,A$1000,L52000 14. Burn file into a 2764 EPROM. I really appreciate the series of articles on modified PROMS, both for what | learned directly from the articles and for all the additional things I've learned in trying to understand and accomplish the tasks set forth. if someone is in the market for an EPROM burner I'd recommend the PROMgRAMMER ($149.50) by the Southern California Research Group, especially if you need to Program some of the larger chips. The burner handles 2716 through 27512 EPROMS, it has a fast burn routine and the software Is great. It is, however, an internal card system. Donald L. Berry Midland, Mi SSI Deprotection | have noted that the SSI Wargame Series has been on the Most Wanted List for some time. If you haven't received a crack by this time, | have just the thing for you. It’s two machine language programs, RDOS BUSTER and RDOS DISK CREATOR, written by the staff at Everyware, that will convert all RDOS-based disks to a COPYAble format. Richard C. Colby President Everyware Computer Prod, Riverdale, MD Space Invaders on Skyfox This may interest you: | have found a trap door (or whatever you call it) in the game Skyfox. When you get to the tactical display, right after choosing your level, press and you will be put into a Space Invaders-type game. Jon Camp Bootlegger Problems In a previous letter | wrote to explain a problem | am having with my subscription to Bootlegger. In reply to that letter, you wrote, after talking to the appropriate person at Bootlegger, that my money would soon be refunded. Seven weeks later, the Bootlegger HAS NOT refunded the $18.75 for the 3 issues | have not received. As of today, 5 issues of Bootlegger have been issued, But | have recieved only one of these, No. 3. 1 don’t know what their problem is, but they have evidently ripped me off and lied to you about refunding my money. | have subsequently lodged a complaint with the Postal Inspector's office. Eric Larson, Regional Chief Postal Inspector, San Bueno, CA wrote to Bootlegger on April 4 but, so far, Mike Betitec has not responded to either his letter or mine. At this point | feel that | have no other choice but to request that the Postal Inspector turn the matter over to the US Attorney for prosecution for mail fraud. Munson Compton Shreveport, LA Please address letters to: Hardcore COMPUTIST, Editorial Department, PO Box 110846-K, Tacoma, WA 98411, Include your name, address and phone. Correspondence appearing in the INPUT section may be edited for clarity and space requirements. In addition, because of the great number of letters that we receive and the small size of our staff, a response to each letter is not guarantesd. Hardcore COMPUTIST No. 22 5 Softkey & Copy Exchange Bryce Swimley’s Softkey For... Old Ironsides Xerox Educational Software 245 Long Hill Road Middletown, CT 06457 (203) 347-7251 $39.95 Requirements: Apple ][ Plus, //e or fc Means of entering the monitor at will COPYA or copy program which ignores errors A blank disk A disk with no HELLO program In my efforts to use Mr. Jerry Caldwell's “Stickybear Bop series’ softkey (Hardcore COMPUTIST No, 15) to make a copy of Old Ironsides, a program also published by Xerox, I ran into a few problems, It soon became apparent that the code to read the protected sector (Track 01 Sector @F on my copy of Old Ironsides) was located in many places on the disk, I found the code on Track 03, Sector 09; Track 04, Sector 06; Track 09, Sector @5; and also on Track @B, Sectors OF, Following Mr. Caldwell’s procedure through, I discovered that the protected sector was loaded into $B00, I recovered the data by using the ‘Extended RamCard"* technique in Issue No. 16. This worked admirably. I then proceeded to change the load accumulator command (A2) to a RTS (60) on all the locations where I found the code to read the protected sector, Then I wrote the data I had recovered to my copy and eagerly booted the unprotected copy only to discover that the program rebooted when it tried to load the now deprotected sector, ‘This made me more than a little curious as well as frustrated. I then unleashed my trusty sector editor and scanned the disk for a jump to the disk controller ROM (4C 0@ C6). To my pleasant surprise, 1 found these jumps at two locations on the disk- Track ®B, Sector OF and Track 1A, Sector 04. Disassembling the code near those jumps, I found ‘*Branch Not Equals" (BNE’s) to the location which contained the JMP instruction. | changed these BNE’s to NOP’s (EA) and wrote the sectors back to my copy, Now when I boot the disk, as far as I can tell, it works perfectly! If you haven't been able to softkey a “*Xerox"’ disk using the original method by Jerry Caldwell, you might want to try these additional procedures. Step-By-Step Follow this procedure to deprotect Old Tronsides: 1) Load COPYA and stop it while it is asking you for the slot number LOAD COPYA Goa 2) Enter the monitor and tell the machine language portion of COPYA to ignore errors CALL -151 3AL:EA 3) Re-enter BASIC, tell COPYA not to reload its machine language portion and make a copy of your Old Ironsides disk E03G 78 RUN 4) Boot your protected copy of Old Ironsides and reset into the monitor as soon as the title screen appears 5) Insert a disk with no HELLO program and boot it C600G 6) Save the protected sector BSAVE PROTECTED SECTOR, ASAO4, LSLFC 7) Get out your sector editor and make the following changes to the copied Old Tronsides disk: ___Track Sector Byte Change to $83 $09 $29 $68 $04 $06 $29 S66 $09 $05 $25 $68 SOB SOF SFD $60 SIA $04 $54 $00 $08 SOF $09 $00 8) Now you must find the location (on your disk with no HELLO program) at which the Protected sector is stored. To do this, use your sector editor to scan the CATALOG 6 Hardcore COMPUTIST No. 22 track (S11) for the PROTECTED SECTOR filename. When it is found, the three bytes directly before the filename indicate the track & sector, respectively, and filetype of the file, 9) Read in the track and sector indicated by the first two of the three bytes directly before the filename. 10) Next, read in the track and sector indicated by bytes SOE and $0F of this sector. 11) Put in your copy of Old Ironsides and write this sector to track $01, sector SOF. 12) Enjoy your deprotected Old Ironsides! Bill Bood’s Softkey For... The Heist Microlab, Inc 2699 Skokie Valley Road Highland Park, IL 60035 (312) 433-7550 Requirements: Apple }[, }[ Plus or (/e Super IOB v1.2 One blank disk The Heist The Heist is a low action game program in which you must try to steal as much loot from a building as possible. While performing the heist, you must avoid a wide array of obstacles ranging from burglar detection robots to walls that fall from the ceiling. Fortunately, Microlab didn't include much protection on this disk- they only did a nibble count and changed the end of address marker from SDE AA to $95 57 and the end of data marker from $DE AA to $D5 AA. This kind of protection is casily defeated with a little help from Super IOB. To make-a COPYAable copy of The Heist install the controller, printed at the end of this article, into Super [OB and RUN it. Sector Edits Performed By The Controller When Super IOB is finished with the disk, the following sector edits have been performed so that the new Heist disk will expect normal sector markers and not bother with a nibble count. $08 $03 $00 $63 $00 $03 $00 $08 $00 308 $39 $64 $86 300 $08 $34 $BA $8E A Few APT’s I have discovered several locations in memory that hold vital information about the game. To perform any of these APT's you must have the means to enter the monitor at will. Once in the monitor during a Heist game, perform the APT you want and then get the game going again with; A@5G = (restart game) To change the number of men you start with, change the byte at $OF92 to: F92:xx To give yourself an amount of keys to start out with, erase the zeroing subroutine and put the amount of keys you want in location $948 as follows: F88:EA EA EA 948:xx (xx=number of keys) To start at any level, NOP the zeroing (xx=number of men) routine, NOP the routine which inserts the real level and put your starting level at $945: F8B:EA EA EA F9D:EA EA EA 945:xx (xx=level to start at) ‘The high scores are stored on track $01, sector $04 in the following format: i 1 H 64 SS SS SS FF The II's are the high-bit clear ASCII equivalent of the initials, the $04 separates the initials from the Score, the SS’s are the Binary coded decimal equivalent of the score and the $FF separates entries. Heist Controller 1900 REM HEIST CONTROLLER 1618 TK $T = :LT=35 :CO=mR 1020 Ti = TK : GOSUB 490 ; RESTORE : GOSUB 170 1030 GOSUB 430 . GOSUB 100 :ST=ST +1: IFST< OOS THEN 1039 1040 IF BF THEN 1060 1950 ST = :TK=TK+1; IF TA <LT THEN 1030 1069 GOSUB 310 ; GOSUB 496 ;TK=T1 :ST=@ : GOSU8 230 1070 GOSUB 436 : GOSUB 100 :ST=ST +1 DOS THEN 1676 1680ST=0 :TK=TK+1 1970 1999 IF TK < LT THEN 1620 1108 HOME : PRINT “DONE“WITH*COPY® = END 5008 DATA 158 231 213 178: REMEOA , EOD 5010 DATA 7°CHANGES 5020 DATA G ,2 158 ,222 5030 DATA @ .3 53 222 5046 DATA® ,3 145 ,222 5050 DATAG ,8 56 8 5069 DATA® .8 .57 176 5070 DATAD ,8 58 142 5080 DATA B .3 ,155 170 (FST < IF BF =@ ANDTK <LT THEN iecmeaumet | | | LUTTE LACT PUNUONUEUUAUOSUOEUUUUUALOO UG UUUNTOOEU LAU UN ERE SAE Heist Controller Checksums 1980 - $3568 1108 - $3604 1918 = $3266 5008 - $9088 1028 - $7FOA 5019 - $3405 1930 - $690B $020 - $F851 1048 - S51E4 5838 - $9026 1958 - $FOCL 5040 - $2689 1960 ~. $08DF 5050 - $A575 1070 - $0304 5060 - $2021 1988 - $7387 5878 - $C85F 1998 - $E201 5988 - $90EA Phil Pattengale’s Softkey For... _ In Search of the Most Amazing Thing Grandma’s House a SE TS Spinnaker Software One Kendall Square Cambridge, MA 02139 $39.95 Requirements: Apple If Plus or i/e 1 or 2 drives In Search of the Most Amazing Thing or Grandma's House ‘Super 1OB vi.5 These two children’s programs by Spinnaker are both delightful and intriguing for the younger child; however, they are copy-protected. Fortunately, they both use a semi-standard DOS and it is just this scratch in the armor that allows us to deprotect them both. The protection scheme on In Search of the Most Amazing Thing involves changing the sector address markers from $D5 AA 96 DE AA to $AA D5 AB DE AB and changing the sector data markers from $D5 AA AD DE AA to $AA DS EB ED AA. The protection on Grandma's House is a change of sector data ending marks from SDE AA to $BF AA. But not to fear: Hardcore COMPUTIST readers arc equipped with Super IOB v1.5 which can easily deprotect this sort of scheming. Step-By-Step 1) Format a blank disk (to be used as the copy disk) and put a fast (preferably) DOS on it with “HELLO” as the boot file INIT HELLO 2) Install the proper controller into Super JOB v1.5 3) RUN Super IOB and answer the questions. That's it! Pretty easy. In Search of. Controller 1009 REM IN SEARCH OF 1910 TK =3 :LT=35 :ST=15 :LS=15 :CO=0R FAST = 1: POKE 48573 128 1020 RESTORE : GOSUB 190 : GOSUB 210 : GOSUB 179 GOSUB 490 ; GOSUB 610 Hardcore COMPUTIST No. 22 7 1838 GOSUB 230 : GOSUB 490 : GOSUB 618 (TRK } = LT THEN 1050 1048 TK = PEEK (TRK) :ST=PEEK (SCT) ; GOTO1020 1850 HOME : PRINT "COPYDONE" : END 5000 DATA 176 ,213 ,171 5010 DATA 178 213 ,235 5826 DATA 222 171 ,237 178 IF PEEK In Search...Controller Checksums 1980 - $3568 1050 - $964E 1019 - $9E6E 5008 - $7843 1020 - $1694 5810 - $82AD 1030 ~ $2860 5820 - $BOFA 1046 - $4800 Grandma’s House Controller 1606 REM GRANOWAS HOUSE I91OTK=3 :LT=35 :ST=15 :LS=15 :CD=WR : FAST el 1926 GOSUB 170 : RESTORE : GOSUB 490 : GOSUB 610 1038 GOSUB 230 : GOSUB 496 : GOSUB 618 : IF PEEK (TRK) = LT THEN 1050 1940 TK =PEEK (TRK) :ST=PEEK (SCT) : GOTO1820 1050 HOME : PRINT "COPYDONE : END 5000 DATA 222 ,170 191 .178 Grandma’s Controller Checksums 1080 - $3568 1948 - $DIFI 1D1G - $2445 1850 - $8807 1926 - $5099 5000 - $B7E6 1930 - $6508 William Wingfield Jr. Softkeys... Morloc’s Tower EPYX 1043 Kiel Ct, Sunnyvale, CA 94089 (408) 745-9700 $34.95 Requirements: Apple Jf, ][ Plus or //e 1 or 2 disk drives MUFFIN program from the system master One blank disk or a disk with at least 77 free sectors Morloc’s Tower is one of the earlier adventures in the Dungeonquest series and consists of two Applesoft files and one binary file which use a total of 7 disk sectors. Since it is a good idea to make a backup of all Programs, and this one is relatively short, we'll make a standardized copy that doesn’t require a complete disk. An inspection of the disk with a nibble editor shows that it is a standard DOS 3.2 disk except for the last bit of the data prologue. To protect it, the standard DS AA AD data marker has been replaced the AD with other bytes on some tracks, My philosophy is to do as little work as possible to unlock a protected program, and although boot code tracing and RWTS stuff have their uses, all we need to do is to make a small change to the Muffin program and let it do all the dirty work, Step-By-Step 1) Boot the system master disk and load Muffin - BLOAD MUFFIN 2) If you have a regular DOS 3.3 disk with at least 77 free sectors, insert it now and skip to Step 4. 3) Insert your blank disk and format it INIT HELLO 4) Get into the monitor CALL -151 5) Modify DOS so that it ignores the last byte of the data trailer AIC:29 60 6) Start up MUFFIN 803G 7) Use “*="" for the filename and transfer the files from your Morloc’s Tower disk to your DOS 3.3 disk. The first file MUFFIN will come to is HELLO. You may wish to rename this file as M.T. HELLO just to distinguish it as part of Morloc’s Tower. ‘You now have a fully functional and standard copy. Enjoy! Denny Colt’s Softkey for... Marauder Sierra On-Line 36575 Mudge Ranch Road Coarsegold, CA 93614 (209) 683-6858 $29.95 uirements: ane if with 48K One blank disk COPYA Sector editor Marauder is a two stage game by On-Line systems, In the first stage, your ship must destroy an enemy force field and then the planet's defenses. In the second stage, your disembark from your ship to locate a reactor that you try to stop. This game, overall, is quite entertaining. But it’s the second stage that gets all the applause. It is the best “‘Berzerk"’ type scenario I've ever played. « Unfortunately, the amount of disk access between stages makes a backup (as opposed to a file copy) necessary. ‘The copy protection used on this disk, and on many other On-Line disks, is a standard DOS with a nibble count. To deprotect it, all you must do is defeat the count. Step-By-Step 1) Copy the disk with COPY A or another whole disk copier. 8 Hardcore COMPUTIST No. 22 2) Use a sector editor to read in track $11, sector $07. 3) Change byte $90 from $A8 to $60 and write it back to the disk (Note: If track $11, sector $07 doesn’t work, try track $03, sector $07 or track $11, sector $03. The bytes are always $90 from SA8 to $60). That's it! Ray Darrah’s Softkey for another Sargon III UN Pace ASAT CARAS RR Requirements: A copy program that ignores errors A Sector Editor It has come to my attention that the method for deprotecting Sargon III (in Hardcore COMPUTIST No. 20) does not work for some copies of that excellent chess game. Rather than using altered sector markers (as the copy protection is on the version mentioned in Hardcore COMPUTIST No. 20), the other version of Sargon Ill is completely COPY Aable with the exception of track 3. It turns out that a nibble count is performed on track 3 upon bootup. ‘The code that docs the infamous nibble count is loaded from track $0, sector $5 into memory starting at $BB00 with an entry point of $BB03. This code is extremely tricky to trace because it is encoded and decodes itself as it goes. After deciphering this code (by the way, the code at $BCO0 is encoded in a similar manner), I found that it could be disabled by placing the following routine at SBB6B (track $0, sector $5, byte $6B): BB6B- AS 18 LOA #318 BB6D- 8D OF BC STA $8COF BB70- 38 SEC BB71- £9 18 SBC #S10 8B73- 8039.87 = STA $8739 BB76- BO 88 CH LDA $C088,x BB79- 4C 19 BC INP «$BCIO This routine is very close to what the nibble counter does if everthing is okay. By placing it at SBB6B, we exit the routine before it is entered. Of course, since most of this sector is. encoded, we will have to encode this patch also, Therefore, the code that translates into this routines is as follows: BBGB- 12 BA 30 26 06 BB7O- 9E CE 8D OG F9 GA 31 48 BB78- 48 9C FB 19 Step By Step 1) Copy your original Sargon Ill disk with any whole disk copier (not file copier) and ignore any errors on track $63. 2) Get out your sector editor and starting at byte $6B of track $00, sector $05 of your copy of Sargon III, enter the code listed directly above. Many thanks to Sheldon Atterbury Adventure Tips Colossal Caves Adventure International Listen to the bean plant. Don’t give the troll any treasures on the way back- give him a pet. But make sure you can “‘magically’’ transport your treasure you gave him (Fie, Fi, Fo...). Oil does wonders for things that are stuck. Map out the mazes, Always carry a weapon. Infidel Infocom Don’t step between rocks! Read and remember all hieroglyphics. Need some more weight? Use someone's head. Put boards in the holes in wall to step on. Plaster might be susceptible to pick-axes. Leave the crocs alone. Just get water. Sorcerer Infocom Need another Zorknid? Look in your pocket...or maybe a gnome’s. Mines and snakes are hazardous to your health and mind. Don’t be bothered by them. Dorn's can’t fly. Bats have sonar. Don’t sleep in the woods. Fly over the river bank or you'll fall in. Pyramid of Doom Adventure International Look in all broken glass. ‘You may be an adventurer, but your hand still needs protection. Use a glove. Throw the statue’s jeweled ‘‘heart” into the acid, Egyptian's aren’t dumb! They hide things (in) tables. Mummies hate incense. Cranston Manor Sierra On-Line Monkeys can swing...so can you. Swing in a closet and the money will come to you. You should ‘‘pry*’ out the eyes of a cat. Knight's aren't afraid of lice, but they may be afraid of mice! Ever tried priming a pump? It’s very rewarding. * Contributed by Ron Searle. Cutthroats Infocom You must remember that McGinty can see everything that you’re carrying, except money in your pocket. When McGinty is around, choose your actions carefully. One wrong move may blow the whole game. Zork I Infocom Robots do what you tell them, ‘The clay is actually plastic explosives. You must pay the demon quite a bit before you can command him. Once you have the wand you may use any of the magician’s spells. . Escape From Rungistan Sirius Software Moving the bed under the window could give you a new perspective on the world. The rope from the gallows may prove useful. Run toward the chasm, then jump as you approach the edge. Saying ‘‘Geronimo”’ would be a good way to begin a downhill slalom. “ys Space Vikings Sub-Logic If you find the prices for the upkeep of a Space Viking’s heavy cruiser bothersome, try this: Begin a new game, then go to the Earth base. Pick up as many troops/weapons as your initial bankroll will allow. Plan it so you have as few credits as possible. Now repair/restock your ship. When they find out that you have no money, the local government will become angry. From here, all you have to do is return to ship control and fire one laser burst or missile and they will surrender. Now you can go on with your business. You can only do this one time. *. Zenith If you have trouble figuring out how the map in Zenith works, this should help: Your ship only travels from bottom to top of the screen. Although it looks as if you are turning, you are actually only moving side to side, and you wrap around all edges. Contributed by David A. Martin. ATTENTION ADVENTURERS! Adventure Data Base Hardcore COMPUTIST is looking for more adventure hints to any of the popular adventure/fantasy games sold for the Apple II, 1 Plus or //e, These will be used in our regular column, ADVENTURE TIPS. Your Clues, Please We prefer that these hints not be dead giveaway solutions to dilemmas presented by the particular game, but instead contain just enough information to nudge the stumped adventurer towards the solution to his/her problem. How & Where So, if you know how to open the jewel-encrusted egg, how to plug the hole in the rowboat, where to find the key to the treasure chest, or any other tidbits of information that may be helpful to your fellow traveler, please send this information on a 3 X 5 postcard to: Hardcore COMPUTIST Attention; Adventure Tips P.O. Box 44549 Tacoma, WA 98444 P.S. Please don’t forget to include the name of the adventure game to which your hint pertains and the name of the manufacturer. And don’t forget to send us your helpful Advanced Playing Techniques, too! Hardcore COMPUTIST No. 22 Softkey for Miner 2049’ er By Tom Phelps Miner 2049’er Microlab 2699 Skokie Valley Road Highland Park, IL 60035 (312) 433-7550 $40.00 Requirements: Apple with 48K One disk drive One blank disk Sector editor such as DiskBdit Super IOB v1.5 iner 2049er is one of Microlab's all- time bestsellers and can consistently be found at the top of the sales charts, even today. This is more a thinking man’s game than one of manual dexterity; if you plan your jumps right, you need not be a master of joystick control to complete each level. Although the game itself is very entertaining, trying to copy the disk isn’t; it takes a considerable amount of time to copy the nibble count on track zero with most major nibble copiers, Fortunately, we have Super IOB and, with @ little investigation, we find that the Miner RWTS is normal enough to allow most of the disk to be copied with the Swap Controller, ‘Though the Swap Controller is needed on tracks $1-$22, track @ can be copied normally with any copier. Some. sector edits must be performed, in addition, to defeat the nibble count on track 0. To eliminate unnecessary steps, we will combine the copying of the normal track and the defeating of the nibble count with the use of the Swap Controller to produce a unique controller that will copy the entire Miner 2049’er disk. Here are the steps needed to crack Miner 2049’er: Step-By-Step 1) First we need to capture Miner's RWTS. Fortunately, for those who don't have or have access to a ROM that enables you to enter the monitor when RESET is pressed, Miner allows us to do this without one. The first step to obtaining the RWTS is to insert the Miner 2049’er disk in drive 1 and boot it. PR#H6 2) Now, when the title page comes up, press any key. Press RESET when asked which joystick you wish to use, Now enter the monitor {indicated by the ‘**"" prompt), CALL -151 3) Move the RWTS into a safe location for a DOS 3.3 reboot. 1908<B800.BFFFM 4) Boot a standard 48K DOS 3.3 disk: C6MG 5) Save the RWTS on the Super JOB disk. BSAVE MINER 2049’ER.RWTS, AS19900, L$800 6) Install the Miner 2049" er controller listed at the end of this article into Super IOB and run the resulting program. When asked whether to format the disk or not, answer ““Y** for yes. The Sector Edits When Super IOB is finished deprotecting your disk it will have performed the following sector edits: Track Sector Byte From To $01 $01 $81 $00 SEA $01 $01 $82 SOC SEA $01 $01 $89 $08 SEA $01 $01 $8A $04 SEA $Ol $01 $92 SBE $C5 $01 $01 $94 $BE $05 The first block of sector edits tells the Miner RWTS to expect normal address markers, the next tells the Miner RWTS to expect normal data markers, and the last disables the nibble count routine. Advanced Playing Techniques For you game buffs, here is a bit of information you might consider using. The high scores in Miner 2049"er are recorded on Track $01, Sector $07, starting with byte $00. You might want to sector edit these, temporarily of course, and impress friends, relatives and neighbors. Or try the following APT where a sector modification will give you unlimited Bounty Bob’s (I suggest that you make a copy of the softkeyed Miner before you make this change so you will have a ‘“‘normal”’ copy plus the copy that allows the unlimited number of men). On Track $02, Sector $01, starting with byte $72, overwrite the existing code with A9 03 8D 16 08 8D 17 @8 4C 81 09. You now have a COPYAble Miner 2049’er disk. And, if you did the APT, live long and prosper! Miner 2049’er Controller 1900 REM MINER 2049ER 1O19TK= 6 :LT=1 :ST=15 :LS=15 :CO=WR :FAST =i 1020 GOSUB 496 :T1 =TK : IF TK = @ THEN GOSUB 619 LT =35 :TK=1 1025 RESTORE : GOSUB 360 : GOSUB 618 1030 TK = PEEK (TRK ) : GOSUB 316 : GOSUB 368 : GOSUB 498 :TK=T1 : GOSUB610 : IF PEEK (TRK ) = LT THEN 1050 1048 TK = PEEK (TRK ) :ST=PEEK (SCT) : GOTO1920 1050 HOME : PRINT "COPYDONE' : END 5000 DATA 22*CHANGES 5010 DATA 8, 3, 53, 222, 6, 3, 62, 201, 9, 3, 63, 170 5820 DATA , 3, 85, 213, 8, 3, 95, 178, @, 3, 186, 158 SOIODATAD, 3, 145, 222, B, 3, 155, 176, 9, 2, 83, 213 5046 DATA O, 2, 88, 178, @, 2, 93, 173, B, 2, 158, 222 SOSODATAG, 2, 163, 170, 8, 2, 231, 213, 0, 2, 261, 178 5066 DATA G, 2, 252, 173, 1, 1, 129, 234, 1, 1, 138, 234 SO7HDATAL, 1, 137, 234, 1, 1, 138, 234, 1, 1, 146, 197 5088 DATA1, 1, 148, 197 10010 IF PEEK (6480 ) < > 162 THEN PRINT CHRS (4 ) "BLOAD*RNTS. WINER, AS19860" Controller Checksums 1008 - $3568 5628 - $2C10 1919 - $EA41 5030 - $BCAC 1026 - $8300 5849 - $9E7B 1825 - SAD6B 5050 - $E27B 1930 - $1E91 5068 ~ $3682 1949 - $CCD4 5070 ~ $CBC8 1950 - $97CA 5080 - $6034 5008 - $5EF4 10918 - $BBAC 5010 - $FFO4 ES 10 Hardcore COMPUTIST No. 22 INI Softkey For Lode Runner Lode Runner Broderbund Software, Inc. 1938 Fourth Street San Rafael, CA 94901 (415) 456-6424 $34.95 Requirements: Apple with 48K One disk drive with DOS 3,3 One blank disk Modified F8 ROM capable of saving pages $0-$7 Super IOB y1.2 Lode Runner ode Runner, another best-selling game from the fun-loving bunch at Broderbund, has recently succeeded Choplifter as everyone’s favorite game, not just because everyone was tired of playing Choplifter, but because Lode Runner has to be the ultimate in non-repetitive play. It boasts 15@ unique screens plus the ability to create an unlimited number of your own. Unfortunately, Lode Runner also surpasses Choplifter in the complexity of copy-protection. ‘Whereas you could buy a ‘“‘copy-card’’ and “‘crack"’ the single-load Choplifter with the press of a button, Lode Runner poses a more difficult challenge because it requires disk access during game play, Following the unusual boot-up, Lode Runner doesn’t check the quarter tracks (tracks protected with spiral protection) and, amazingly enough, uses a fairly normal RWTS to read and write the game boards. We just need to capture the main program from memory and fit the game board tracks (along with the main Lode Runner program) and a DOS all on one disk. The two parts of the softkey are completely different so to prevent confusion, the procedure below is divided into two sections, If one section By Tom Phelps doesn't turn out well, the whole softkey need not be redone. You should find the softkey casy to follow and, if you possess the required hardware, you should encounter no difficulty in performing it. Part One: Grab 15@ Game Boards If you played all 150 levels of Lode Runner and monitored the disk drive read/write head along the way, you would find that only tracks Lode Runner, another best- selling game from the fun- loving bunch at Broderbund, | has recently succeeded Choplifter as everyone's favorite game, not just because everyone was tired of playing Choplifter, but because Lode Runner has to be the ultimate in non- repetitive play. It boasts 150 unique screens PLUS the ability to create an unlimited number of your own. Unfortunately, Lode Runner also surpasses Choplifterinthe complexity | of copy-protection. $03-$0C are used to load boards. Fortunately, these tracks are nearly DOS 3.3 formatted and Super IOB need not work overtime, To be certain that our broken main Lode Runner B- file finds the tracks in the same location as they anni were on the original disk, we will place them on the disk first, not giving the main file a chance to overwrite those tracks, Part One of the softkey is as follows: 1) Type in the Super IOB controller listed at the end of this article and save it to disk. 2) Boot up any disk with a DOS that allows a disk to be initialized, preferably one with a ““fast’’ DOS such as Diversi-DOS, Pronto DOS, or normal DOS 3.3. (later, HyperDOS could be added to a normal 3.3 DOS) PR#6 3) Initialize the BASIC pointers and clear any program in memory FP 4) Type in a BASIC program that will run our Lode Runner main file. 10 TEXT : HOME ; PRINT CHR$(4) “BRUN LODE RUN NER.B* 5) Insert a blank disk and format it INIT LODE RUNNER 6) Transfer the game boards from the original disk to ours by running Super IOB with the Lode Runner controller installed 7) At this point, if you don't have a sector editor (such as The Inspector or Disk Edit), you can g0 ahead to Part Two, We really don’t need to mark these tracks as “‘used"’ in the VTOC since the main Lode Runner B-file will be saved on tracks beyond track $11 but, just as a precaution, we mill mark them anyway. Marking them also enables us to save other programs on this disk but. if you want to copy Lode Runner to another disk, you must use COPYA. Delete the unwanted files afterwards. Now get out your Sector Editor and modify the VTOC. Hardcore COMPUTIST No, 22 il Read Track $11, Sector $80 Change bytes $44-$68 to $09 Write the sector back to the disk. Part Two: Capture the Main Program The modified ROM is used to shove pages $0-$7 into high memory so they can be saved Out onto a normal disk, Most copy-cards will do the job just as well, but I found the modified ROM (from Hardcore COMPUTIST No. 6) the easiest to use as it leaves us in the monitor where we can perform the other necessary moves, Mapping the memory of a running Lode Runner shows us what we need to save: 6008.08FF program code 9900.0EFF 00's OFOO.1FFF; program code 2000.5FFF hi-res pages; no need to save 6000.8FFF program code 9000.97FF unused 9800.9AFF 80's 9BOG.BFFF program code We will not save the regions with only 00's. Cleverly, we will clear the hi-res screen (thus filling it with 60"s), then move the appropriate number of pages of 0's into the correct location. 8) Before capturing the main file, type in and save the following hexdump which will move everything back into place and start the game. 2900; AB 5A AI 9B A2 25 28 48 © $C200 2988: 29 AD 2A AD 6B A2 36 20 © $2EEF 2918; 4B 29 A 46 85 E6 20 F2 $0416 2918; F3 AQ 40 A9 09 A2 86 20 © $8B5D 2928: 4B 29 Ad 49 A9 90 A2 OB $9080 2928: 26 4B 29 AO 22 A9 G2 A2 $5D67 2930: 97 26 4B 29 AO 09 B9 OG SAASC 2938: 20 99 00 00 C8 DO F7 B9 $1371 2940; 08 21 99 69 81 C8 DOF? $eBCe 2948: 4C 00 60 84 01 85 03 AD $7A14 2950: 00 85 06 85 62 Ad G0 Bl $FEBE 2958: 00 91 02 CB DB F9 EG 81 scsa2 2960: £6 03 CA DO FO 60 $8038 9) Check your typing with CHECKBIN and now save it to another disk (one other than our Lode Runner disk) with a BSAVE LODE RUNNER.MOVES, A$2900,L$66 10) Enter the monitor CALL -151 MINN 11) Clear memory 220:0 N 221<220.BFFEM 12) With the Modified ROM installed, insert LODE RUNNER and boot it up C606G 13) When the title screen appears, Press RESET and then a “‘:’’ (colon) to move $0-$8FF to $2000-$28FF, 14) From the monitor, tuck the code in safely and compactly to prepare for booting a DOS 3.3 disk (which wipes out memory except for $900-$9SFF) 2A00<6000.8FFEM 5A00<9B00.BFFFM With the code relocated, the new memory map looks like this: OFOO. [FFF 2008. 28FF 2900. 29FF 2A00, S9FF 5A00_7EFF same as before (OFOB. 1FFF) destination of 0000. O8FF move routines go here destination of 6808. 8FFF destination of 9800. BFFF 15) Preface the compacted code with a jump to our move routines EFD:4C @@ 29 16) Insert a DOS 3.3 disk and boot it C600G 17) Install the move routines BLOAD LODE RUNNER.MOVES 18) Insert the disk with the copied game boards ‘on it and save the main Lode Runner file to disk BSAVE LODE RUNNER.B, ASEFD,L$7003 19) You should make a backup copy immediately by COPY Aing the disk to a blank or no longer needed disk. You're done! Have fun! Lode Runner Controller 1906 REM LODE RUNNER CONTROLLER 1018 TK = 3 :LT = 13 :CD = WR :MB = 151 1028 T1 = TK : GOSUB 490 : RESTORE : GOSUB 179 ; GOSUB 278 1930 GOSUB 436 : GOSUS 100 :ST=ST+1: IF ST< 16 THEN 1630 1040 |F BF THEN 1868 1050 ST =0 :TK=TK+ 1: IF TK < LT THEN 1030 1060 GOSUB 230 -TK =T1 ;ST=@ : GOSUB 490 1078 GOSUB 430 : GOSUB 100 -$T = ST +1: IFST< 16 THEN 1876 ITN 12 Hardcore COMPUTIST No, 22 1086 ST = 9 :TK=TK +1. IF BF =@ AND TK < LT THEN 1978 1090 IF TK < LT THEN 1020 1190 HOME :AS = "ALL“DONE" : GOSUB 459 ; END 5808 DATA 222 ,235 222 ,170 Controller Checksums 1908 - $3568 1960 ~ $A2E5 1619 - S9BCC 1070 - $2133 1620 = $4A02 1088 - $9A47 1638 - $CCO5 1996 - $00CC 1848 - $EC60 1108 - $B68C 1958 - SECDF 5008 - $5471 Hardcore COMPUTIST welcomes articles of interest to users of the Apple J (@r compatible) computers and would like fo publish well-written material Including: * Softkeys * Hardware Modifications * Advanced Playing Techniques * DOS modifications * Utilities * Product reviews * Adventure Tips * Original programs * Do-it-yourself hardware projects * General Interest articles * Bit-Copy Parameters Have you written an ARTICLE or PROGRAM you'd like to see published in Hardcore COMPUTIST ? We would like to hear trom youl Hardcore COMPUTIST Writer's Guide PO Box 110846-K Tacoma, WA 98411 Softkey For A2-PB1 Pinball By Joseph W. Leathlean “Just like all the other programs that make it to the pages of Hardcore COMPUTIST, the only REAL problem with A2-PB1 is that it Is protected. To make things worse (as If being copy protected isn't bad enough), the protection scheme causes a very slow booting process.” Use the procedure below to change all that! A2-PBI Night Mission Pinball subLOGIC Communications Corp. 713 Edgebrook Drive Champaign, IL 61820 $34.95 Requirements: A2-PB1 Night Mission Pinball 1 blank disk 64K Apple II, //+, i/e 2-PBI is, in my opinion, the best pinball game that you can get for the Apple. The game itself is well designed and, with the ability to change certain parameters to control the action of the game, you can make various versions of the game which can be either challenging, or easy. The graphics are superb and the unmodified ball motion is smooth as well. To play the game you may use the keyboard or two paddle buttons, either on (?) two paddles, a joystick or the open and closed apple keys on the //e. The Problem Just like all the other programs that make it to the pages of Hardcore COMPUTIST, the only REAL problem with the game is that it is protected, To make things worse (as if being copy protected isn't bad enough), the protection scheme causes a very slow booting process. It takes approximately 30 seconds to boot up the game. After examining the disk using TRAX from Bag of Tricks, I determined that I would have to either use a WILDCARD device on the game, or boot code trace it. While any WILDCARD device will work, the boot process is still somewhat slow since 64K of memory must be loaded in, As you will see later, the game itself is only 36K in length. My first attempt at boot code tracing, it took me two hours to unprotect the program. This was almost a year and a half ago but, before I was able to write the article, I misplaced my notes. ‘When I finally decided to redo the procedure, it only took 15 minutes to break it down. Using these notes (the successful boot tracing venture under my belt) I was able to complete the procedure in less than five minutes. If you are experienced in boot code tracing it should take no more than five minutes to unprotect your A2-PB1. Iam presenting my procedure in two parts. The boot code trace with explanations of each ‘step so newcomers might learn from it, and the procedure in cookbook form. The Procedure Explained Initialize a diskette using DOS 3.3 or a high- speed DOS such as PRONTO-DOS, Please use the method below so that there is a null HELLO program. NEW INIT HELLO Clear the computer's memory CALL -151 C081 C081 F800<F800.FFFFM C083 C083 300:8 301<300.BFFFM 1D000<1000.37FFM This clears out all memory and copies the monitor over to the language card so it can be used. Because of the length of the program and the boot process, the boot code trace cannot be done on a 48L machine. Move the disk controller ROM into the language card so it can be modified. Modify it to exit to $F701 instead of $801 and inscrt @ routine to shut off the disk drive at $F701. 1D600<C600.COFFM D6FA:F7 F7@1:AD E8 Cé 4C 59 FF Executing this modified boot stage will load track 0, sector @ into $800. D600G After a moment the computer will sound off its somewhat annoying beep and the disk drive will stop. At this point memory location $800 contains the total number of sectors to be loaded by the $C600 code (normally and, in this case, a one (1)) and $801 is the next address to be executed. Move the first stage code into the language card so that it can be modified, 1D806<800.8FFM Now examine the code at $D800, You should notice that it jumps to a routine at $D8DA which moves page eight down to page three and executes the moved code. We must modify this routine so that it moves the code from $D800 to $300 and locate where the page three code exits and force it to exit instead to $F700. The location I refer to is at $D8B4 which normally jumps to $800. Make the following modifications: D8@3:D8 D8DE:D8 D8B6:F7 Now modify the boot code ROM to jump to this modified routine and load the next stage of the boot code by re-executing the controller ROM in RAM. D6FA:D8 D6OOG After a moment the drive will again stop and the next stage of the boot code will be loaded. This stage occupies memory from $800 to $1000. Even so, the only location that we need to modify is the first routine, listed below, which loads the rest of the program. Hardcore COMPUTIST No. 22 3 9880: 4C 83 G8 JMP $6863 9803: A9 90 LOA #§98 9805: C5 7B CMP $7B 9887: FO 84 BNE $0860 6809: 20 GE 63 JSR S03GE O30C: 60 BRK @80D: AD E8 CB LDA SCOES You should be able to figure out that the Toutine at $30E loads a page of memory from the disk and jumps to $800, This routine uses the same exit point as the last modification, so we can modify it to exit to the new location where we will put a modified version of the above routine. E800<880.80CM E8@2:E8 E80D:4C 06 F7 DSB6:E8 Now execute the controller routine to re- execute the boot code. D6MG The program will be loaded in about 20 to 25 seconds, and occupies memory from $810-$90FF, but you just can’t save that portion and later re-execute it. This is because the page three code contains something needed by the program. We have to save that code and have it reload when first executed. If you remember, the boot code has a routine which moves memory from $800 to $300 and executes it, This routine is now in page three and can be modified. First we have to move page three to $910@ and modify the routine to move it back and jump to $819 or, better yet, make it into a subroutine which can be called from $88D. 9100<306.3FFM 91DE:91 91E6:68 80D:28 DA 91 Now we can save the program as one whole chunk and recall it by simply BRUNing it, but we must also get DOS into memory so we can BSAVE it. Because booting a DOS diskette destroys page eight, we must first protect it. If a HELLO program is present, it can destroy other areas. That is why you should have typed NEW before initializing the diskette. 9200<800.8FFM Insert new diskette now and boot it COG When the diskette has completed booting, restore page eight, modify DOS so it can save programs longer than $8000 bytes and save A2-PB1 CALL -151 806<9200.92FFM A964:FF BSAVE NIGHT MISSION,A$8@D, L$89F3 You now have an unprotected A2-PBI program, To use it, either modify your HELLO program to autornatically BRUN it or, after booting, type BRUN NIGHT MISSION. 14 Hardcore COMPUTIST No. 22 1) Boot DOS 3.3 or high-speed DOS and format it with a null greeting program NEW INIT HELLO CALL -151 2) Enable the language card RAM and copy the monitor into it C081 C081 F800<F800.FFFFM C083 CH83 3) Wipe out most of memory 0:0 W1<300.BFFFM 1D000<1000.37FFM 4) Move the controller ROM to RAM and modify the boot slightly D600<C600.C6FFM DO6FA:F7 F701:AD E8 C@ 4C 59 FF 5) Insert your A2-PBI disk and execute the partial boot D6OeG 6) Copy $800 into $D800, modify the copy so it will work at the new location and then jump into the monitor and execute this partial boot 1D800<800.8FFM D803:D8 D8DE:D8 ea eo Ney “il Shbhhhhhs D8B6:F7 D6FA:D8 D68G 7) Modify the boot some more and execute it E860<800.80CM E802:E8 E8@D:4C 6@ F7 D8B6:E8 D680G 8) Compact the code 9100<300.3FFM SIDE:91 S1E6:68 80D:20 DA 91 9200<800.8FFM 9) Insert the disk you initialized in Step 1 and boot it C68G 10) Enter the monitor and move the $800 code back to its original location CALL -151 800<9260.92FFM 11) Modify DOS so that it can save more than 32K and save Night Mission A964: FF BSAVE NIGHT MISSION, A$86D, L$89F3 Enjoy your deprotected version. Bie Customized rive Speed Control By William Wingfield, Jr. Requirements: Two disk drives recommended Low-wattage soldering iron Small hook-up. wire 1K 10-turn pot and dial Two 2.2K 1/4W or more resistors A few screwdrivers An Exacto blade A small amount of heat shrink or spaghetti tubing (a Multitester is recommended) Note: The procedure described below requres dismantling of the disk drive which voids its warranty. Hardcore COMPUTIST will not be held responsible for any damages incurred while following this procedure. ike myself, many of you would probably like to be able to adjust the drive speed on your Apple's disk drive without removing its cover. In fact, you may have already drilled a hole in the case to reach the speed control with a small screwdriver. Although this is much more convenient than removing the drive cover to adjust the speed, it still doesn’t compare with simply turning a knob and being done with it. The following article details a procedure in which a 1K (instead of the usual 5K) variable resistor is mounted on the front of the disk drive to provide easy access to the disk drive and a much finer control over its speed (you'll appreciate this modification to your disk drive the very first time you have to match a nibble count while making a backup). A Bit of Background The speed control pot for the Apple Drive is on the back circuit board in the drive. You must use a very small screwdriver to access it, and a slight turn is usually all that is needed to adjust the drive speed. This speed control, a 5,000 ohm (5K), 10- turn mini-potentiometer, has three contacts (we'll call them A, B and C) which are arranged as shown in Diagram A. The resistance between points A and C is always SK ohms, Point B slides along the resistive ’) surface as you turn the knob. This has ffect of varying the resistance between point A and B and between point B and C. The resistance levels (from A to B and from B to C) vary inversely so that the resistance between A and B plus the resistance between B and C always equals 5K ohms. Diagram A + pac | 2K “WV ika, We are going to replace this control with a standard-sized 1K pot (padded to SK) that will be mounted on the front of the drive where it is easily accessible. See resulting schematic below in Diagram B. SKR Notice how the characteristics of this schematic match those of the original 5K pot schematic. This similarity is a necessity. Digging Into The Drive 1) Turn off the power to your Apple, touch the power supply to remove excess static and, just to be safe, disconnect the power cord. 2) Disconnect the drive cable from the controller card by firmly and evenly puiling upward on it. 3) Remove the four screws that secure the cover of the disk drive (located on the bottom surface of the Apple drive) and slide the cover in a backwards direction so that it slips away from the unit. Place the drive cover and accompanying screws in an out-of-the-way place. 4) Open the drive door, remove the four screws (located on the left and right sides of the face plate) from the face-plate and gently pull it forward to allow the door to slide out of the guide tracks, 5) Use a small screwdriver or knife to pop the Hardcore COMPUTIST No. 22 15 @Z "ON LSLLNdWOD s0oprey or 3 “pofoid Burxjsnes pue ajqeAofua we puy [],n04 UIP | ‘uoReoyrpour ay ayEUT 0} aploep pue Surop ai,nok yYM MOY NOX JI ‘IZAQMOHL “Suyjpuey sedoidwr qi AAUP Inok oBeup Ajsnoies pros nok -ypsinok 2 An LNO 20m Jo od. sryp ysis paouoriadxs 3,008 nok jy “ABATES UETR ID9G SOO] YJ “SU RQ B 398 “perp & Furseyound uaym s0]O9 jo aat0yo % aaey nox yr puy “Suryooy 3.ue1e nok vay Buryos 3uy yn Kejd 01 ayqe aq 1,00% ajdoad os jerp Suryoo, & 103 “aro nod Jy :rydjay puy 14yStu nod YoTYA suOTepUsMTOO[T jo ajdno> & om d19qH “TPO ap JO auasixe auo o} Ay[ny porn st tod ap ey) Wes amp UT OAL 2 weBeig fh and vt ay yo wonsaioid sapraoid a snyd yoxUO ayeINI9e aI0UL 40} SMOTTE YT Bang (s10STS93 SuIpped moun) pesn aq ues yod yo & sores pos sy “spremsaye peed 1eus09 arp 0} WINJaZ NOK $39} TIP ou) pur 279019 & are suNOD apqqru BuI0g “yea NOK Joasuaym Ayisea pue Appomb oaup YSIP InoX uo peeds ayy ysnfpe ue2 nok MON "zan00 doy ou) aoejdar ‘Suppom oaup ay aaey nod way Aa (EZ “od arp ueWp samo Surypausos $31 ey} MOUY NOX Uta]Qoud & [TIS st a19qp JT "300g & AQ pur yod yeursr10 oy soujdar “Loser yse] B SY “posn sJOWsIse1 oy YIM auO MOU S41 JO Vue ayy UT ST aNyeA oy Jey} aINs syeul pue urege yod jeurgiz0 94) uo souNsTs2 om ainseay Surpuey apy oALP om PoSewep 3,usaey nox Jey eins ayeUI 0} YOY “HOM NOK Jo |e wedsut-er pue addy om Jo wary *Ksadoud snipe 3,u0m poods aup 31 (7Z “S20p HI [TUN 30g OF Bendy dooy pur perp ap wumy ‘asimzayQ "YOUN ou pue wesSoud ys23 poads esp) “suOp ysouTTE 34,NOK S00p 41 J] “S100q 11 Jf 29s PuE OALIP Op UT SIP B and “Arp auo eaxy Aquo noX 37 “parfeysuT ysnf nod yetp 10d mou ay YIM Zq TO poods ou PS “TC Ut wesBo.d 330) peads e yooq pur 7 se dn oAUp stun 1990U09 ‘seatIp ona ART NOK J BORRIOI SIT Jo ofp ay OY jo.nUOD oup 195 pur addy moX 03 yoeq sats amp 1ouUOD (1Z “prwog WNoIIS Bae] ay 02 2Qed uoqqu ain dn yooq pur (39409 2y ul Sajoy yuns saqunoD om TEM dn pour] 238 sajoy Meuds ayy ‘eyp auns Bapyeur) JaA09 whoyog ap ooejdoy (GZ sadeys poo8 ul 212 suonjseuuco oy) yey) ouns yew pue Apnyares wom amok 3900 yoo] (6T “ut yoeq smaras oyepd cons oun ind uot “Ajeauy JOOP aALIp YsIp op NGS pure usdo ues nod Jem ams og: “TL YIEM stu Je sUOTONySUT ayy Jod 10d uim-p1 a JUNOU PU SALIP oy) UO 4Ieq ayejd-oory ou ynd ‘oyeyd 2ouy oup UL eq GAT Mp Nd (ST “Surqm mayZeds 10 STULIYS-189q YIM SuoA29MIOD oy2 QAO *ToUTUNIOR Jodim ayy 01 pea] Jodi pue “RUTULI ADD AMP Uo JOrsisar 3B 03 PRT ADD “THUMBS AAD | oyp wo soystsax amp on pea] A) sAjquiosse yod ayy uo pes] Surpuodsaiioo op 9) preog ya a Wor sau tp LapIog (LT “MOO 2u) 0} duo pue feUTULIAR MD op 0} U0 ‘od UstU-9T HI 2p 01 siorstsax Surpped yz om) EP J9pOS pur .,2/1 8 spea| soysisar ap dD (9T *ApSurpsoooe sioysisas Surpped arp ayesuaduo9 0} BABY TI,NOA I*ust 4 JT “WORBIOI SIE Jo 19}99 ay Jeou ssoyMouNos st Jodim amp 3eIy SurMoys ME PUR WZ UsIMIEq 9q Hog Pinoys Kay], “ony JOWpO Op puB TeUTULIS) Jodim ai usaN9q SOURISTSIT HP INSP “WOA ® BABY NOK Jy (ST “sugoeds jyeurs: aip Sutsn preog ymax TTeUIS amp wunoWeY (pI “(q WeIsEIq 995) 21am speuru 10d aup aray uoRIsod y2e> 0} BuO Japjos pue Su0j S@YOUT OT Ioge aut Jo soad samp ID (ET “yod-rurar ou J9pjosaq (ZI “wod-turm yg au) uo payreur SE AM 2p SE GOYA pu ALD atp st eT) YR AON “GE Uo yd qwaunsn{pe poods om TPM pyvog ap) svax oy UT Preoq ynoITO Tews Ip Wo sMazos OM) ay) BAOWIAY (TT *@pISR SMAIOS INOJ pue a[qed UoqqU ‘ZaA02 WOHOG Wf WS “I oAOWISI pue 19A09 arp so pred mioyog oy) sunoes yer (ALP om Jo WONOY Oy) UO) sM2I98 INOJ ay1 INO xP, (OT “powmatso stat em yore ‘Mou 0} ains 9g “pIEOg yNOND oB3e] oy) Woy 2IqeD UOggL atp JO pu IoTpo Kp lo9UMODSIC (6 “yoouwow 94 JO} Opise smayos snoy sy pue ayeyd oowy NOK e08id pur 10d axp 404 yoy Sununou ay TLC (8 *(UonEDO] 2]o4 Sununow ax 105 C UTEIBEIG 0} Jaya) Ino 208g Jo uoNIDes om deus pue onseyd QU BOIS O} [MB YOIEIIS B as—) “powMoUT 9q 07 20d atp MOTTE 0} porourar oq IsnU a1ejd-eous 2qp puryaq Suroesq onsepd om Jo ,.1 ogy (L “BALIP ITP JO 99yj JUIOd [I a1eId-20"y amp Pure qunou! ayy Jo No CfA’T amp ind Apuag (9 “2D weIdeig ur parensnyy se wunour GET op woy Aeme Sus Surupees onseyd Super IRORDE v1.5 With the addition to the machine language portion of Super |.0.B. plus the inclusion of a new subroutine, this newest version of Super 1.0.B. will copy a disk more than 3 times faster than its predecessors. by Ray Darrah Requirements: Apple ][ Plus, //e or //c One DOS 3.3 disk drive Somewhere near the beginning of time, as Hardcore knows it, an Applesoft program called IOB was written by ‘“Bobby.”’ This program was designed to deprotect disks by interfacing directly with a machine language program in DOS called the Read/Write Track Sector program (RWTS). IOB was so named because it modified a parameter list in DOS called the Input/Output control Block (IOB). At first, quite a bit of confusion was generated due to the fact that the Applesoft program had the same name as the parameter list used by the RWTS. Not quite as long ago (a few short eons in the evolution of Hardcore) a program with the same concept as IOB was introduced. This new program was called Super IOB and, in all modesty, the new name was justly given because of the several advantages it offered over the original IOB, Perhaps the most notable of these is the controller concept in which a short subprogram is keyed into the main portion of the Super IOB program thus changing it adequately to allow it to copy many disks with varied protection schemes. Although IOB incorporated this same concept, due to the structure of the program, it was often necessary to change other lines of the program in addition to keying in a controller. ‘When you get right down to it, Super IOB's power is derived primarily from a small collection of Applesoft subroutines, These subroutines are called by the inserted subprogram (the Super IOB controller) in a particular sequence to allow deprotection of individual programs, The concept of Super OB is simple, but only by understanding the function of the subroutines in Super IOB can an Applesoft programmer learn to create a controller for a specific disk. Since the introduction of Super IOB, Hardcore COMPUTIST has used this flexible program to deprotect (or partially deprotect) dozens of commercial programs. In addition, Hardcore COMPUTIST has printed several utilities designed to aid the programmer in his use of Super IOB. These include ‘‘CSayer’’ (Hardcore COMPUTIST No. 13), a machine language program which helps in the merging of the controller and Super IOB, and ‘““The Controller Writer’? (Hardcore COMPUTIST No. 16) an Applesoft program which asks the user questions and then formulates the components of a Super IOB controller (depending upon the answers) which are needed for that particular application. Presented here is the second update to Super IOB. Because of an addition to the machine Tanguage portion of Super IOB and the inclusion of a new subroutine this new version of Super OB now can copy a disk up to 350% faster than its predecessors. Keying in Super IOB for the First Time If you don’t already have Super IOB, you will have to use the procedures outlined on page 2 of this magazine to key in the Applesoft and Machine Language portions of the program. Save the Applesoft portion with: SAVE SUPER IOB And save the new machine language portion with: BSAVE IOB.OBJ@,A$300,LSA8 Updating Super IOB y1.2 If you have a copy of Super IOB v1.2, to update it, you need only key in the BASIC lines whose corresponding checksums are shaded and key in the new hexdump. Use the commands listed directly above to save the two portions of your new Super [OB, You may then skip to the section entitled “‘The New Routine."* The Function Of Super IOB Super IOB de-protects disks by pushing the RWTS subroutine in DOS to its upper-most limits. Because of this, it only copies disks with sectors that somewhat resemble normal sectors, Before a disk can be softkeyed, the sector alterations must be determined. The easiest way to do this is to use a nibble editor program [like Bag of Tricks, DiskView or The Linguist (from CIA)] which shows these sector differences. Once the protection has been discovered, a controller program (lines 1000 through 9999) designed to deprotect such a scheme must be inserted into Super IOB. Here is a list of the protection schemes Super IOB was designed to softkey: 1) Altered address, data, prologue, or epilogue marks 2) Strangely numbered sectors or tracks 3) Modified RWTS (with same entry conditions) 4) Half tracks for any of the above 5) 13 or 16-sector base format for any of the above A Little Briefing The following is a short discussion of the protection scheme and how each relates to Super IOB. Keep in mind that often more than one scheme is used at a time. This has the effect of complicating the Super IOB controller. Altered Marks DOS looks for specific marks when trying to read a sector. Changing these is a common practice, especially on older releases. As previously explained in the Whiz Kid column, DOS puts certain reserved bytes on the disk (during INITialization) so it can determine where a sector begins and ends. For example, a normal 16-sector disk has the bytes DS AA AD designating the start of thedata field which contains the 256 bytes of a sector in encoded form. When a standard RWTS tries to find a sector, it looks for these marks. If they are not found, (either because they don’t exist or they have been changed to something else) DOS returns with the dreaded /O ERROR. The sequences of the four reserved-byte marks (start of address, end of address, start of data, end of data) are handled by subroutines in Super IOB. These subroutines change the marks that the current RWTS looks for when reading. Hardcore COMPUTIST No. 22 17 Strangely Numbered Sectors Within an address field, there are 8 bytes which alert the RWTS to which sector is about to pass under the read/write head. On some disks, these are not standard. These disks are easily softkeyed with Super IOB. The controller instructs Super IOB to read the sectors using the strange sector numbers and then write them using the correct numbers. This works because the RWTS merely compares the sector number found on the disk with the one the controller is looking for (even if it is higher than 15 and; therefore, illegal). Modified RWTS The disk-protectors will often rearrange and/or modify the standard RWTS subroutine. If this is the case, you must first save the strange RWTS onto a normal DOS disk and then. use a controller which reads the protected disk using the strange RWTS and then writes via the normal 3.3 RWTS. Such a controller is included in this article. Tt is called the SWAP controller. This is because of its use of the “Swap RWTS at $1900 with the one at $B800"" routine in Super IOB. Since the RWTS of a protected disk will be modified to read any altered DOS marks, this is an easy method to use if you are unable to determine the protection scheme. Half-Tracks There is a motor inside your disk drive that is responsible for moving the disk head to the various tracks. Known as the stepper motor, it has four (numbered © to 3) that can be turned on or off by ing memory locations. When one of these magnets is turned ‘on, the permanent magnets in the motor are attracted to it and the motor shaft turns until the permanent magnets are aligned with the electromagnets. To obtain continuous motion, a program would: 1) Turn a magnet (called phase) on 2) Wait for the motor to get aligned (it doesn’t take much time) 3) Turn off the magnet 4) Turn on the next adjacent magnet (the next magnet differs depending on whether you want to go to a higher or lower track) 5) Go to step 2 Because of the resolution of the disk head combined with the accuracy of the stepper motor, normal DOS tracks are placed only on the even phases. This means that for every track DOS moves, it references two magnets. As a result, the disk head never stops at any of the odd phases (i.e. aligned with magnets 1 or 3), ‘Therefore, the odd phases are commonly called half-tracks. on these phases that are inaccessible to normal DOS. A routine called ‘‘Move S Phases’? (in Super IOB) handles the job of getting to these so called half-tracks and can also be used (by a controller) to get to tracks that have been Super IOB v1.5 Source Code mien pe Aeros enn * Super 10B machine routines S BY RAY DARRAH G3D9- RATS.B800 .EQ $0309 ENTRY POINT TO RATS #$B800 0412- INVOKERROR .£Q $0412 ROUTINE THAT CASES BASIC TO 00 THE ERROR CONTAINED IN X 1£00- RNTS.1900 .£Q $1E09 ENTRY POINT TO THE RNTS AT $1900 B9AQ- SEEKABS .£Q $B9A0 _ ENTRY POINT TO THE SEEKABS ROUTINE AT $8800 WODE- BAS ERR .£Q 222 iBASIC ON ERR ERROR CODE OOFC- SWFRM = EQ. SFC sEXCHANGE FROM PARAMTER GOFE- SHTO -EQ SFE ‘EXCHANGE RWTS 'TO' PARAMETER AED- PAGES EQ SEG iNUWBER OF PAGES OF MEMORY TO EXCHANGE 9824~ CH »EQ $24 CURSOR X POSITION FODA- PRNTBYTE .EQ $FDDA PRINTS HEXADECIMAL BYTE . OR $0308 STARTS AT PAGE THREE $ .TF 108.088 * ’ si ik Sit EET Rone Severn . 3 CALL RWTS. “ 0300: A9 63 10 LDA /TABLETYP ENTRY POINT FOR CALLING THE RWTS THROUGH BASIC 0302: AB BA LOY #TABLETYP A,Y POINT TO THE 10B TABLE 9304: 29 D9 03 JSR RNTS.8800 GO TO THE RWTS AT $8800 0307: BO 16 BCS DOS.ERR IF THE CARRY SET THEN CAUSE BASIC ERROR 9309: 60 RTS OTHERWISE, ALL 1S WELL SO RETURN 830A; 91 TABLETYP .HS 61 TYPE OF TABLE (1=108) 9388: 60 SLT HS 68 SLOT TO BE ACCESSED NEXT (VIA POKESLT.S0) 9300; 91 ORV AHS 61 DRIVE TO BE ACCESSED NEXT (1 OR 2} 9360: 80 VoL. AHS 08 VLUWE TO BE ACESSED (G=ANYTHING WILL DO) B30E: 08 TRK SHS 08 TRACK TO. ACCESS O30F: OB -HS 08 SECTOR TO ACCESS 9318: 1B 03 DCTPTR — .DA DCT POINTER TO THE DEVICE CHARACTERISTICS TABLE 9312: 68 BUFFERLO .HS 98 ALWAYS WAKE LSB OF BUFFER POINTER ZERO! 9313: 27 BUF -HS. 27 SECTOR BUFFER PAGE POINTER 9314: 00 NOTHING KS 08 NOT USED 0315: 80 BYTCOUNT .HS 9@ BYTE COUNT FOR PARTIAL SECTOR (@=256 BYTES) 9316: 60 CHD HS 66 COMMAND CODE (@=SEEK) 9317; 60 RYTS.ERR .HS 08 ERROR CODE THAT THE RWTS B80 RETURNS WITH 0318: 00 OVE HS 68 VOLUME NUMBER OF LAST ACCESSED DISK 9319: 60 OLDSLT HS 66 SLOT PREVIOUSLY ACCESSED 831A; @1 OLDORY HS @1 ORIVE PREVIOUSLY ACCESSED 9318: 68 OCT HS 68 DEVICE TYPE OF DEVICE CHARACTERISTICS TABLE O31C: O1 PHASES HS 1 PHASES-1 PER TRACK, (8 OR 1) 9310: EF D8 MOTORCNT .HS EFD8 MOTOR-ON TIWE COUNT O31F: AD 17 03 DOS.ERR LDA RWTS.ERR DOS HAS HAD AN ERROR, GET THE ERROR CODE 9322: 4A LSR DIVIDE IT BY 16 0323: 4A LSR 9324; 4A LSR 0325: 4A LSR 8326; AA TAX TRANSFER IT TO .X SO BASIC WLL INDUCE THE FALSE ERROR CODE 9327; 4C 12 Ds JWP INVOKERROR CAUSE A BASIC ERROR x MOVE THE DISK ARM “4 932A: AS 6B MOVPHASES LDA #08 ROUTINE TO SET UP REGISTERS BEFORE CALLING SEEKABS W320; A2 OB LOX #8068 X AND A HAVE DUWMY NUMBERS THAT WILL BE POKED INTO BY "MOVE S PHASES” §32E: 4C Ad BO UMP SEEKABS ? CAUSE ERROR IN CONTROLLER . aati! Nate Rail NM lbs st ’ 8331: A6 DE BASICERR LDX BAS.ERR BASIC HAS MADE AN ERROR SO CAUSE THE ERROR NUMBER AT 222 . continued 18 Hardcore COMPUTIST No. 22 0333: 4C 12 04 SMP INVOKERROR ara Ero Calas ann Gas Wl BIE te ee POP OFF RETURN Le 2 68 PoP PLA 1 AB TAY + 68 PLA ROUTINE TO POP OFF ONE RETURN (BASIC) ‘ORES : 84 FC sty 2 AG OF LDX BAS.ERR+1 GET WHAT STACK WOULO BE IF GOSUB WASN'T THERE i TXS PUT THAT AS THE STACK POINTER 2 48 PHA : 98 TYA RESTORE THE LAST RETURN ADDRESS 2 48 PHA 60 RTS EXCHANGE RATS's Li Bs . 2 AD 90 LOY #0 jZERO THE LSB's SWFRM =; AND HAVE Y AT ZERO FOR START SHTO sty ier bier rhvaiale iGET A BYTE sAND SAVE IT + Bl FE tee car (GET THE BYTE WHERE THE SAVED ONE GOES : 91 FC a (SNFRM) ,Y ;AND STORE IT WHERE THE SAVED ONE WAS : 68 jGET THE SAVED BYTE : 91 FE si (SHTO),Y ;AND STORE |T WHERE |T GOES 2 8 {DONE WITH A PAGE : 00 FB BRE WOVE.PAGE NO KEEP WORKING ON IT + £6 FD INC SWERM+1 ;GET NEXT MSB's: + E6 FF INC SNTO+1 2 C6 EO DEC PAGES —_|DECREMENT THE NUWBER OF PAGES TO NOVE : OO EB BNE MOVE.PAGE |{F NOT DONE, MOVE ANOTHER PAGE 2 68 RTS1 RTS sFINISHED, RTS READ OR THE ae BUFFER ¢ BS 97 HIGHEST BUFFER PAGE+1 : 5 tT LHS. 35 LAST TRACK TO GET+1 2 OF is AHS OF (LAST SECTOR TO GET-1)MODI6 O35F; AS 68 LOA #0 DO A VTAB3 0361: 85 28 STA $28 9363; A9 05 LOA #5 0365: 85 29 STA $29 0367: Ad 16 NEWTRK LDA #16 HTAB 9369: 85 24 STA CH §36B; AD OE 03 LDA TRK §36E; 20 DA FD JSR PRNTBYTE PRINT IT 0371; Ad 1C LDA #28 HTAB 9373: 85 26 STA CH 9375: AD OF 83 LOA SCT 9378: 20 DA FD JSR PRNTBYTE 8378: 20 00 63 JSR 10 GET A SECTOR §37E: CE BF 03 DEC SCT NEXT SECTOR 9381: 18 68 BPL NXT.PG 9383: AS OF LDA #15 RESTORE TO SECTOR 15 9385: 8D OF 63 STA SCT 0388: EE GE 63 INC TRK NEXT TRK 9388: EE 13 63 NXT.PG INC BUF NEXT PAGE OF MEWORY Q38E: AD 13 G3 LDA BUF 9391: CD 5C 03 CMP NB 9394: BO C5 BCS RTSI BUFFER FULL, RETURN 0396: AD OF 03 LDA SCT LAST SECTOR? 9399: CD 5E 03 CMP LS 939C: DB C9 BNE NEWTRK 939E: AD BE 03 LDA TRK @3A1: CO 50 93 CWP LT O3A4: 90 CL BCC NENTRK @3A6: BO 83 BCS RTSI END OF DISK end of Super IOB source code marked as other tracks. A complete discussion of how to use the routine appears later in this article. Anatomy Of A Controller Before we attempt to write a controller, let’s look at the subroutines at the controller's disposal. During this explanation, it would be wise to refer to the listing of Super IOB to see how each is accomplished. The New Routine There has only been one routine added to Super IOB to arrive at version 1.5. The explanation of its workings follows. Name: R/W A RANGE Line Number(s): 610 - Entry Conditions: TK,ST = first sector to read or write, LT,LS= last sector (minus one MOD 16) to read or write, MB= maximum buffer page, CD= command code This routine quickly reads or writes a range of sectors by calling a machine language program. To be faster, this machine language program stores the sectors in memory in a decreasing manner. That is: sector $0F is followed by sector $0E and sector SOD and so on. Storing the sectors in memory in a different sequence than ascending is O.K. as long as, 1) the sectors are written in the same order they are read, and 2) ‘‘The Sector Editor’’ routine knows that the sectors were stored in descending order by setting the variable FAST equal to 1. The Older Routines The following is an explanation of the remainder of the routines found in Super IOB Version 1.5. These routines were included in the older Super IOB programs. Name: START UP Line Number(s): 18 - 60 Entry Conditions: Not Applicable The first few lines merely identify the program; however, line sixty sets HIMEM and LOMEM so that they fit the memory usage requirements (see Memory Map following). It then goes to “CONFIGURATION TIME". Name: INITIAL IOB SETUP Line Number(s): 88 Entry Conditions: DV = drive to be accessed, VL= volume of disk to be accessed, SO= slot to be accessed This subroutine is normally GOSUBed via “TOGGLE READ/WRITE”. Its purpose is to reset the buffer page and set the drive, slot and volume number to the disk to be accessed next. Hardcore COMPUTIST No, 22 19 Name; R/W SECTOR Line Number(s): 18@ - 110 Entry Conditions: TK= Track to be accessed, ST= Sector to be accessed, CD= Command code for the RWTS This subroutine is GOSUBed directly from the controller. It reads or writes (depending upon CD) at the specified track and sector. Name: MOVE S PHASES Line Number(s): 138 - 140 Entry Conditions: SO= Slot of drive to move, DV= Drive number of drive to move, PH= Phase number that the disk head is currently over, S= Number of phases to move This routine moves the disk read head the number of phases specified by S (one phase ‘equals one half-track) and is capable of moving in either direction up to 128 phases (or 64 tracks). Care should be taken that PH + S isn’t greater than 255 or less than @ or an error will occur, Name: ALTERED ENDING MARKS Line Number(s): 178 Entry Conditions: Proper DATA pointers ‘This routine changes the address field and data field epilogue markers in the normal RWTS. The values to change these to should be contained in a DATA statement. Because normal DOS only checks the first two bytes of these markers, only four values are required. The address field is changed first and should appear first in the data statement. Name: ALTERED ADDRESS MARKS Entry Conditions: Proper DATA pointers ‘This routine modifies the RWTS (via POKE) ‘so that it looks for a different sequence of address field prologue marks. The decimal ‘values of the marks to look for should be stored as the next DATA elements. Name: ALTERED DATA MARKS Line Number(s): 218 Entry Conditions: Proper DATA pointers Same as previous subroutine except for DATA. field prologue marks. Name: NORMALIZER Line Number(s): 238 - 250 Entry Conditions: None This routine restores the values in the RWTS subroutine that are changed by any routine in Super IOB. This routine should be called just before writing in order to fix the RWTS so that it can access normal DOS disks, Name: IGNORE ADDRESS CHECKSUM Line Number(s): 278 Entry Conditions: none This routine modifies the RWTS subroutine so that it doesn’t examine the checksum byte of the address field. This routine has been incorporated in many controllers. Name: ALTERED DATA CHECKSUM Line Number(s): 298 Entry Conditions: Proper DATA pointers This routine alters the starting checksum byte that the RWTS subroutine will use when reading a DATA field, The normal value for the RWTS is 0. The value to change the checksum to should be the next DATA element. Name: THE SECTOR EDITOR Line Number(s): 31@ - 340 Entry Conditions: Proper DATA pointers and Elements, T1 = lowest track in buffer, TK = highest track in buffer This routine automatically performs sector edits as the copy process goes on. It must be called (via GOSUB) just after reading a range of tracks, To indicate how many sector edits are to be performed, you must have a DATA element that has the number of sector edits followed by the word “CHANGES.” For example: 110@ DATA 7 CHANGES, 1,1,3,4 would tell the sector editor that the next 28 DATA elements are sector edits. This is because each sector edit is defined in four DATA elements, The location of the “x CHANGES" element in the DATA string does hot matter because the sector editor will search it out and use the elements immediately following it. The format for the four bytes that define a sector edit is: TRACK, SECTOR, BYTE, CHANGE TO. Each element is decimal and should be within the correct ranges since no error checking is done. If you use the “R/W A Range Quickly’* routine and you wish to perform some sector edits, you must set FAST equal to | so that this routine will be able to locate the specified sector in memory. Name: EXCHANGE RWTS’s Line Number(s): 360 Entry Conditions: A RWTS at $1900 This is the standard swap RWTS's routine. It uses a routine in IOB.OBJ@ to exchange the RWTS at $1900 with that which is located at $B800, the norma! location for an RWTS. To tell the machine language swap routine (invoked by a CALL 832) what to exchange, a few POKE’s must be executed, They’ are: POKE 253, _ start of first location POKE 255, _ start of second location POKE 224, _ number of pages to exchange (a standard RWTS is eight pages long) Name: FORMAT DISK Line Number(s): 388 - 410 Entry Conditions: $2= slot of disk to format, D2= drive number of disk to format This routine formats the target disk. It was meant to be used before the controller takes hold of Super IOB (and is GOSUBed by 20 Hardcore COMPUTIST No. 22 “Configuration Time’*) but can be called by the controller should the need arise. Name: PRINT TRACK & SECTOR # Line Number(s): 430 Entry Conditions: TK = The track number to display, ST= The sector number to display This is the subroutine that puts the current track and sector number at the top of the screen in hexadecimal during the softkey operation. It should be invoked just before reading or writing each sector. Name: CENTER MESSAGE Line Number(s): 458 Entry Conditions: A$= The message This routine prints a message in the center of the screen at the current VTAB position. Care should be taken that the message to print is not longer than 40 characters. If so, an error will occur, Name: PRINT MESSAGE AND WAIT Line Number(s): 470 Entry Conditions: A$= The message This routine uses ‘*Center Message”’ to print the intended message at a VTAB of 11 and then it prints ‘PRESS ANY KEY TO CONTINUE."’ It waits for a keypress before RETURNing. Name: TOGGLE READ/WRITE Line Number(s): 490 - 530 Entry Conditions: CD= current command code This routine toggles the state of CD (from ReaD to WRite and vice versa) and prints the current mode in flashing letters at the very top of the screen. In addition, if the user has only one drive, it asks him to swap disks. It then exits via “INITIAL IOB SETUP,”* thus making the sector buffer ready for the next operation. Name; IGNORE UNREADABLE SECTORS Line Number(s): 55@ - 590 Entry Conditions: Not Applicable If the controller should pay no attention to unreadable sectors, then somewhere in the beginning of it should be an *‘ONERR GOTO 550."" This is used usually with RWTS.13 (since DOS 3.2 sectors are unreadable until they have been written to) but can be used with any disk that has unreadable sectors which should be ignored. Note that this routine will not function correctly if you are using “R/W A Quickly’’. To ignore errors when using this routine, insert a POKE 775,96 into the beginning of your controller. The Remainder Of The Program Lines 1000 through 9999 are meant for the controller and all DATA statements it contains. All lines greater than 9999 are used by the error trapper or the configurer which consists of all the prompts when the program is run. The error trapper will print a disk error and stop the program. If the error wasn't a disk error, the error trapper will let it occur. Now that you have an idea of the subroutines, take a look at the Variable Usage Table (Table 1) and note how the variables relate to them. Memory Usage Before actually looking at some controllers, let's say a few words about memory usage. Following is a memory allocation table for the various parts of Super IOB. It is extremely important to stay within the boundaries when writing a controller. If not, horrible things may happen (the least of which would be the production of an incorrect copy). Memory Allocation Table $0800.$18FF (2048-6399) intended for the Applesoft part of Super IOB $1900.$20FF (6400-8447) space allocated for a moved RWTS. $2100.$26FF (8448-9983) Super IOB Applesoft variable space $2700.$96FF (9984-38655) enough space for 7 tracks, this is the sector buffer First, notice the amount of space available for the BASIC program. The Super IOB program as listed (with all REM's) ends about 290 bytes short of the

Showing the first 100000 of 150788 characters.

mp.ls