estart the display. To break out of thedisplay and get back to the menu beforethe ending address is reached, pressRETURN.Other Menu OptionsTwo more menu selections let you saveprograms and load them back into thecomputer. These are SAVE FILE andLOAD FILE; their operation is quitestraightforward. When you press S or L,MLX asks you for the filename. You'llthen be asked to press either D or T toselect disk or tape.You'll notice the disk drive startingand stopping several times during a loador save. Don't panic; this is normal behavior. MLX opens and reads from orwrites to the file instead of using theusual LOAD and SAVE commands. Diskusers should also note that the driveprefix 0: is automatically added to thefilename (line 750), so this should not beincluded when entering the name. Thisalso precludes the use of @ for Savewith-Replace,so remember to give eachversion you save a different name.Remember that MLX saves the entire workspace area from the starting address to the ending address, so the saveor load may take longer than you mightexpect if you've entered only a smallamount of data from a long listing. Whensaving a partially completed listing, makesure to note the address where youstopped typing so you'll know where toresume entry when you reload.MLX reports the standard disk ortape error messages if any problems aredetected during the save or load. (Tapeusers should bear in mind that Commodore computers are never able to detecterrors during a save to tape.) MLX alsohas three special load error messages:INCORRECT STARTING ADDRESS,which means the file you're trying toload does not have the starting addressyou specified when you ran MLX; LOADENDED AT address, which means the fileyou're trying to load ends before theending address you specified when youstarted MLX; and TRUNCATED ATENDING ADDRESS, which means thefile you're trying to load extends beyondthe ending address you specified whenyou started MLX. If you see one of thesemessages and feel certain that you'veloaded the right file, exit and rerun MLX,being careful to enter the correct starlingand ending addresses.The QUIT menu option has the obvious effect—it stops MLX and entersBASIC. The RUN/STOP key is disabled,so the Q option lets you exit the programwithout turning off the computer. (Ofcourse, RUN/STOP-RESTORE also getsyou out.) You'll be asked for verification;press Y to exit to BASIC, or any other keyto return to the menu. After quitting, youcan type RUN again and reenter MLXwithout losing your data, as long as youdon't use the clear workspace option.The Finished ProductWhen you've finished typing all the datafor an ML program and saved your work,you're ready to see the results. The instructions for loading and using the finished product vary from program toprogram. Some ML programs are designed to be loaded and run like BASICprograms, so all you need to type isLOAD "filename",B for disk or LOAD"filename" for tape, and then RUN. Suchprograms will usually have a startingaddress of 0<strong>80</strong>1, for the 64. Other programs must be reloaded to specific addresses with a command such as LOAD"filename",8,1 for disk or LOAD "filename",1,1 for tape, then started with aSYS to a particular memory address. Onthe Commodore 64, the most commonstarting address for such programs is49152, which corresponds to MLX address C000. In either case, you shouldalways refer to the article which accompanies the ML listing for information onloading and running the program.An Ounce Of PreventionBy the time you finish typing in the datafor a long ML program, you may haveseveral hours invested in the project.Don't take chances—use our "AutomaticProofreader" to type the new MLX, andthen test your copy thoroughly before firstusing it to enter any significant amount ofdata. Make sure all the menu optionswork as they should. Enter fragments ofthe program starting at several differentaddresses, then use the Display option toverify that the data has been enteredcorrectly. And be sure to test the Saveand Load options several times to ensurethat you can recall your work from diskor tape. Don't let a simple typing error inthe new MLX cost you several nights ofhard work.MLX For Commodore 64SS 10 REM VERSION 1.11 LINES 830,950 MODIFIED, LINES 485-487 ADDEDEK 100 POKE 56,50:CLR:DIM IN?,I,J,A,B,AS,BS,A(7),N$DM 110 C4=48:C6=16:C7=7:Z2=2:Z4=254:Z5=255:26=256:Z7=.127CJ 120 FA=PEEK(45)+Z6*PEEK{46):BS=PEEK{55)+Z6*PEEK{56)iH$="0123456789ABCDEF"SB 130 R$=CHRS(13) :LS = "(LEE-Tj"rS$=" ":DS=CHR$(20):ZS=CHR$(0):TS="[13 RIGHT]"CQ 140 SD=54272sFOR I=SD TO SD+23:POKE I,0:NEXTsPOKElSPACE}SD+24,15;POKE 788,52FC 150 PRINT"(CLR)"CHR$(142)CHR$(8):POKE 532<strong>80</strong>,15:POKEJ .160FR 170JB 1<strong>80</strong>GF 190PRINT TS" {RED}[RVSj[2 spaces}|e @3{2 SPACES}"SPC(28)"{2 SPACES}lOFFj{BLU} MLx II {redHrvs}{2 SPACESJ"SPC(28)"112 SPACES} {BLU}1'PRINT"{3 DOWNj13 SPACESjCOMPUTEi'S MACHINE LANGUAGE EDITOR13 DOWNj"PRINT"{BLK)STARTING ADDRESSE43";:GOSUB300 i SA=AD:GOSUB1040:IF F THEN1<strong>80</strong>PRINT"[BLKJ[2 SPACES)ENDING ADDRESSM3"; :GOSUB300:EA=AD:GOSUB1030:IF(SPACEjF THEN190KR 200 INPUT"I 3 DOWN}(BLKjCLEAR WORKSPACE [Y/N]£4|";A?:IF LEFT?(A?,1)"Y"THEN220PG 21.0 PRINT"[2 DOWN}[BLU]WORKING...";:FORI=BS TO BS+EA-SA+7:POKE I,0:NEXT:PRINT"DONE"DR 220 PRINTTAB(10)"(2 DOWN){BLKjtRVSi MLX COMMAND{SPACE]MENU {DOWNJE43":PRINT TS"{RVS}ElOFF]NTER DATA"BD 230 PRINT T$"{RVS]D{OFFjlSPLAY DATA":PRINT T$"{RVSjLlOFFjOAD FILE"JS 240 PRINT T$"{RVS]S[OFF}AVEFILE":PRINT TS"{RVSjQ{OFFjUITU DOWN} {BLK}"JH 250 GET AS:IF A$=N$ THEN250HK 260 A=0:FOR 1=1 TO 5:IF A$=MIDS("EDLSQ",I,1)THEN A=1:1=5PD 270 NEXT:ON A GOTO420,610,690 , 700,2<strong>80</strong>:GOSUB1060:GOTO250EJ 2<strong>80</strong> PRINT"[RVS} QUIT ":INPUT"{DOWN}|43ARE YOU SURE[Y/N]";A$:IF LEFT?(A$,1)"Y"THEN220EM 290 POKE SD+24,0iENDJX 300 IN$=N$:AD=0:INPUTIN5:IFLEN(IK$)< > 4THENRETURNKF 310 BS=INSsGOSUB320:AD=AjB5=MID$(IN?,3):GOSUB320:AD=AD*256+A:RETURNPP 320 A=0:FOR J=l TO 2:A$=MIDS(B$,J,1)iB=ASC(A$)-C4+(A$>"@")*C7:A=A*C6+BJA 330 IF B!5 THEN AD=0:A=-liJ=2GXCH340350NEXT:RETURNB=INT(A/C6):PRINT MID$(HS,B+1,1);:B=A-B*C6:PRINT MIDS(HS,B+1,1);iRETURNRR 360 A=INT(AD/Z6):GOSUB350:A=AD-A*Z6:GOSUB350:PRINTBE 370 CK=INT{AD/Z6):CK=AD-Z4*CK+Z5*(CK>Z7):GOTO390PXJC3<strong>80</strong>390CK=CK*Z2+Z5*(CK>Z7)+ACK=CK+Z5*(CK>Z5):RETURNQS 400 PRINT"(DOWN}STARTING AT£43";:GOSUB300iIF IN$N? THEN GOSUB1030:IF F{SPACEJTHEN400EX 410 RETURNHD 420 PRINT"{RVS] ENTER DATA{SPACE}"iGOSUB400:IP IN$=NS THEN220JKSK430440OPEN3,3:PRINTPOKE198,0:GOSUB360:IF FE 53281,1590 COMPUTE! February 1987
THEN PRINT IN?iPRINTM{UP][5 RIGHT}";GC 450 FOR 1=0 TO 24 STEP 3:B$=S?:FOR J=l TO 2:IF F THEN B$=MID$(IN$,I+J,1)HA 460 PRINT"[RVS}"B?L$;:IF I"/"ANDA$"@"ANDA$EA THEN CLOSE3:PRINT"{DOWN}{BLU}** END OF ENTRY **{BLK}{2 DOWN]":GOTO700F=0:GOTO440PRINT"{CLR]{DOWN]{RVS]I SPACE)DISPLAY DATA ":GOSUB400:IF IN?=N$ THEN220PRINT"{DOWNj{BLU}PRESS:tRVS}SPACE{OFF} TO PAUSE, {RVS}RETURN{OFF} TOKS 630 GOSUB360:B=BS+AD-SA:FORI=BTO B+7:A=PEEK(I):GOSUB350:GOSUB3<strong>80</strong>:PRINT S$CC 640 NEXTjPRINT"{RVS}";:A=CK:GOSUB350:PRINTKH 650 F=l:AD=AD+8:IF AD>EA THENPRINT"{DOWN]{BLU}** END OF DATA **":GOTO220KC 660 GET A$:IF A$=R? THEN GOSUB10<strong>80</strong>:GOTO220EQ 670 IF A§=S$ THEN F=F+1:GOSUB10<strong>80</strong>AD 6<strong>80</strong> ONFGOTO630,660,630CM 690 PRINT"{DOWN][RVS] LOADISPACEjDATA ":OP=1:GOTO710PC 700 PRINT"{DOWN]{RVS] SAVE1 SPACE}FILE HiOP=0RX 710 IN?=N$iINPUT"[DOWN]FILENAMEg43"?IN$:IF IN$=N${SPACE}THEN220PR 720 F=0:PRINTH{DOWN}lBLK]{RVS]T{OFF}APE OR {RVS]D{OFF}ISK: 643";FP 730 GET A$:IF A$="T"THEN PRINT"T[DOWN]":GOTO8<strong>80</strong>HQ 740 IF A$"D"THEN730HH 750 PRI NT "D{ DOWN} ":OPEN.15,8,15,"10:H:B=EA-SA:IN?="0:"+IN?:IF OP THEN810SQ 760 OPEN l,8,8,IN$+",p,W":GOSUB860:IF A THEN220FJ 770 AH-INT(SA/256):AL=SA-(AH*256):PRINT#1,CHR$(AL);CHR$(AH);PE 7<strong>80</strong> FOR 1=0 TO B:PRINT#1,CHR${PEEK(BS+I));:IF ST THEN<strong>80</strong>0FC 790 NEXT:CLOSE!:CLOSE15:GOT0940GS <strong>80</strong>0 GOSUB1060:PRINT"[DOWN}{BLKjERROR DURING SAVE:§4§":GOSUB860:GOTO220MA 810 OPEN 1,8,8,IN?+",P,R":GOSUB860JIF A THEN220GE 820 GET#1,A$,B?:AD=ASC(A$+Z$)+256*ASC(B$+ZS)iIF ADSA THEN F=1:GOTO850RX 830 FOR 1=0 TO B:GET#l,A$tPOKE BS+I,ASC(A?+Z?)iIF(IB)AND ST THEN F=2:AD=I:I=BFA 840 NEXT:IF ST64 THEN F=3FQ 850 CLOSE!:CL0SE15:0N ABS(F>0)+l GOTO960.970SA 860 INPUT#15,A,A$:IF A THENCLOSE1 ICLOSE.15 [GOSUB1060:PRINT"{RVS]ERROR: "A$GQ 870 RETURNEJ 8<strong>80</strong> POKE183,PEEK(FA+2):POKE187,PEEK(FA+3):P0KE188,PEEK(FA+4)iIFOP=0THEN920HJ 890 SYS 63466:IF(PEEK(783)AND1)THEN GOSUB1060:PRINT"{DOWN]{RVS} FILE NOT[SPACE]FOUND ":GOTO690CS 900 AD=PEEK(829)+256*PEEK(830)iIF ADOSA THEN F=l:GOTO970SC 910 A=PEEK(831)+256*PEEK{832)-liF=F-2*(AEA):AD=A-ADiGOTO930KM 920 A=SA:B=EA+1:GOSUB1010:POKE7<strong>80</strong>,3:SYS 63338JF 930 A=BS:B=BS+(EA-SA)+1 jGOSUB1010:ON OP GOTO950:SYS 63591AE 940 GOSUB10<strong>80</strong>:PRINT"(BLU}**SAVE COMPLETED **":GOT0220XP 950 POKE147,0:SYS 63562:IF{SPACE}ST>0 THEN970FR 960 GOSUB10<strong>80</strong>:PRINT"{BLU}**LOAD COMPLETED **":GOT0220DP 970 GOSUB1060:PRINT"tBLK}{RVSjERROR DURING LOAD:(DOWN}E43":ON F GOSUB9<strong>80</strong>,990,1000:GOTO220PP 9<strong>80</strong> PRINT"INCORRECT STARTING ADDRESS (";:GOSUB360:PRINT")":RETURNGR 990 PRINT"LOAD ENDED AT "j:AD=SA+AD:GOSUB360:PRINTD$!RETURNFD 1000 PRINT"TRUNCATED AT ENDINGADDRESS":RETURNRX 1010 AH=INT(A/256)iAL=A-(AH*256):POKE193,AL:POKE194, AHFF 1020 AH=INT(B/256):AL=B-(AH*256):POKE174,AL:POKE175,AH:RETURNFX 1030 IF ADEA THEN1050HA 1040 IF(AD>511 AND AD49151 AND AD niooucu fouk comivutioki orHUUHItS TO CHOOM fflOM.■ *.N* ILtCUIl Of ■ULS.O UNO HUHXn C ' HU PKOOIUintED.. PWHTf OUT P*II LOTTO HWrttMOMWN.PUT COUPUIIH riC" JEIPHER..1M0 HUHBIK DIUWrmaucHCT i i-.i. IMKDOU HIiaK* OI««MTO« IMCIJMDStreil"WindowHl-SESOLLTION DRAWING IN MULTI OB MONO COLORCOM ■ HMKXt. PIP. UO KWUM miOOWlflu. ■ BOH! •"■■■■ * -■'-■- TO -■--*.! VIILIB(, . UVf UO lO'D rou« MBIW OH P1Inu« ■ mm on iiuiDMB ooi mim mm*co.oa >ouu» ■ aon sjio> «"■ n-'tiTTtU L 1111 HI UO Wl";iF^'^i.lilH^IKi'":.' tMlfeNK JU(D"OTATI.TMfHlt*¥HIOOU PLOI-DMW OK W HfUMO H1HOOH »hD tcl« Dun■uat j*STOCKPROFITS CLARANTf:tD ORYOL'R MONEY BACK■HIM OOOO MUJIt. KOUTU ItHJfi AMIUHM TMi TUMI trim KU HAVE 10U niLL'MVUTED AT Tt
- Page 2 and 3:
We just did something only the best
- Page 4 and 5:
icate Maker!Because accomplishments
- Page 6 and 7:
Editor'sNotesThis is the 81st issue
- Page 8 and 9:
PublisherFounder/Editor in ChlelSen
- Page 10 and 11:
Selby BatemanFeatures Editor....
- Page 12 and 13:
, ■■-■■'■ ;-.-..■■■
- Page 14 and 15:
The new Compaq Deskpro 386 is among
- Page 16 and 17:
Selby Bateman, Features Editoricrop
- Page 18 and 19:
68030 chip, which should be readyfo
- Page 20 and 21:
computer are often called proprieta
- Page 22 and 23:
Tom R. Halfhill, Staff Editorore By
- Page 24 and 25:
Selby Bateman, Features Editorasers
- Page 26 and 27:
MicroscopeSheldonLeemonThe new Appl
- Page 29 and 30:
Fly to Florida!Scenery Disk # 7 cov
- Page 31 and 32:
contains twice as many vertical pix
- Page 33 and 34:
And you don't even have toleave you
- Page 35 and 36:
Increase your knowledge about all a
- Page 37 and 38:
BEST SERVICE IN THE USA • ONEDAY
- Page 39 and 40:
BATTERIES Sg? INCLUDEDTHE FOUR LETT
- Page 41 and 42:
LYCOCOMPUTERMARKETING & CONSULTANTS
- Page 43 and 44: ATARIJKLYCOCOMPUTERMARKETING & CONS
- Page 45 and 46: QuickProDOSCatalog For AppleLarrySh
- Page 47 and 48: Behaved Batch FilesCOPY CON: YESNO.
- Page 49 and 50: ASC II ExpressBalance of PowerBally
- Page 51 and 52: END**Beap:*SOUND 800,1,100,0:SOUND
- Page 53 and 54: COMMODOREAPPLEC64 COMPUTER C-128COM
- Page 55 and 56: FileCompressorChrisRogersThis Commo
- Page 57 and 58: character n. Whenever File Compress
- Page 59 and 60: \Make Your ChoiceC-64 or C-128BASIC
- Page 61 and 62: RP0A71i4C0A79:1B0A81:0A0A89:1F0A91i
- Page 63 and 64: ACCOLADEHardball 24.95Mean 18 31.95
- Page 65 and 66: Ibefore a move is made. Each compar
- Page 67 and 68: PH 1390 IF P$="C" AND T0>=7 THEN .1
- Page 69 and 70: 5D 2310 DATA 30,34,34,30,2,2,2,0FE
- Page 71 and 72: I10 630 P$="C"BC 640 REM tt PICK BE
- Page 73 and 74: ,——■———U-J>G>Player■p
- Page 75 and 76: INSIGHT:AtariBillWilkinsonNumber-Ba
- Page 77 and 78: EMPX,TEMPY,MASKBH 9140 TEMPX-X1TEMP
- Page 79 and 80: AmigaViewSheldonLeemonThe Latest Am
- Page 81 and 82: Computers and SocietyDavid D. Thorn
- Page 83 and 84: RUSH POSTAGE-PAID CARDFOR YOUR FREE
- Page 85 and 86: Train with NRI for a high payingcar
- Page 87 and 88: PersonalComputingDonald B. irivette
- Page 89 and 90: 3M DiskettesICEI has an outstanding
- Page 91 and 92: key (Atari logo key on 400/800 mode
- Page 93: MLXMachine Language Entry ProgramFo
- Page 97 and 98: When you want to talk price.AmdekMO
- Page 99 and 100: THE LOWESTTHE BESTPRICESSERVICEELEC
- Page 101 and 102: fNOWAVAILABLE AT24$O>!00The Mew Car
- Page 103 and 104: COMPUTERSFREE Reader Information Se
- Page 105 and 106: STARGLIDERJJtarglider — is an all