Closed mdavidjohnson closed 3 months ago
Hi David, out of curiosity, could you try turning up the overclocking to, say, 12 MHz and try the paste again? If that makes a difference, it'll give us an idea of what needs to be adjusted. -Jim
Oh – that’s indeed an intriguing thought.
I had forgotten that I had VCC cranked all the way up to 202938 MHz.
Unfortunately, when I dropped it down to 12.518 MHz, the problem persisted.
And it still remained when I cranked it all the way down to 1.788 MHz.
So, no joy there.
FYI, I’m running VCC on an Intel i7-9700 CPU @ 3.00 GHz, with 32 GB of RAM under Windows 10 Pro 64-bit.
--
M. David Johnson
@.> @.
From: JimRye @.*** Sent: Wednesday, January 5, 2022 7:33 PM To: VCCE/VCC Cc: mdavidjohnson; Author Subject: Re: [VCCE/VCC] An interesting Edit Bug (Issue #90)
Hi David, out of curiosity, could you try turning up the overclocking to, say, 12 MHz and try the paste again? If that makes a difference, it'll give us an idea of what needs to be adjusted. -Jim
— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/90#issuecomment-1006213043 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACO5PUB24UWRFCBQCZYCCO3UUTWNVANCNFSM5LK6NVFQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . You are receiving this because you authored the thread. https://github.com/notifications/beacon/ACO5PUBV4LSCO6RBLEIMKI3UUTWNVA5CNFSM5LK6NVF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHP4ZPMY.gif Message ID: @.***>
Jim –
Something else which might possibly be helpful is the attached CAPITALS.txt file.
That was my first effort at this type of quiz. It’s more linear: the Splash Screen comes first, then the initialization, then the Data Loading, then the Sequencing Subroutine, etc. I tried to expand upon it in MULTIPLY.txt while restructuring it to move the “runs once” routines at the end and the “runs over and over subroutine” at the beginning where BASIC would be able to find it faster.
The code in both programs is quite similar except for the reordering.
And except for CAPITALS.txt being only about 2/3 the size of MULTIPLY.txt.
And except for the fact that CAPITALS.txt seems to work perfectly.
--
M. David Johnson
@.> @.
From: JimRye @.*** Sent: Wednesday, January 5, 2022 7:33 PM To: VCCE/VCC Cc: mdavidjohnson; Author Subject: Re: [VCCE/VCC] An interesting Edit Bug (Issue #90)
Hi David, out of curiosity, could you try turning up the overclocking to, say, 12 MHz and try the paste again? If that makes a difference, it'll give us an idea of what needs to be adjusted. -Jim
— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/90#issuecomment-1006213043 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACO5PUB24UWRFCBQCZYCCO3UUTWNVANCNFSM5LK6NVFQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . You are receiving this because you authored the thread. https://github.com/notifications/beacon/ACO5PUBV4LSCO6RBLEIMKI3UUTWNVA5CNFSM5LK6NVF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHP4ZPMY.gif Message ID: @.***>
100 ' 101 ' 102 ' CAPITALS.BAS 103 ' MDJ 2021/12/15 104 ' 105 ' A QUIZ TO IDENTIFY 106 ' CAPITALS OF USA 107 ' STATES AND TERRITORIES 108 ' 109 '
110 'VARIABLES LIST 111 ' I, J = INDEXES AND COUNTERS 112 ' A = RESPONSE CODE 113 ' A$ = KEY PRESS 114 ' CN$ = CITY NAMES ARRAY 115 ' QT = # OF QUESTIONS ASKED 116 ' QC = # OF CORRECT ANSWERS 117 ' QP = % CORRECT 118 ' R, R1, R2, RR, RP 119 ' = RANDOMIZATION VARIABLES 120 ' S = SCRAMBLE CODES ARRAY 121 ' S1 = STATE NUMBER 122 ' SN$ = STATE NAME 123 ' SP$ = SCREEN DISPLAY STRING 124 ' ST$ = STATES' DATA ARRAY
160 '* 170 ' 180 ' DISPLAY THE SPLASH SCREEN 190 ' 200 ' 210 CLS
220 SD$ = CHR$(32) + CHR$(158) 230 FOR I = 0 TO 27 240 SD$ = SD$ + CHR$(156) 250 NEXT I 260 SD$ = SD$ + CHR$(157) + CHR$(32) 270 @.***, SD$
280 SD$ = CHR$(32) + CHR$(154) + CHR$(206) 290 FOR I = 0 TO 25 300 SD$ = SD$ + CHR$(204) 310 NEXT I 320 SD$ = SD$ + CHR$(205) + CHR$(149) + CHR$(32) 330 @.***, SD$
340 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 350 FOR I = 0 TO 25 360 SD$ = SD$ + CHR$(32) 370 NEXT I 380 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 390 @.***, SD$
400 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 410 SD$ = SD$ + " STATES AND TERRITORIES " 420 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 430 @.***, SD$
440 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 450 SD$ = SD$ + " CAPITALS GAME " 460 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 470 @.***, SD$
480 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 490 FOR I = 0 TO 25 500 SD$ = SD$ + CHR$(32) 510 NEXT I 520 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 530 @.***, SD$
540 SD$ = CHR$(32) + CHR$(154) + CHR$(203) 550 FOR I = 0 TO 25 560 SD$ = SD$ + CHR$(195) 570 NEXT I 580 SD$ = SD$ + CHR$(199) + CHR$(149) + CHR$(32) 590 @.***, SD$
600 SD$ = CHR$(32) + CHR$(155) 610 FOR I = 0 TO 27 620 SD$ = SD$ + CHR$(147) 630 NEXT I 640 SD$ = SD$ + CHR$(151) + CHR$(32) 650 @.***, SD$
660 @., " PRESS ANY KEY TO CONTINUE " 670 @., " BDS SOFTWARE 2021 "; 680 '* 690 ' 700 ' END SPLASH 710 ' 720 '
730 A$=INKEY$ 740 IF A$="" GOTO 730
750 '* 760 ' 770 ' LOADING THE SYSTEM 780 ' 790 '
800 CLS 801 ' RANDOMIZATION ARRAYS 802 DIM R1(5) 803 DIM R2(4) 804 DIM RR(4)
810 PRINT 820 PRINT " LOADING THE SYSTEM" 830 PRINT " PLEASE WAIT" 840 PRINT
1100 'RANDOMIZE THE RND FUNCTION 1110 R = RND(-TIMER)
1200 'INITIALIZE SCRAMBLE CODES 1210 DIM S(24,4)
1220 S(0,0) = 0 1230 S(0,1) = 1 1240 S(0,2) = 2 1250 S(0,3) = 3
1260 S(1,0) = 0 1270 S(1,1) = 1 1280 S(1,2) = 3 1290 S(1,3) = 2
1300 S(2,0) = 0 1310 S(2,1) = 2 1320 S(2,2) = 1 1330 S(2,3) = 3
1340 S(3,0) = 0 1350 S(3,1) = 2 1360 S(3,2) = 3 1370 S(3,3) = 1
1400 S(4,0) = 0 1410 S(4,1) = 3 1420 S(4,2) = 1 1430 S(4,3) = 2
1440 S(5,0) = 0 1450 S(5,1) = 3 1460 S(5,2) = 2 1470 S(5,3) = 1
1500 S(6,0) = 1 1510 S(6,1) = 0 1520 S(6,2) = 2 1530 S(6,3) = 3
1540 S(7,0) = 1 1550 S(7,1) = 0 1560 S(7,2) = 3 1570 S(7,3) = 2
1600 S(8,0) = 1 1610 S(8,1) = 2 1620 S(8,2) = 0 1630 S(8,3) = 3
1640 S(9,0) = 1 1650 S(9,1) = 2 1660 S(9,2) = 3 1670 S(9,3) = 0
1700 S(10,0) = 1 1710 S(10,1) = 3 1720 S(10,2) = 0 1730 S(10,3) = 2
1740 S(11,0) = 1 1750 S(11,1) = 3 1760 S(11,2) = 2 1770 S(11,3) = 0
1800 S(12,0) = 2 1810 S(12,1) = 0 1820 S(12,2) = 1 1830 S(12,3) = 3
1840 S(13,0) = 2 1850 S(13,1) = 0 1860 S(13,2) = 3 1870 S(13,3) = 1
1900 S(14,0) = 2 1910 S(14,1) = 1 1920 S(14,2) = 0 1930 S(14,3) = 3
1940 S(15,0) = 2 1950 S(15,1) = 1 1960 S(15,2) = 3 1970 S(15,3) = 0
2000 S(16,0) = 2 2010 S(16,1) = 3 2020 S(16,2) = 0 2030 S(16,3) = 1
2040 S(17,0) = 2 2050 S(17,1) = 3 2060 S(17,2) = 1 2070 S(17,3) = 0
2100 S(18,0) = 3 2110 S(18,1) = 0 2120 S(18,2) = 1 2130 S(18,3) = 2
2140 S(19,0) = 3 2150 S(19,1) = 0 2160 S(19,2) = 2 2170 S(19,3) = 1
2200 S(20,0) = 3 2210 S(20,1) = 1 2220 S(20,2) = 0 2230 S(20,3) = 2
2240 S(21,0) = 3 2250 S(21,1) = 1 2260 S(21,2) = 2 2270 S(21,3) = 0
2300 S(22,0) = 3 2310 S(22,1) = 2 2320 S(22,2) = 0 2330 S(22,3) = 1
2340 S(23,0) = 3 2350 S(23,1) = 2 2360 S(23,2) = 1 2370 S(23,3) = 0
2500 'LOAD STATE AND 2510 'TERRITORY DATA 2520 DIM ST$(55,6) 2530 FOR I = 0 TO 54 2540 FOR J = 0 TO 5 2550 READ ST$(I,J) 2560 NEXT J 2570 NEXT I
2600 PRINT " OKAY -" 2610 PRINT " ALL LOADED AND READY TO GO" 2620 PRINT 2630 PRINT " PRESS ANY KEY TO BEGIN" 2640 PRINT
2650 '* 2660 ' 2670 ' END LOADING 2680 ' 2690 '
2700 A$=INKEY$ 2710 IF A$="" GOTO 2700
10000 '* 10010 ' 10020 ' MAIN 10030 ' 10040 '
10050 ' S1 = STATE NUMBER 10060 ' SN$ = STATE NAME 10070 ' CN$ = CITY NAMES ARRAY 10080 ' QT = # OF QUESTIONS ASKED 10090 ' QC = # OF CORRECT ANSWERS 10100 ' QP = % CORRECT 10110 DIM CN$(4) 10120 QT = 0 10130 QC = 0 10140 QP = 0
10150 'RANDOMLY SELECT A 10160 'STATE OR TERRITORY 10170 S1 = RND(55) - 1 10180 SN$ = ST$(S1,0)
10190 'RANDOMLY SELECT AND 10200 'SCRAMBLE FOUR OF 10210 'THE FIVE CITY NAMES 10220 GOSUB 20050 10230 FOR I = 0 TO 3 10240 CN$(I) = ST$(S1,RR(I)+1) 10250 NEXT I
10260 'MAIN DISPLAY SCREEN 10270 @.," WHAT CITY IS THE CAPITAL OF" 10280 @.," "+SN$+"?" 10290 @., " A. "+CN$(0) 10300 @., " B. "+CN$(1) 10310 @., " C. "+CN$(2) 10320 @., " D. "+CN$(3) 10330 @., " E. NONE OF THE ABOVE" 10340 @., " PRESS A, B, C, D, OR E" 10341 @., " " 10342 @., " " 10343 @., " " 10350 @., " SCORE = ";QC;" OF ";QT;" = ";QP;"%";
10360 A$ = INKEY$ 10370 IF A$="" GOTO 10360
10380 IF (A$="A" OR A$=CHR$(97)) GOTO 10470 10390 IF (A$="B" OR A$=CHR$(98)) GOTO 10480 10400 IF (A$="C" OR A$=CHR$(99)) GOTO 10490 10410 IF (A$="D" OR A$=CHR$(100)) GOTO 10500 10420 IF (A$="E" OR A$=CHR$(101)) GOTO 10510 10430 SOUND 159,2 10440 SOUND 159,2 10450 @.***, " YOU MUST PRESS ONE OF A TO E" 10460 GOTO 10360
10470 A = 0: GOTO 10520 10480 A = 1: GOTO 10520 10490 A = 2: GOTO 10520 10500 A = 3: GOTO 10520 10510 A = 4: GOTO 10520
10520 IF A = RP GOTO 10660 10530 SOUND 78,1 10540 SOUND 78,1 10550 SOUND 78,1 10560 SOUND 5,3 10570 @.*, " *SORRY: THAT IS INCORRECT." 10580 SP$ = " CORRECT = " 10590 IF RP=0 THEN SP$ = SP$ + "A. "+CN$(0) 10600 IF RP=1 THEN SP$ = SP$ + "B. "+CN$(1) 10610 IF RP=2 THEN SP$ = SP$ + "C. "+CN$(2) 10620 IF RP=3 THEN SP$ = SP$ + "D. "+CN$(3) 10630 IF RP=4 THEN SP$ = SP$ + "E.NONE OF THE ABOVE" 10640 @., SP$ 10650 GOTO 10720
10660 SOUND 204,1 10670 SOUND 204,1 10680 SOUND 204,1 10690 SOUND 218,3 10700 @., " THAT IS CORRECT! ***" 10710 QC = QC + 1
10720 QT = QT + 1 10730 QP = INT(100 * (QC/QT)) 10740 @., " SCORE = ";QC;" OF ";QT;" = ";QP;"%"; 10750 @., " PRESS C TO CONTINUE;Q TO QUIT"
10760 A$ = INKEY$ 10770 IF A$="" GOTO 10760
10780 IF (A$="C" OR A$=CHR$(99)) GOTO 10170 10790 IF (A$="Q" OR A$=CHR$(113)) GOTO 32700 10800 SOUND 159,2 10810 SOUND 159,2 10820 @.***, " YOU MUST PRESS C OR Q" 10830 GOTO 10760
10840 '* 10850 ' 10860 ' END MAIN 10870 ' 10880 '
20000 '* 20010 ' 20020 ' SELECTION SUBROUTINE: 20030 ' 20040 '
20050 'RANDOM SELECTION OF 20060 'FOUR OF FIVE. 20070 ' SELECTS FOUR ENTRIES 20080 ' FROM FIVE POSSIBILITIES. 20090 ' INPUTS: 20100 ' NONE 20110 ' OUTPUTS (GLOBAL) 20120 ' RR(4) = THE SELECTED FOUR 20130 ' RP = POSITION OF "0" ENTRY 20140 ' (0, 1, 2, OR 3) 20150 ' = 4 IF "0" ENTRY 20160 ' NOT INCLUDED
20200 ' INITIALIZATION 20210 FOR I = 0 TO 4 20220 R1(I) = I 20230 NEXT I 20240 RP = 4
20300 'FIRST PASS 20310 R = RND(5) - 1 20320 J = -1 20330 FOR I = 0 TO 4 20340 IF R = I GOTO 20370 20350 J = J + 1 20360 R2(J) = R1(I) 20370 NEXT I
20400 'SCRAMBLE PASS 20410 J = RND(24) - 1 20420 FOR I = 0 TO 3 20430 RR(I) = R2(S(J,I)) 20440 NEXT I
20500 'POSITION PASS 20510 FOR I = 0 TO 3 20520 IF RR(I) <> 0 GOTO 20540 20530 RP = I 20540 NEXT I
20600 RETURN
20610 '* 20620 ' 20630 ' ENDSUB 20640 ' 20650 '
25000 ' 25010 ' 25020 ' STATES AND TERRITORIES 25060 ' NAME AND CAPITALS DATA 25070 ' 25080 '
25100 DATA ALABAMA 25110 DATA MONTGOMERY 25120 DATA BIRMINGHAM 25130 DATA HUNTSVILLE 25140 DATA MOBILE 25150 DATA TUSCALOOSA
25200 DATA ALASKA 25210 DATA JUNEAU 25220 DATA ANCHORAGE 25230 DATA FAIRBANKS 25240 DATA BADGER 25250 DATA KNIK-FAIRVIEW
25300 DATA AMERICAN SAMOA 25310 DATA PAGO PAGO 25320 DATA TAFUNA 25330 DATA LEONE 25340 DATA FALENIU 25350 DATA AUA
25400 DATA ARIZONA 25410 DATA PHOENIX 25420 DATA TUCSON 25430 DATA MESA 25440 DATA CHANDLER 25450 DATA SCOTTSDALE
25500 DATA ARKANSAS 25510 DATA LITTLE ROCK 25520 DATA FAYETTEVILLE 25530 DATA FORT SMITH 25540 DATA SPRINGDALE 25550 DATA JONESBORO
25600 DATA CALIFORNIA 25610 DATA SACRAMENTO 25620 DATA LOS ANGELES 25630 DATA SAN DIEGO 25640 DATA SAN JOSE 25650 DATA SAN FRANCISCO
25700 DATA COLORADO 25710 DATA DENVER 25720 DATA COLORADO SPRINGS 25730 DATA AURORA 25740 DATA FORT COLLINS 25750 DATA LAKEWOOD
25800 DATA CONNECTICUT 25810 DATA HARTFORD 25820 DATA BRIDGEPORT 25830 DATA NEW HAVEN 25840 DATA STAMFORD 25850 DATA WATERBURY
25900 DATA DELAWARE 25910 DATA DOVER 25920 DATA WILMINGTON 25930 DATA NEWARK 25940 DATA MIDDLETOWN 25950 DATA BEAR
26000 DATA FLORIDA 26010 DATA TALLAHASSEE 26020 DATA JACKSONVILLE 26030 DATA MIAMI 26040 DATA TAMPA 26050 DATA ORLANDO
26100 DATA GEORGIA 26110 DATA ATLANTA 26120 DATA AUGUSTA 26130 DATA COLUMBUS 26140 DATA MACON COUNTY 26150 DATA SAVANNAH
26200 DATA GUAM 26210 DATA HAGATNA 26220 DATA DEDEDO 26230 DATA YIGO 26240 DATA MANGILAO 26250 DATA BARRIGADA
26300 DATA HAWAII 26310 DATA HONOLULU 26320 DATA PEARL CITY 26330 DATA HILO 26340 DATA WAIPAHU 26350 DATA KAILUA
26400 DATA IDAHO 26410 DATA BOISE 26420 DATA MERIDIAN 26430 DATA NAMPA 26440 DATA IDAHO FALLS 26450 DATA CALDWELL
26500 DATA ILLINOIS 26510 DATA SPRINGFIELD 26520 DATA CHICAGO 26530 DATA AURORA 26540 DATA NAPERVILLE 26550 DATA JOLIET
26600 DATA INDIANA 26610 DATA INDIANAPOLIS 26620 DATA FORT WAYNE 26630 DATA EVANSVILLE 26640 DATA SOUTH BEND 26650 DATA CARMEL
26700 DATA IOWA 26710 DATA DES MOINES 26720 DATA CEDAR RAPIDS 26730 DATA DAVENPORT 26740 DATA SIOUX CITY 26750 DATA IOWA CITY
26800 DATA KANSAS 26810 DATA TOPEKA 26820 DATA WICHITA 26830 DATA OVERLAND PARK 26840 DATA KANSAS CITY 26850 DATA LAWRENCE
26900 DATA KENTUCKY 26910 DATA FRANKFORT 26920 DATA LOUISVILLE 26930 DATA LEXINGTON 26940 DATA BOWLING GREEN 26950 DATA OWENSBORO
27000 DATA LOUISIANA 27010 DATA BATON ROUGE 27020 DATA NEW ORLEANS 27030 DATA SHREVEPORT 27040 DATA METAIRIE 27050 DATA LAFAYETTE
27100 DATA MAINE 27110 DATA AUGUSTA 27120 DATA PORTLAND 27130 DATA LEWISTON 27140 DATA BANGOR 27150 DATA AUBURN
27200 DATA MARYLAND 27210 DATA ANNAPOLIS 27220 DATA BALTIMORE 27230 DATA COLUMBIA 27240 DATA GERMANTOWN 27250 DATA SILVER SPRING
27300 DATA MASSACHUSETTS 27310 DATA BOSTON 27320 DATA WORCESTER 27330 DATA SPRINGFIELD 27340 DATA CAMBRIDGE 27350 DATA LOWELL
27400 DATA MICHIGAN 27410 DATA LANSING 27420 DATA DETROIT 27430 DATA GRAND RAPIDS 27440 DATA WARREN 27450 DATA STERLING HEIGHTS
27500 DATA MINNESOTA 27510 DATA SAINT PAUL 27520 DATA MINNEAPOLIS 27530 DATA ROCHESTER 27540 DATA BLOOMINGTON 27550 DATA DULUTH
27600 DATA MISSISSIPPI 27610 DATA JACKSON 27620 DATA GULFPORT 27630 DATA SOUTHAVEN 27640 DATA BILOXI 27650 DATA HATTIESBURG
27700 DATA MISSOURI 27710 DATA JEFFERSON CITY 27720 DATA KANSAS CITY 27730 DATA SAINT LOUIS 27740 DATA SPRINGFIELD 27750 DATA COLUMBIA
27800 DATA MONTANA 27810 DATA HELENA 27820 DATA BILLINGS 27830 DATA MISSOULS 27840 DATA GREAT FALLS 27850 DATA BOZEMAN
27900 DATA NEBRASKA 27910 DATA LINCOLN 27920 DATA OMAHA 27930 DATA BELLEVUE 27940 DATA GRAND ISLAND 27950 DATA KEARNEY
28000 DATA NEVADA 28010 DATA CARSON CITY 28020 DATA LAS VEGAS 28030 DATA HENDERSON 28040 DATA RENO 28050 DATA PARADISE
28100 DATA NEW HAMPSHIRE 28110 DATA CONCORD 28120 DATA MANCHESTER 28130 DATA NASHUA 28140 DATA DOVER 28150 DATA ROCHESTER
28200 DATA NEW JERSEY 28210 DATA TRENTON 28220 DATA NEWARK 28230 DATA JERSEY CITY 28240 DATA PATERSON 28250 DATA ELIZABETH
28300 DATA NEW MEXICO 28310 DATA SANTA FE 28320 DATA ALBUQUERQUE 28330 DATA LAS CRUCES 28340 DATA RIO RANCHO 28350 DATA ROSWELL
28400 DATA NEW YORK 28410 DATA ALBANY 28420 DATA NEW YORK CITY 28430 DATA BUFFALO 28440 DATA ROCHESTER 28450 DATA YONKERS
28500 DATA NORTH CAROLINA 28510 DATA RALEIGH 28520 DATA CHARLOTTE 28530 DATA GREENSBORO 28540 DATA DURHAM 28550 DATA WINSTON-SALEM
28600 DATA NORTH DAKOTA 28610 DATA BISMARK 28620 DATA FARGO 28630 DATA GRAND FORKS 28640 DATA MINOT 28650 DATA WILLISTON
28700 DATA THE NORTHERN MARIANA ISLANDS 28710 DATA SAIPAN 28720 DATA SAN JOSE 28730 DATA PAGAN 28740 DATA AGRIHAN 28750 DATA ALAMAGAN
28800 DATA OHIO 28810 DATA COLUMBUS 28820 DATA CLEVELAND 28830 DATA CINCINNATI 28840 DATA TOLEDO 28850 DATA AKRON
28900 DATA OKLAHOMA 28910 DATA OKLAHOMA CITY 28920 DATA TULSA 28930 DATA NORMAN 28940 DATA BROKEN ARROW 28950 DATA EDMOND
29000 DATA OREGON 29010 DATA SALEM 29020 DATA PORTLAND 29030 DATA EUGENE 29040 DATA HILLSBORO 29050 DATA GRESHAM
29100 DATA PENNSYLVANIA 29110 DATA HARRISBURG 29120 DATA PHILADELPHIA 29130 DATA PITTSBURGH 29140 DATA ALLENTOWN 29150 DATA ERIE
29200 DATA PUERTO RICO 29210 DATA SAN JUAN 29220 DATA BAYAMON 29230 DATA CAROLINA 29240 DATA PONCE 29250 DATA CAGUAS
29300 DATA RHODE ISLAND 29310 DATA PROVIDENCE 29320 DATA WARWICK 29330 DATA CRANSTON 29340 DATA PAWTUCKET 29350 DATA WOONSOCKET
29400 DATA SOUTH CAROLINA 29410 DATA COLUMBIA 29420 DATA CHARLESTON 29430 DATA MOUNT PLEASANT 29440 DATA ROCK HILL 29450 DATA GREENVILLE
29500 DATA SOUTH DAKOTA 29510 DATA PIERRE 29520 DATA SIOUX FALLS 29530 DATA RAPID CITY 29540 DATA ABERDEEN 29550 DATA BROOKINGS
29600 DATA TENNESSEE 29610 DATA NASHVILLE 29620 DATA MEMPHIS 29630 DATA KNOXVILLE 29640 DATA CHATTANOOGA 29650 DATA CLARKSVILLE
29700 DATA TEXAS 29710 DATA AUSTIN 29720 DATA HOUSTON 29730 DATA SAN ANTONIO 29740 DATA DALLAS 29750 DATA FORT WORTH
29800 DATA UTAH 29810 DATA SALT LAKE CITY 29820 DATA WEST VALLEY CITY 29830 DATA WEST JORDAN 29840 DATA PROVO 29850 DATA OGDEN
29900 DATA VERMONT 29910 DATA MONTPELIER 29920 DATA BURLINGTON 29930 DATA RUTLAND 29940 DATA ESSEX JUNCTION 29950 DATA BARRE
30000 DATA VIRGINIA 30010 DATA RICHMOND 30020 DATA VIRGINIA BEACH 30030 DATA CHESAPEAKE 30040 DATA NORFOLK 30050 DATA ARLINGTON
30100 DATA THE VIRGIN ISLANDS 30110 DATA CHARLOTTE AMALIE 30120 DATA TUTU 30130 DATA CRUZ BAY 30140 DATA FREDERIKSTED 30150 DATA CHRISTIANSTED
30200 DATA WASHINGTON 30210 DATA OLYMPIA 30220 DATA SEATTLE 30230 DATA SPOKANE 30240 DATA TACOMA 30250 DATA VANCOUVER
30300 DATA WEST VIRGINIA 30310 DATA CHARLESTON 30320 DATA HUNTINGTON 30330 DATA MORGANTOWN 30340 DATA PARKERSBURG 30350 DATA WHEELING
30400 DATA WISCONSIN 30410 DATA MADISON 30420 DATA MILWAUKEE 30430 DATA GREEN BAY 30440 DATA KENOSHA 30450 DATA RACINE
30500 DATA WYOMING 30510 DATA CHEYENNE 30520 DATA CASPER 30530 DATA LARAMIE 30540 DATA GILLETTE 30550 DATA ROCK SPRINGS
30600 '* 30610 ' 30620 ' END OF DATA 30630 ' 30640 '
32700 CLS 32710 PRINT:PRINT " FINAL SCORE = ";QP;"%" 32720 PRINT:PRINT " THANKS FOR PLAYING!" 32730 PRINT " COME BACK SOON." 32740 PRINT:PRINT " M. DAVID JOHNSON" 32750 PRINT " @.***" 32760 PRINT:PRINT:PRINT:PRINT:PRINT 32767 END
Jim –
As an additional follow-up --
I walked through the Splash Screen portion of the code, lines 29500-30310. I found the following lines to be missing after the "Edit|Paste BASIC Code (with NEW)":
29750
29820
29880
29910-29940
29970-30050
30080
30150
I put these lines back in manually and, upon RUN, the Splash Screen displayed properly. Upon a key press, the Initialization routine began correctly but then gave me an OM Error at line 10620.
After selectively reducing the number of questions (and their associated DATA statements and READs), i.e. the following changes:
05190 QN = RND(88) - 1
10600 N = 88
and removing 56 of the 144 DATA statements, everything worked correctly except for the scoring which had a typo: I had written line 0576 instead of 05760.
After correcting the line number, the scoring was working properly as well.
So, I took the changes, put them into MULTIPLY.txt in my text editor, and re-did "Edit|Paste BASIC Code (with NEW)" at 1.788 MHz. It worked correctly.
A copy of this smaller, revised MULTIPLY.txt is attached for your reference.
--
M. David Johnson
@.> @.
From: JimRye @.*** Sent: Wednesday, January 5, 2022 7:33 PM To: VCCE/VCC Cc: mdavidjohnson; Author Subject: Re: [VCCE/VCC] An interesting Edit Bug (Issue #90)
Hi David, out of curiosity, could you try turning up the overclocking to, say, 12 MHz and try the paste again? If that makes a difference, it'll give us an idea of what needs to be adjusted. -Jim
— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/90#issuecomment-1006213043 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACO5PUB24UWRFCBQCZYCCO3UUTWNVANCNFSM5LK6NVFQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . You are receiving this because you authored the thread. https://github.com/notifications/beacon/ACO5PUBV4LSCO6RBLEIMKI3UUTWNVA5CNFSM5LK6NVF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHP4ZPMY.gif Message ID: @.***>
00100 ' 00101 ' 00102 ' MULTIPLY.BAS 00103 ' MDJ 2022/01/03 00104 ' 00105 ' A QUIZ TO TEST 00106 ' KNOWLEDGE OF THE 00107 ' MULTIPLICATION TABLES 00108 ' 00109 '
00110 'GO TO THE PROGRAM'S 00120 'EXECUTIVE ROUTINE 00130 GOTO 4220
00200 '* 00210 ' 00220 ' SELECTION SUBROUTINE: 00230 ' 00240 ' THIS ROUTINE IS UNIFORM 00250 ' AND REMAINS THE SAME FOR 00260 ' EACH AND EVERY QUIZ GAME 00270 ' 00280 '
00290 'RANDOM SELECTION OF 00300 'FOUR OF FIVE. 00310 ' SELECTS FOUR ENTRIES 00320 ' FROM FIVE POSSIBILITIES. 00330 ' INPUTS: 00340 ' NONE 00350 ' OUTPUTS (GLOBAL) 00360 ' RR(4) = THE SELECTED FOUR 00370 ' RP = POSITION OF "0" ENTRY 00380 ' (0, 1, 2, OR 3) 00390 ' = 4 IF "0" ENTRY 00400 ' NOT INCLUDED
00490 ' INITIALIZATION 00500 FOR I = 0 TO 4 00510 R1(I) = I 00520 NEXT I 00530 RP = 4
00540 'FIRST PASS 00550 R = RND(5) - 1 00560 J = -1 00570 FOR I = 0 TO 4 00580 IF R = I GOTO 610 00590 J = J + 1 00600 R2(J) = R1(I) 00610 NEXT I
00620 'SCRAMBLE PASS 00630 J = RND(24) - 1 00640 FOR I = 0 TO 3 00650 RR(I) = R2(S(J,I)) 00660 NEXT I
00670 'POSITION PASS 00680 FOR I = 0 TO 3 00690 IF RR(I) <> 0 GOTO 710 00700 RP = I 00710 NEXT I
00720 RETURN
00730 '* 00740 ' 00750 ' ENDSUB 00760 ' 00770 '
04000 '* 04010 ' 04020 ' EXECUTIVE 04030 ' 04040 '
04050 'VARIABLES LIST 04060 ' I, J = INDEXES AND COUNTERS 04070 ' A = RESPONSE CODE 04080 ' A$ = KEY PRESS 04090 ' N = NUMBER OF QUESTIONS 04100 ' Q$ = QUESTION 04110 ' QA$ = QUESTION ANSWERS ARRAY 04120 ' QD$ = QUESTIONS DATA ARRAY 04130 ' QN = QUESTION NUMBER 04140 ' QT = # OF QUESTIONS ASKED 04150 ' QC = # OF CORRECT ANSWERS 04160 ' QP = % CORRECT 04170 ' R, R1, R2, RR, RP 04180 ' = RANDOMIZATION VARIABLES 04190 ' S = SCRAMBLE CODES ARRAY 04200 ' SD$ = SCREEN DISPLAY TEXT
04210 'GO DISPLAY SPLASH SCREEN 04220 GOSUB 29600
04230 'GO INITIALIZE THE SYSTEM 04240 GOSUB 27600
04250 'GO LOAD QUESTIONS DATA 04260 GOSUB 10600
04270 'GO ENTER THE MAIN ROUTINE 04280 GOTO 5110
04290 '* 04300 ' 04310 ' END EXECUTIVE 04320 ' 04330 '
05000 '* 05010 ' 05020 ' MAIN 05030 ' 05040 '
05050 ' QN = QUESTION NUMBER 05060 ' Q$ = QUESTION 05070 ' QA$ = QUESTION ANSWERS ARRAY 05080 ' QT = # OF QUESTIONS ASKED 05090 ' QC = # OF CORRECT ANSWERS 05100 ' QP = % CORRECT 05110 DIM QA$(4) 05120 QT = 0 05130 QC = 0 05140 QP = 0
05150 'RANDOMLY SELECT A 05160 'QUESTION 05170 'ADJUST RND FOR TOTAL 05180 'NUMBER OF QUESTIONS 05190 QN = RND(88) - 1 05200 Q$ = QD$(QN,0)
05210 'RANDOMLY SELECT AND 05220 'SCRAMBLE FOUR OF 05230 'THE FIVE ANSWERS 05240 GOSUB 500 05250 FOR I = 0 TO 3 05260 QA$(I) = QD$(QN,RR(I)+1) 05270 NEXT I
05280 'MAIN DISPLAY SCREEN 05290 @.," WHAT IS THE RESULT:" 05300 @.," "+Q$+"?" 05310 @., " A. "+QA$(0) 05320 @., " B. "+QA$(1) 05330 @., " C. "+QA$(2) 05340 @., " D. "+QA$(3) 05350 @., " E. NONE OF THE ABOVE" 05360 @., " PRESS A, B, C, D, OR E" 05370 @., " " 05380 @., " " 05390 @., " " 05400 @., " SCORE = ";QC;" OF ";QT;" = ";QP;"%";
05410 A$ = INKEY$ 05420 IF A$="" GOTO 5410
05430 IF (A$="A" OR A$=CHR$(97)) GOTO 5520 05440 IF (A$="B" OR A$=CHR$(98)) GOTO 5530 05450 IF (A$="C" OR A$=CHR$(99)) GOTO 5540 05460 IF (A$="D" OR A$=CHR$(100)) GOTO 5550 05470 IF (A$="E" OR A$=CHR$(101)) GOTO 5560 05480 SOUND 159,2 05490 SOUND 159,2 05500 @.***, " YOU MUST PRESS ONE OF A TO E" 05510 GOTO 5410
05520 A = 0: GOTO 5570 05530 A = 1: GOTO 5570 05540 A = 2: GOTO 5570 05550 A = 3: GOTO 5570 05560 A = 4: GOTO 5570
05570 IF A = RP GOTO 5710 05580 SOUND 78,1 05590 SOUND 78,1 05600 SOUND 78,1 05610 SOUND 5,3 05620 @.*, " *SORRY: THAT IS INCORRECT." 05630 SD$ = " CORRECT = " 05640 IF RP=0 THEN SD$ = SD$ + "A. "+QA$(0) 05650 IF RP=1 THEN SD$ = SD$ + "B. "+QA$(1) 05660 IF RP=2 THEN SD$ = SD$ + "C. "+QA$(2) 05670 IF RP=3 THEN SD$ = SD$ + "D. "+QA$(3) 05680 IF RP=4 THEN SD$ = SD$ + "E.NONE OF THE ABOVE" 05690 @., SD$ 05700 GOTO 5770
05710 SOUND 204,1 05720 SOUND 204,1 05730 SOUND 204,1 05740 SOUND 218,3 05750 @., " THAT IS CORRECT! ***" 05760 QC = QC + 1
05770 QT = QT + 1 05780 QP = INT(100 * (QC/QT)) 05790 @., " SCORE = ";QC;" OF ";QT;" = ";QP;"%"; 05800 @., " PRESS C TO CONTINUE;Q TO QUIT"
05810 A$ = INKEY$ 05820 IF A$="" GOTO 5810
05830 IF (A$="C" OR A$=CHR$(99)) GOTO 5190 05840 IF (A$="Q" OR A$=CHR$(113)) GOTO 5890 05850 SOUND 159,2 05860 SOUND 159,2 05870 @.***, " YOU MUST PRESS C OR Q" 05880 GOTO 5810
05890 CLS 05900 PRINT:PRINT " FINAL SCORE = ";QP;"%" 05910 PRINT:PRINT " THANKS FOR PLAYING!" 05920 PRINT " COME BACK SOON." 05930 PRINT:PRINT " M. DAVID JOHNSON" 05940 PRINT " @.***" 05950 PRINT:PRINT:PRINT:PRINT:PRINT
05960 GOTO 32767
05970 '* 05980 ' 05990 ' END MAIN 06000 ' 06010 '
10500 ' 10510 ' 10520 ' STANDARD BASIC QUIZ GAMES 10530 ' DATA LOADING ROUTINE 10540 ' 10550 '
10560 'THIS DATA MUST BE 10570 'INDIVIDUALIZED FOR 10580 'EACH SPECIFIC QUIZ
10590 'N = NUMBER OF QUESTIONS 10600 N = 88
10610 'QD$ = QUESTIONS DATA ARRAY 10620 DIM QD$(N,6) 10630 FOR I = 0 TO N-1 10640 FOR J = 0 TO 5 10650 READ QD$(I,J) 10660 NEXT J 10670 NEXT I
10680 PRINT " OKAY -" 10690 PRINT " ALL LOADED AND READY TO GO" 10700 PRINT 10710 PRINT " PRESS ANY KEY TO BEGIN" 10720 PRINT
10730 A$=INKEY$ 10740 IF A$="" GOTO 10730
10750 RETURN
10760 '* 10770 ' 10780 ' END DATA LOADING 10790 ' 10800 '
10810 '* 10820 ' 10830 ' START OF DATA LIST 10840 ' 10850 '
12500 DATA 2 TIMES 4 = 12510 DATA 8 12520 DATA 2 12530 DATA 4 12540 DATA 6 12550 DATA 18
12600 DATA 2 TIMES 5 = 12610 DATA 10 12620 DATA 5 12630 DATA 15 12640 DATA 20 12650 DATA 25
12700 DATA 2 TIMES 6 = 12710 DATA 12 12720 DATA 6 12730 DATA 16 12740 DATA 22 12750 DATA 24
12800 DATA 2 TIMES 7 = 12810 DATA 14 12820 DATA 7 12830 DATA 12 12840 DATA 9 12850 DATA 24
12900 DATA 2 TIMES 8 = 12910 DATA 16 12920 DATA 8 12930 DATA 26 12940 DATA 12 12950 DATA 32
12960 '*****
13000 DATA 2 TIMES 9 = 13010 DATA 18 13020 DATA 9 13030 DATA 28 13040 DATA 19 13050 DATA 16
13200 DATA 2 TIMES 11 = 13210 DATA 22 13220 DATA 20 13230 DATA 18 13240 DATA 24 13250 DATA 26
13300 DATA 2 TIMES 12 = 13310 DATA 24 13320 DATA 22 13330 DATA 20 13340 DATA 26 13350 DATA 28
13700 DATA 3 TIMES 4 = 13710 DATA 12 13720 DATA 10 13730 DATA 14 13740 DATA 16 13750 DATA 22
13800 DATA 3 TIMES 5 = 13810 DATA 15 13820 DATA 10 13830 DATA 20 13840 DATA 25 13850 DATA 30
13900 DATA 3 TIMES 6 = 13910 DATA 18 13920 DATA 12 13930 DATA 16 13940 DATA 21 13950 DATA 24
13960 '*****
14000 DATA 3 TIMES 7 = 14010 DATA 21 14020 DATA 14 14030 DATA 24 14040 DATA 31 14050 DATA 28
14100 DATA 3 TIMES 8 = 14110 DATA 24 14120 DATA 16 14130 DATA 30 14140 DATA 32 14150 DATA 28
14200 DATA 3 TIMES 9 = 14210 DATA 27 14220 DATA 18 14230 DATA 37 14240 DATA 17 14250 DATA 30
14400 DATA 3 TIMES 11 = 14410 DATA 33 14420 DATA 22 14430 DATA 30 14440 DATA 44 14450 DATA 43
14500 DATA 3 TIMES 12 = 14510 DATA 36 14520 DATA 24 14530 DATA 40 14540 DATA 32 14550 DATA 46
14900 DATA 4 TIMES 4 = 14910 DATA 16 14920 DATA 12 14930 DATA 26 14940 DATA 22 14950 DATA 18
14960 '*****
15000 DATA 4 TIMES 5 = 15010 DATA 20 15020 DATA 10 15030 DATA 15 15040 DATA 25 15050 DATA 30
15100 DATA 4 TIMES 6 = 15110 DATA 24 15120 DATA 12 15130 DATA 18 15140 DATA 30 15150 DATA 34
15200 DATA 4 TIMES 7 = 15210 DATA 28 15220 DATA 14 15230 DATA 21 15240 DATA 18 15250 DATA 24
15300 DATA 4 TIMES 8 = 15310 DATA 32 15320 DATA 16 15330 DATA 24 15340 DATA 40 15350 DATA 36
15400 DATA 4 TIMES 9 = 15410 DATA 36 15420 DATA 18 15430 DATA 27 15440 DATA 37 15450 DATA 42
15600 DATA 4 TIMES 11 = 15610 DATA 44 15620 DATA 22 15630 DATA 33 15640 DATA 55 15650 DATA 66
15700 DATA 4 TIMES 12 = 15710 DATA 48 15720 DATA 24 15730 DATA 36 15740 DATA 54 15750 DATA 58
16100 DATA 5 TIMES 4 = 16110 DATA 20 16120 DATA 10 16130 DATA 15 16140 DATA 25 16150 DATA 30
16200 DATA 5 TIMES 5 = 16210 DATA 25 16220 DATA 15 16230 DATA 20 16240 DATA 30 16250 DATA 35
16300 DATA 5 TIMES 6 = 16310 DATA 30 16320 DATA 20 16330 DATA 25 16340 DATA 35 16350 DATA 40
16400 DATA 5 TIMES 7 = 16410 DATA 35 16420 DATA 30 16430 DATA 25 16440 DATA 40 16450 DATA 45
16500 DATA 5 TIMES 8 = 16510 DATA 40 16520 DATA 30 16530 DATA 35 16540 DATA 45 16550 DATA 50
16600 DATA 5 TIMES 9 = 16610 DATA 45 16620 DATA 35 16630 DATA 40 16640 DATA 50 16650 DATA 55
16800 DATA 5 TIMES 11 = 16810 DATA 55 16820 DATA 35 16830 DATA 45 16840 DATA 65 16850 DATA 75
16900 DATA 5 TIMES 12 = 16910 DATA 60 16920 DATA 50 16930 DATA 40 16940 DATA 70 16950 DATA 80
16960 '*****
17300 DATA 6 TIMES 4 = 17310 DATA 24 17320 DATA 20 17330 DATA 16 17340 DATA 28 17350 DATA 32
17400 DATA 6 TIMES 5 = 17410 DATA 30 17420 DATA 20 17430 DATA 25 17440 DATA 35 17450 DATA 40
17500 DATA 6 TIMES 6 = 17510 DATA 36 17520 DATA 24 17530 DATA 30 17540 DATA 42 17550 DATA 48
17600 DATA 6 TIMES 7 = 17610 DATA 42 17620 DATA 48 17630 DATA 56 17640 DATA 36 17650 DATA 30
17700 DATA 6 TIMES 8 = 17710 DATA 48 17720 DATA 42 17730 DATA 36 17740 DATA 54 17750 DATA 60
17800 DATA 6 TIMES 9 = 17810 DATA 54 17820 DATA 48 17830 DATA 42 17840 DATA 60 17850 DATA 66
18000 DATA 6 TIMES 11 = 18010 DATA 66 18020 DATA 60 18030 DATA 54 18040 DATA 72 18050 DATA 84
18100 DATA 6 TIMES 12 = 18110 DATA 72 18120 DATA 66 18130 DATA 60 18140 DATA 78 18150 DATA 84
18500 DATA 7 TIMES 4 = 18510 DATA 28 18520 DATA 21 18530 DATA 14 18540 DATA 34 18550 DATA 27
18600 DATA 7 TIMES 5 = 18610 DATA 35 18620 DATA 30 18630 DATA 25 18640 DATA 40 18650 DATA 45
18700 DATA 7 TIMES 6 = 18710 DATA 42 18720 DATA 46 18730 DATA 36 18740 DATA 37 18750 DATA 47
18800 DATA 7 TIMES 7 = 18810 DATA 49 18820 DATA 77 18830 DATA 42 18840 DATA 47 18850 DATA 57
18900 DATA 7 TIMES 8 = 18910 DATA 56 18920 DATA 49 18930 DATA 48 18940 DATA 63 18950 DATA 68
18960 '*****
19000 DATA 7 TIMES 9 = 19010 DATA 63 19020 DATA 67 19030 DATA 57 19040 DATA 56 19050 DATA 47
19200 DATA 7 TIMES 11 = 19210 DATA 77 19220 DATA 70 19230 DATA 63 19240 DATA 67 19250 DATA 83
19300 DATA 7 TIMES 12 = 19310 DATA 84 19320 DATA 77 19330 DATA 78 19340 DATA 87 19350 DATA 88
19700 DATA 8 TIMES 4 = 19710 DATA 32 19720 DATA 24 19730 DATA 28 19740 DATA 38 19750 DATA 34
19800 DATA 8 TIMES 5 = 19810 DATA 40 19820 DATA 35 19830 DATA 30 19840 DATA 45 19850 DATA 50
19900 DATA 8 TIMES 6 = 19910 DATA 48 19920 DATA 42 19930 DATA 36 19940 DATA 46 19950 DATA 38
19960 '*****
20000 DATA 8 TIMES 7 = 20010 DATA 56 20020 DATA 57 20030 DATA 58 20040 DATA 49 20050 DATA 48
20100 DATA 8 TIMES 8 = 20110 DATA 64 20120 DATA 60 20130 DATA 56 20140 DATA 68 20150 DATA 72
20200 DATA 8 TIMES 9 = 20210 DATA 72 20220 DATA 98 20230 DATA 89 20240 DATA 78 20250 DATA 79
20400 DATA 8 TIMES 11 = 20410 DATA 88 20420 DATA 80 20430 DATA 78 20440 DATA 96 20450 DATA 98
20500 DATA 8 TIMES 12 = 20510 DATA 96 20520 DATA 104 20530 DATA 108 20540 DATA 98 20550 DATA 120
20900 DATA 9 TIMES 4 = 20910 DATA 36 20920 DATA 18 20930 DATA 27 20940 DATA 40 20950 DATA 44
20960 '*****
21000 DATA 9 TIMES 5 = 21010 DATA 45 21020 DATA 40 21030 DATA 35 21040 DATA 50 21050 DATA 55
21100 DATA 9 TIMES 6 = 21110 DATA 54 21120 DATA 56 21130 DATA 59 21140 DATA 49 21150 DATA 44
21200 DATA 9 TIMES 7 = 21210 DATA 63 21220 DATA 67 21230 DATA 79 21240 DATA 69 21250 DATA 56
21300 DATA 9 TIMES 8 = 21310 DATA 72 21320 DATA 78 21330 DATA 79 21340 DATA 89 21350 DATA 98
21400 DATA 9 TIMES 9 = 21410 DATA 81 21420 DATA 72 21430 DATA 69 21440 DATA 79 21450 DATA 89
21600 DATA 9 TIMES 11 = 21610 DATA 99 21620 DATA 119 21630 DATA 109 21640 DATA 91 21650 DATA 89
21700 DATA 9 TIMES 12 = 21710 DATA 108 21720 DATA 112 21730 DATA 109 21740 DATA 92 21750 DATA 129
22100 DATA 10 TIMES 4 = 22110 DATA 40 22120 DATA 30 22130 DATA 20 22140 DATA 50 22150 DATA 60
22200 DATA 10 TIMES 5 = 22210 DATA 50 22220 DATA 40 22230 DATA 30 22240 DATA 60 22250 DATA 70
22300 DATA 10 TIMES 6 = 22310 DATA 60 22320 DATA 50 22330 DATA 40 22340 DATA 70 22350 DATA 80
22400 DATA 10 TIMES 7 = 22410 DATA 70 22420 DATA 60 22430 DATA 50 22440 DATA 80 22450 DATA 90
22500 DATA 10 TIMES 8 = 22510 DATA 80 22520 DATA 90 22530 DATA 70 22540 DATA 60 22550 DATA 108
22600 DATA 10 TIMES 9 = 22610 DATA 90 22620 DATA 99 22630 DATA 109 22640 DATA 89 22650 DATA 80
22800 DATA 10 TIMES 11 = 22810 DATA 110 22820 DATA 120 22830 DATA 111 22840 DATA 101 22850 DATA 100
22900 DATA 10 TIMES 12 = 22910 DATA 120 22920 DATA 110 22930 DATA 112 22940 DATA 121 22950 DATA 130
22960 '*****
23300 DATA 11 TIMES 4 = 23310 DATA 44 23320 DATA 33 23330 DATA 22 23340 DATA 55 23350 DATA 66
23400 DATA 11 TIMES 5 = 23410 DATA 55 23420 DATA 45 23430 DATA 35 23440 DATA 65 23450 DATA 75
23500 DATA 11 TIMES 6 = 23510 DATA 66 23520 DATA 61 23530 DATA 116 23540 DATA 67 23550 DATA 76
23600 DATA 11 TIMES 7 = 23610 DATA 77 23620 DATA 71 23630 DATA 117 23640 DATA 67 23650 DATA 87
23700 DATA 11 TIMES 8 = 23710 DATA 88 23720 DATA 118 23730 DATA 81 23740 DATA 98 23750 DATA 108
23800 DATA 11 TIMES 9 = 23810 DATA 99 23820 DATA 100 23830 DATA 109 23840 DATA 119 23850 DATA 91
24000 DATA 11 TIMES 11 = 24010 DATA 121 24020 DATA 111 24030 DATA 131 24040 DATA 122 24050 DATA 112
24100 DATA 11 TIMES 12 = 24110 DATA 132 24120 DATA 122 24130 DATA 112 24140 DATA 142 24150 DATA 121
24500 DATA 12 TIMES 4 = 24510 DATA 48 24520 DATA 44 24530 DATA 42 24540 DATA 56 24550 DATA 46
24600 DATA 12 TIMES 5 = 24610 DATA 60 24620 DATA 55 24630 DATA 50 24640 DATA 65 24650 DATA 70
24700 DATA 12 TIMES 6 = 24710 DATA 72 24720 DATA 76 24730 DATA 62 24740 DATA 66 24750 DATA 78
24800 DATA 12 TIMES 7 = 24810 DATA 84 24820 DATA 72 24830 DATA 77 24840 DATA 87 24850 DATA 82
24900 DATA 12 TIMES 8 = 24910 DATA 96 24920 DATA 98 24930 DATA 92 24940 DATA 128 24950 DATA 84
24960 '*****
25000 DATA 12 TIMES 9 = 25010 DATA 108 25020 DATA 129 25030 DATA 92 25040 DATA 102 25050 DATA 109
25200 DATA 12 TIMES 11 = 25210 DATA 132 25220 DATA 121 25230 DATA 112 25240 DATA 122 25250 DATA 141
25300 DATA 12 TIMES 12 = 25310 DATA 144 25320 DATA 132 25330 DATA 122 25340 DATA 156 25350 DATA 154
25400 '* 25410 ' 25420 ' END OF DATA LIST 25430 ' 25440 '
27500 ' 27510 ' 27520 ' STANDARD BASIC QUIZ GAMES 27530 ' INITIALIZATION ROUTINE 27540 ' 27550 '
27600 CLS
27610 PRINT 27620 PRINT " LOADING THE SYSTEM" 27630 PRINT " PLEASE WAIT" 27640 PRINT
27650 'RANDOMIZATION ARRAYS 27660 DIM R1(5) 27670 DIM R2(4) 27680 DIM RR(4)
27690 'SCRAMBLE CODES ARRAY 27700 DIM S(24,4)
27710 'RANDOMIZE THE RND FUNCTION 27720 R = RND(-TIMER)
27800 'INITIALIZE THE SCRAMBLE CODES
27810 S(0,0) = 0 27820 S(0,1) = 1 27830 S(0,2) = 2 27840 S(0,3) = 3
27850 S(1,0) = 0 27860 S(1,1) = 1 27870 S(1,2) = 3 27880 S(1,3) = 2
27890 S(2,0) = 0 27900 S(2,1) = 2 27910 S(2,2) = 1 27920 S(2,3) = 3
27930 S(3,0) = 0 27940 S(3,1) = 2 27950 S(3,2) = 3 27960 S(3,3) = 1
27970 S(4,0) = 0 27980 S(4,1) = 3 27990 S(4,2) = 1 28000 S(4,3) = 2
28010 S(5,0) = 0 28020 S(5,1) = 3 28030 S(5,2) = 2 28040 S(5,3) = 1
28050 S(6,0) = 1 28060 S(6,1) = 0 28070 S(6,2) = 2 28080 S(6,3) = 3
28090 S(7,0) = 1 28100 S(7,1) = 0 28110 S(7,2) = 3 28120 S(7,3) = 2
28130 S(8,0) = 1 28140 S(8,1) = 2 28150 S(8,2) = 0 28160 S(8,3) = 3
28170 S(9,0) = 1 28180 S(9,1) = 2 28190 S(9,2) = 3 28200 S(9,3) = 0
28210 S(10,0) = 1 28220 S(10,1) = 3 28230 S(10,2) = 0 28240 S(10,3) = 2
28250 S(11,0) = 1 28260 S(11,1) = 3 28270 S(11,2) = 2 28280 S(11,3) = 0
28290 S(12,0) = 2 28300 S(12,1) = 0 28310 S(12,2) = 1 28320 S(12,3) = 3
28330 S(13,0) = 2 28340 S(13,1) = 0 28350 S(13,2) = 3 28360 S(13,3) = 1
28370 S(14,0) = 2 28380 S(14,1) = 1 28390 S(14,2) = 0 28400 S(14,3) = 3
28410 S(15,0) = 2 28420 S(15,1) = 1 28430 S(15,2) = 3 28440 S(15,3) = 0
28450 S(16,0) = 2 28460 S(16,1) = 3 28470 S(16,2) = 0 28480 S(16,3) = 1
28490 S(17,0) = 2 28500 S(17,1) = 3 28510 S(17,2) = 1 28520 S(17,3) = 0
28530 S(18,0) = 3 28540 S(18,1) = 0 28550 S(18,2) = 1 28560 S(18,3) = 2
28570 S(19,0) = 3 28580 S(19,1) = 0 28590 S(19,2) = 2 28600 S(19,3) = 1
28610 S(20,0) = 3 28620 S(20,1) = 1 28630 S(20,2) = 0 28640 S(20,3) = 2
28650 S(21,0) = 3 28660 S(21,1) = 1 28670 S(21,2) = 2 28680 S(21,3) = 0
28690 S(22,0) = 3 28700 S(22,1) = 2 28710 S(22,2) = 0 28720 S(22,3) = 1
28730 S(23,0) = 3 28740 S(23,1) = 2 28750 S(23,2) = 1 28760 S(23,3) = 0
28770 RETURN
28780 '* 28790 ' 28800 ' END INITIALIZATION 28810 ' 28820 '
29500 '* 29510 ' 29520 ' DISPLAY THE STANDARD 29530 ' BASIC QUIZ GAMES 29540 ' SPLASH SCREEN 29550 ' 29560 '
29600 CLS
29610 'LINES 0 AND 1 ARE BLANK GREEN
29620 'DISPLAY UNIFORM STANDARD LINE 2 29630 SD$ = CHR$(32) + CHR$(158) 29640 FOR I = 0 TO 27 29650 SD$ = SD$ + CHR$(156) 29660 NEXT I 29670 SD$ = SD$ + CHR$(157) + CHR$(32) 29680 @.***, SD$
29690 'DISPLAY UNIFORM STANDARD LINE 3 29700 SD$ = CHR$(32) + CHR$(154) + CHR$(206) 29710 FOR I = 0 TO 25 29720 SD$ = SD$ + CHR$(204) 29730 NEXT I 29740 SD$ = SD$ + CHR$(205) + CHR$(149) + CHR$(32) 29750 @.***, SD$
29760 'DISPLAY UNIFORM STANDARD LINE 4 29770 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 29780 FOR I = 0 TO 25 29790 SD$ = SD$ + CHR$(32) 29800 NEXT I 29810 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 29820 @.***, SD$
29830 'DISPLAY SPECIFIC STANDARD LINE 5 29840 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 29850 ' CHANGE NEXT LINE AS REQUIRED: 29860 SD$ = SD$ + " MULTIPLICATION TABLES " 29870 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 29880 @., SD$
29890 'DISPLAY SPECIFIC STANDARD LINE 6 29900 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 29910 ' CHANGE NEXT LINE AS REQUIRED: 29920 SD$ = SD$ + " QUIZ GAME " 29930 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 29940 @., SD$
29950 'DISPLAY UNIFORM STANDARD LINE 7 29960 SD$ = CHR$(32) + CHR$(154) + CHR$(202) 29970 FOR I = 0 TO 25 29980 SD$ = SD$ + CHR$(32) 29990 NEXT I 30000 SD$ = SD$ + CHR$(197) + CHR$(149) + CHR$(32) 30010 @.***, SD$
30020 'DISPLAY UNIFORM STANDARD LINE 8 30030 SD$ = CHR$(32) + CHR$(154) + CHR$(203) 30040 FOR I = 0 TO 25 30050 SD$ = SD$ + CHR$(195) 30060 NEXT I 30070 SD$ = SD$ + CHR$(199) + CHR$(149) + CHR$(32) 30080 @.***, SD$
30090 'DISPLAY UNIFORM STANDARD LINE 9 30100 SD$ = CHR$(32) + CHR$(155) 30110 FOR I = 0 TO 27 30120 SD$ = SD$ + CHR$(147) 30130 NEXT I 30140 SD$ = SD$ + CHR$(151) + CHR$(32) 30150 @.***, SD$
30160 'LINE 10 IS BLANK GREEN
30170 'DISPLAY UNIFORM STANDARD LINE 11 30180 @.***, " PRESS ANY KEY TO CONTINUE "
30190 'LINES 12 AND 13 ARE BLANK GREEN
30200 'DISPLAY SPECIFIC STANDARD LINE 14 30210 ' CHANGE THE YEAR AS REQUIRED 30220 @., " BDS SOFTWARE 2022 ";
30230 'LINE 15 IS BLANK GREEN
30240 A$ = INKEY$ 30250 IF A$="" GOTO 30240
30260 RETURN
30270 '* 30280 ' 30290 ' END SPLASH SCREEN 30300 ' 30310 '
32767 END
Hi David, thanks, I'll see if I can reproduce the problem this weekend. It sounds like a problem I was seeing where certain tokens, for whatever reason, take more CPU cycles to enter. Looks like I might have to slow down the paste function some. -Jim
Oh, I see. As the memory starts to get full, it takes longer to enter new lines. I started to notice problems around line 29000. But if I enter 'NEW' and then paste that same section again, it works fine. This is a good test, thanks. I'll see if I can come up with a solution for the next release... hopefully without slowing it down too much. -Jim
Hi David, I think I have it fixed. As the memory fills up on a long program, it just needs a little more time to process when it detects a carriage return. I'm able to paste in both versions of your program, with no missing lines. It still gets the Out of Memory error when it hits the DIM statement, but the splash screen works fine. The fix should be in the next release. -Jim
fix is in commit 595aa05
I have found what appears to be a rather interesting bug in VCC.
Attached is my (somewhat lengthy) MULTIPLY.BAS as an ASCII text file.
I SELECT ALL and then CTRL-C in my text editor and then go to VCC and:
When I then "RUN" I get:
or sometimes at 30060.
Upon a LIST 29000-30130, I discover that several lines are missing from the listing; specifically (at least) Lines 29910-29940, 29970-30010, and 30040-30110.
I suspect this error may be caused by the length of my code, but I'm not exactly sure how or why.
I would appreciate your thoughts on this.
Additional note: I sent this direct to Bill Pierce with MULTIPLY.BAS attached. The file exhibited some strange behavior which I think may have been caused by sending it via Microsoft Outlook. I have attached its MULTIPLY.txt equivalent (both are actually the same plain ASCII text file despite the difference in name). MULTIPLY.txt