0GOTO 65005 :'B-SIMPLE has not yet been initialized 2 ' ************************************************************************** 3 ' * Basic Structured IMPLEmentation (B-SIMPLE PROGRAMMERS AID) * 4 ' * B-SIMPLE VERSION 1.0 2/28/82 Ira Glickstein 8-622-4202 * 5 ' * (modification of MPAK 1.1 1/30/82 by Kurt Carpenter 8-272-5229) * 6 ' ************************************************************************** 7 ' 8 ' 9 ' 10 GOTO 20010:' to initialization of program 11 ' 12 ' 13 ' 14 ' *********************************************************************** 15 ' * When B-SIMPLE is initialized, your program name, version, date, * 16 ' * your name, address, phone, etc. will appear here * 17 ' *********************************************************************** 18 ' 19 ' 20001 'INITIALIZATION Init #200 20010 ' (start code here) 20099 ' end Init #200 20100 ' 20101 ' Init #201 20200 ' Init #202 20300 ' Init #203 20400 ' Init #204 20500 ' Init #205 20600 ' Init #206 20700 ' Init #207 20800 ' Init #208 20900 ' Init #209 20999 ' end of INIT 21000 ' 21001 'MAIN LINE PROGRAM Main #210 21010 ' (start code here) 21099 ' end Main #210 21100 ' 21101 ' Main #211 21200 ' Main #212 21300 ' Main #213 21400 ' Main #214 21500 ' Main #215 21600 ' Main #216 21700 ' Main #217 21800 ' Main #218 21900 ' Main #219 21999 END: 'end of MAIN LINE PROGRAM 22000 ' 40000 ' ******************************************************************** * MODULE # | NAME OF MODULE * B-SIMPLE DIRECTORY * ******************************************************************** 40001 ' * 1-199 | SUBROUTINESN - 1 THEN 61299 61230 IF P = 137 OR P = 141 THEN 61215 61235 IF P = 13 OR P = 14 GOTO 61240 ELSE GOTO 61295 61240 IF P = 13 GOTO 61260 61245 C = C + 1 : FOR E = 1 TO A : IF FNR (C) = L (E) THEN 61255 61250 NEXT E : IF F = 1 THEN MS$ = "WARNING MODULE JUMPS TO ANOTHER MODULE " : GOSUB 61110 : GOTO 61260 ELSE GOTO 61260 61255 POKE C+1 , FNM (E) : POKE C , FNL (E) - ( FNM (E) * 256 ) 61260 C = C + 2 : GOSUB 61310 : IF C > N-1 THEN 61299 61265 IF PEEK (C) = 44 THEN C = C + 1 : GOTO 61225 ELSE GOTO 61295 61295 C = C + 1 : IF C < = N - 1 THEN 61215 61299 RETURN:'from compute c sr 61300 ' 61301 'figure c sr 61310 FOR I = C TO N- 1 : IF PEEK (I) = 32 THEN C = C + 1 ELSE I = N 61320 NEXT I : P = PEEK (C) 61399 RETURN :'from figure c sr 61400 ' 61401 'mess sr (add, list, renumber, delete) 61410 ON C GOSUB 61435,64610,61425,61415:GOTO 61490 61415 GOSUB 61510: CLS : LOCATE 3,1,0 : PRINT 41000!+M:PRINT 40000!+M:PRINT 100*M+1 61420 FOR I = 1 TO A : PRINT L(I) : NEXT I :PRINT M*100+99: LOCATE 1,1:MS$="HIT ENTER KEY "+STR$(4+A)+" TIMES":GOSUB 61110:RETURN:'within module 61425 GOSUB 61510 : IF FNL (A) >= R THEN MS$ = "CAN'T RESEQUENCE - TOO MANY LINES IN MODULE." : GOSUB 61110 :C=9: RETURN:'within module 61430 N = LO : FOR B = 1 TO A : GOSUB 61610 : GOSUB 61210 : NEXT B : return:'within module 61430 N = LO : FOR B = 1 TO A : GOSUB 61610 : GOSUB 61210 : NEXT B : GOTO 61490 61435 PRINT:INPUT "MODULE NAME (UP TO 20 CHAR) "; N$ : IF LEN(N$) > 20 THEN MS$ = "MODULE NAME TOO LONG" : GOSUB 61110 : GOTO 61435 61440 CLS : LOCATE 3,1,0 61445 PRINT 41000!+M TAB(8);"color 0,7:PRINT "; CHR$(34)" " CHR$(34)": color 7,0 : LIST "; Q-10 ; -R-5 61450 LOCATE 3,26,0:PRINT N$ 61455 PRINT 40000!+M;"' *"SPC(13+(M>9)+(M>99));M;" | ";N$;:LOCATE 4,77:PRINT"*" 61460 PRINT Q-10;"'":PRINT Q-9;"' "N$:PRINT Q+89;" RETURN : 'from "N$:PRINT Q+90;"'" 61470 PRINT "MS$="+CHR$(34)+"CTRL-BREAK ends AUTO entry"+CHR$(34)+":GOSUB 61110 :AUTO"Q","S 61475 LOCATE 1,1 : MS$ = "HIT ENTER KEY 7 TIMES" : GOSUB 61110 : RETURN :'within module 61490 IF K=3 THEN C=2:GOTO 61410 61499 END :'from mess sr 61500 ' 61501 'def sr 61510 DEF FNR (X) = PEEK (X) + 256 * PEEK (X+1) : DEF FNL (X) = S * (X-1) + T : N = FNR (48) : DEF FNM (X) = INT( FNL (X) / 256 ) 61520 L = N : N = FNR (L) : X = FNR (L+2) : LO = L : IF X < Q THEN 61520 61530 A = A + 1 : L(A) = X : L = N : N = FNR (L) : X = FNR (L+2) : IF X < = R THEN 61530 61540 IF L(1) > R AND C = 3 THEN MS$ = "CAN'T RENUMBER A NULL MODULE" : GOSUB 61110 : GOTO 61599 61550 N=LO:GOTO 61599 61599 RETURN :'from def sr 61601 'l n sr 61610 L = N : N = FNR (L) : POKE L + 3 , FNM (B) : POKE L+2 , FNL (B) - 256 * FNM (B) 61699 RETURN :'from l n sr 61700 ' 64100 ' 64101 'your choice sr 64110 L=-200:SOUND 370,1 64120 COLOR 18+16*(L<0),7:LOCATE Y,2:PRINT " YOUR CHOICE - "+F$+" - ? ";:COLOR 0,7 64130 X$=INKEY$:DEF SEG:POKE 106,0:IF X$<>"" THEN 64150 64132 L=L+1:IF L<1 THEN 64120 64140 SOUND L*37,1:SOUND 32767,14:GOTO 64120 64150 LOCATE Y,2:FOR L=1 TO LEN(F$)+20:PRINT " ";:NEXT:'x$ contains key hit 64180 COLOR 7,0 64199 RETURN :'from your choice sr 64200 ' 64201 'quick menu 64210 KEY OFF:COLOR 15,4:CLS:LOCATE 1,2:PRINT " SELECT BY NUMBER B-SIMPLE (Basic Structured IMPLEmentation) (OR LETTER) Version 1.0 2-82 Ira Glickstein 8-662-4202" 64221 LOCATE 5,2:PRINT"1 or A -- ADD a module and enter code" 64222 LOCATE 7,2:PRINT"2 or L -- LIST a module (and edit if desired)" 64223 LOCATE 9,2:PRINT"3 or R -- RENUMBER a module, then list it" 64224 LOCATE 11,2:PRINT"4 -- DELETE a module" 64225 LOCATE 13,2:PRINT"5 -- DIRECTORY display of modules" 64226 LOCATE 15,2:PRINT"6 -- List/Edit INITIALIZATION or MAIN LINE PROGRAM Blocks" 64227 LOCATE 17,2:PRINT "7 -- REINITIALIZE your program information" 64228 LOCATE 19,2:PRINT"8 -- INSTRUCTIONS" 64229 LOCATE 21,2:PRINT"9 -- QUIT and exit program" 64230 LOCATE 24,34:PRINT G$;:LOCATE 25,34:PRINT P$; 64250 Y=23:GOSUB 64110 CHOICE:K=ASC(X$):K=-1*(49*(K=65 OR K=97)+50*(K=76 OR K=108)+51*(K=82 OR K=114)+K*(K>47 AND K<58))-48:PRINT K:IF K>0 AND K<10 THEN 64290 ELSE 64250 64290 KEY ON 64299 RETURN :'from menu sr 64500 ' 64501 'directory sr 64510 CLS 64520 LIST 40000-40399 64599 RETURN : 'from directory sr 64600 ' 64601 'LIST SR 64610 CLS :ON ERROR GOTO 64680 64615 ON M GOSUB 41001,41002,41003,41004,41005,41006,41007,41008,41009 64620 ON M-9 GOSUB 41010,41011,41012,41013,41014,41015,41016,41017,41018,41019,41020,41021,41022,41023,41024,41025,41026,41027,41028,41029,41030,41031,41032,41033,41034,41035,41036,41037,41038,41039,41040,41041,41042,41043,41044,41045,41046,41047,41048 64630 ON M-48 GOSUB 41049,41050,41051,41052,41053,41054,41055,41056,41057,41058,41059,41060,41061,41062,41063,41064,41065,41066,41067,41068,41069,41070,41071,41072,41073,41074,41075,41076,41077,41078,41079,41080,41081,41082,41083,41084,41085,41086,41087 64640 ON M-87 GOSUB 41088,41089,41090,41091,41092,41093,41094,41095,41096,41097,41098,41099,41100 64650 ON M-100 GOSUB 41101,41102,41103,41104,41105,41106,41107,41108,41109 64660 ON M-109 GOSUB 41110,41111,41112,41113,41114,41115,41116,41117,41118,41119,41120,41121,41122,41123,41124,41125,41126,41127,41128,41129,41130,41131,41132,41133,41134,41135,41136,41137,41138,41139,41140,41141,41142,41143,41144,41145,41146,41147,41148 64670 ON M-148 GOSUB 41149,41150,41151,41152,41153,41154,41155,41156,41157,41158,41159,41160,41161,41162,41163,41164,41165,41166,41167,41168,41169,41170,41171,41172,41173,41174,41175,41176,41177,41178,41179,41180,41181,41182,41183,41184,41185,41186,41187 64675 ON M-187 GOSUB 41188,41189,41190,41191,41192,41193,41194,41195,41196,41197,41198,41199 64677 ON M-199 GOSUB 41200,41201,41202,41203,41204,41205,41206,41207,41208,41209,41210,41211,41212,41213,41214,41215,41216,41217,41218,41219 64680 IF ERR=8 THEN PRINT "NO SUCH MODULE" 64690 ON ERROR GOTO 0 64699 RETURN : 'from LIST SR 64700 ' 64701 'list init & main sr 64710 CLS:PRINT "INITIALIZATION utilizes blocks #200 thru 209":PRINT 64720 PRINT"MAIN LINE PROGRAM utilizes blocks #210 thru 219":PRINT 64730 INPUT "ENTER BLOCK NUMBER (200 - 219): ",M:IF M<200 OR M>219 THEN 64710 64740 GOSUB 64610 64799 RETURN :'from list init & main sr 64800 ' 64900 ' 64910 CLS:PRINT"B-SIMPLE Version 1.0 2-82 Ira Glickstein 8-662-4202" 64920 PRINT:PRINT:PRINT"TO GET STARTED I'LL NEED A BIT OF PERSONAL INFORMATION" 64930 LOCATE 10,1:PRINT "Please enter your name, address, phone, etc. (up to 40 characters) <--------------------------------------> PROGRAMMERS IDENTITY: ";P$ 64935 LOCATE 12,1:INPUT " PROGRAMMERS IDENTITY: ";P$:P$=LEFT$(P$,40) 64940 LOCATE 14,1:PRINT "Please enter your program's name, version, date, etc. (up to 40 characters) <--------------------------------------> PROGRAM IDENTIFICATION: ";G$ 64945 LOCATE 16,1:INPUT " PROGRAM IDENTIFICATION: ";G$:G$=LEFT$(G$,40) 64950 CLS:LOCATE 3,1:PRINT"0 GOTO 65010 :'To delete B-SIMPLE, just DELETE 0-9, DELETE 41000-65100":LOCATE 4,1:PRINT"15 ' * "G$;:LOCATE 5,1:PRINT"16 ' * "P$;:LOCATE 4,50:PRINT"* I used B-SIMPLE 1.0 2-82 *";:LOCATE 5,50:PRINT"* by Glickstein 8-662-4202 * 64955 LOCATE 6,1:PRINT"65015 G$="+CHR$(34)+G$+CHR$(34) : PRINT "65016 P$="+CHR$(34)+P$+CHR$(34) :PRINT"RUN" 64960 LOCATE 1,1:MS$=" HIT ENTER KEY 6 TIMES ":GOSUB 61110:END 64999 RETURN :'from initializaton sr 65000 ' 65001 'main line program -- simple 65005 GOSUB 64910 : 'initialization of B-SIMPLE 65010 CLEAR:CLS:POKE 106,0:KEY 10,"run 10"+CHR$(13) 65020 GOSUB 64210 :'menu sr (K is choice: 1=add, 2=list, 3=renumber, 4=delete, 5=directory, 6=list init,main,data, 7=reinit your info, 8=instructions, 9=quit) 65030 IF K=5 OR K=6 OR K=7 OR K=8 THEN 65070 65033 IF K=5 THEN 65060 65035 IF K=9 THEN 65099 65040 IF K=5 THEN 65070 65050 IF K=9 THEN 65099 65060 CLS:PRINT:INPUT "MODULE NUMBER (1-199) "; M : Q = M * 100+10 : R = Q + 85 : S = 5: T = Q: U = 700 + M - 100 * (M>39) - 100 * (M>69) : IF M < 1 OR M > 199 THEN 65010 ELSE DIM L (40) 65070 CLS:PRINT"I'm working on it!":C=K:ON K GOSUB 61410,64610,61410,61410,64510,64710,64910,50010 65080 IF K=3 AND C<>9 THEN GOSUB 64610 65090 GOTO 65010 65099 END :'of simple 65100 '