11.07.2015 Views

Untitled - TRS-80 Color Computer Archive

Untitled - TRS-80 Color Computer Archive

Untitled - TRS-80 Color Computer Archive

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!